我正在寻找帮助开始涉及CUDA的项目.我的目标是有一个项目,我可以在本机g ++编译器中编译,但使用CUDA代码.我知道我必须在nvcc编译器中编译我的CUDA代码,但根据我的理解,我可以以某种方式将CUDA代码编译成cubin文件或ptx文件.
这是我的问题:
假设如下:
Mat*_*hew 50
我能用几个不同的帖子解决我的问题,包括这些帖子.不要忘记,如果您使用64位机器链接到64位库!它接缝有点明显,但对于像我这样的小丑,这是我忘了的东西.这是我现在使用的make文件...如果你可以消化这个make文件,你应该能够做我想做的事情,这是cuda代码和其他G ++代码的单独编译.还要记住,你必须在某些版本上使用gcc,g ++编译器(我使用g ++ - 4.4并且它适用于我)无论如何,这里是make文件...
all: program
program: cudacode.o
g++ -o program -L/usr/local/cuda/lib64 -lcuda -lcudart main.cpp cudacode.o
cudacode.o:
nvcc -c -arch=sm_20 cudacode.cu
clean: rm -f *.o program
Run Code Online (Sandbox Code Playgroud)
希望你能看到我做的第一件事是使用nvcc编译器和-c选项编译cudacode(已保存为.cu)(另请注意,您可能希望删除-arch = sm_20).这创造了一个cudacode.o.然后我使用带有-o选项的g ++编译器并链接到lib64库并链接lcuda和lcudart文件以及编译我的main.cpp然后链接cudacode.o.希望这有助于某人!
har*_*ism 15
我对这个最近问题的回答可能描述了你需要什么.
另外两点说明:
我开始重复我的其他答案,所以我建议你只是阅读它.:)
Jea*_*lho 10
我发现将编译的cuda目标代码与g ++链接起来很麻烦.尝试编译它像这样:
all:
nvcc cudafile.cu mainfile.cpp -o executable
clean: rm -rf *.o
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63583 次 |
| 最近记录: |