我正在尋找有關CUDA項目的入門幫助。我的目標是建立一個可以在本地g ++編譯器中編譯的項目,但使用CUDA代碼。我知道我必須在nvcc編譯器中編譯我的CUDA代碼,但從我的理解中,我可以以某種方式將CUDA代碼編譯爲cubin文件或ptx文件。如何編譯CUDA代碼然後將其鏈接到C++項目?
這裏是我的問題:
- 如何使用NVCC編譯成的cubin文件或文件PTX?我不需要一個-c或什麼?
- 我想使用哪種文件類型?
- 正確編譯和鏈接項目的g ++命令是什麼?
假設如下:
- 我有一個名爲「main.cpp的」,在它有一個主要功能,包括cuda.h.文件
- 我有另一個名爲「cudaFunc.cu」的文件,其中包含CUDA代碼。比方說,我想添加兩個存在於main.cpp中的整型數組。
你還可以提供你測試過的最小'.cu'和'.cpp'文件嗎?對使用的包括cpp感到好奇,特別是如何從'.cu'中看到內核'__global__'函數。 – 2017-04-09 09:36:16
小心點,您的乾淨目標將刪除所有以'o'結尾的文件。你可能想要'clean:rm -rf * .o程序' – gerowam 2017-07-21 12:25:47
謝謝[Matthew](https://stackoverflow.com/users/1226843/matthew),這非常有幫助。 – SRG 2017-10-19 11:33:18