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