已经解决。我仍然不知道为什么发生了( 也许是因为没有使用像罗伯特。com这样的正式的官方编译器),但是替换了这两个命令作为一个程序:
nvcc -o kernel.dll --shared kernel.cu
注意双击( nvcc以此方式工作),以及直接创建一个 .o
而不是创建第一个,然后从对象创建 DLL 。
为了从外部C 程序中使用这个库,我想从一个CUDA代码( kernel.cu
kernel.h
我尝试首先使用
它工作正常并生成
编译为:
当执行开始时产生内存访问错误。 但是,如果我在. c ( 因为它只是C 代码) 中重命名. cu 文件,使用相同的命令,它就。 nvcc的输出更改,因为我知道,因为它使用默认的C 编译器而不是使用ipqos一个。 你觉得这跟nvcc有什么关系? 还是我在犯错误? :我忘了一些可能重要的信息。 在 G++ ( 创建dll时) 第一次调用时出现警告,它们不同于. cu. c 或者. cpp. 光标
而且它不工作。 cpp和。c
而且它。 【Note】 已经解决。我仍然不知道为什么发生了( 也许是因为没有使用像罗伯特。com这样的正式的官方编译器),但是替换了这两个命令作为一个程序:
注意双击( nvcc以此方式工作),以及直接创建一个 |
|
来自: LibraryPKU > 《GPU并行计算》