已經(jīng)解決。我仍然不知道為什么發(fā)生了( 也許是因?yàn)闆](méi)有使用像羅伯特。com這樣的正式的官方編譯器),但是替換了這兩個(gè)命令作為一個(gè)程序:
nvcc -o kernel.dll --shared kernel.cu
注意雙擊( nvcc以此方式工作),以及直接創(chuàng)建一個(gè) .o
而不是創(chuàng)建第一個(gè),然后從對(duì)象創(chuàng)建 DLL 。
為了從外部C 程序中使用這個(gè)庫(kù),我想從一個(gè)CUDA代碼( kernel.cu
kernel.h
我嘗試首先使用
它工作正常并生成
編譯為:
當(dāng)執(zhí)行開(kāi)始時(shí)產(chǎn)生內(nèi)存訪問(wèn)錯(cuò)誤。 但是,如果我在. c ( 因?yàn)樗皇荂 代碼) 中重命名. cu 文件,使用相同的命令,它就。 nvcc的輸出更改,因?yàn)槲抑?,因?yàn)樗褂媚J(rèn)的C 編譯器而不是使用ipqos一個(gè)。 你覺(jué)得這跟nvcc有什么關(guān)系? 還是我在犯錯(cuò)誤? :我忘了一些可能重要的信息。 在 G++ ( 創(chuàng)建dll時(shí)) 第一次調(diào)用時(shí)出現(xiàn)警告,它們不同于. cu. c 或者. cpp. 光標(biāo)
而且它不工作。 cpp和。c
而且它。 【Note】 已經(jīng)解決。我仍然不知道為什么發(fā)生了( 也許是因?yàn)闆](méi)有使用像羅伯特。com這樣的正式的官方編譯器),但是替換了這兩個(gè)命令作為一個(gè)程序:
注意雙擊( nvcc以此方式工作),以及直接創(chuàng)建一個(gè) |
|
來(lái)自: LibraryPKU > 《GPU并行計(jì)算》