在Windows中编译CUDA代码的好方法是什么?
我尝试了不同的方式,使用nvcc命令链接Visual Studio并从命令行编译。
visual studio的问题。我在网上找到了大部分用于编译的链接,但我仍然无法编译简单的程序。
nvcc的问题。找不到路径windows.h。我尝试在nvcc.profile中添加Visual Studio的include路径,但它不起作用?
有没有人有这方面的好解决方案?
我正在使用CUDA 4.2和visual studio 2010。
答案 0 :(得分:3)
这是我的建议。您可以通过Visual Studio获取其他人用于设置CUDA的方法。但是每次nVidia发布新工具包或者你更新到下一个Visual Studio时,你都会再次经历它。几乎总是因为其中一个供应商不能单独留下(或者他们确实有充分的理由;它可能发生)决定改变路径。
所以我的建议是从命令行使用nvcc
,直到你理解了所有的依赖关系。然后,您可以轻松设置IDE。每次出现新的CUDA时,我都会回到命令行,确保我仍然可以构建,发现任何路径更改,工具更改等。一旦我理解,我就会更新我的IDE设置。
答案 1 :(得分:0)
我遇到了同样的问题。这是一个简单的解决方案。
CUDA(GPU计算SDK)的示例正确运行(您应该已经安装了Nvidia GPU计算SDK)。打开开始菜单,然后输入"浏览CUDA SDK"在文本框中(希望你使用win vista或七)。
示例位于 src 文件夹中。此文件夹中的示例在VS 2005,VS 2008和VS 2010中都有解决方案。它们具有此解决方案和项目中设置的所有初始设置,您可以复制其中一个示例并清理代码并运行您自己的代码。唯一的问题是他们的设置文件是在本地寻址的(例如../../common/lib/
)。因此,您应该在 src 文件夹中运行项目。
此外,CUDA 4.0和4.1在Visual Studio的新项目向导中有一个CUDA Runtime选项。这很棒,我不知道为什么他们在4.2上取消了这个选项。如果您无法运行CUDA 4.2,那么CUDA 4.1是一个不错的选择。 (您可以安装Nvidia GPU SDK 4.1然后将其卸载,Visual Studio optin将保留并正常工作)
另一种选择是创建一个空白项目并使用此配置(它适用于CUDA 4.0,计算机中的地址可能不同):
新 - >项目 - > Win32控制台应用程序
姓名:" HelloCuda" - >好的 - >下一步 - >空项目 - >完成
右键单击项目HelloCuda - >构建自定义
单击“查找现有”并导航到“CUDA 4.0.targets”
C:\ PROGRAMFILES \的MSBuild \ Microsoft.Cpp \ V4。 0 \ BuildCustomizations \ CUDA 4.0.targets
现在创建一个文本文件并将其保存为带有.cu扩展名
的HelloWorld现在你将有一个文件HelloWorld.cu
将此文件添加到项目HelloCuda
右键单击HelloWorld.cu - >配置属性 - >一般 - >项目类型 - > CUDA C / C ++
现在右键单击项目HelloCuda - >配置属性 - > CUDA C / C ++ - >常见 - >其他包含目录
添加C:\ Users \ All Users \ Application Data \ NVIDIA Corporation \ NVIDIA GPU Computing SDK 4.0 \ C \ common \ inc;
现在右键单击项目HelloCuda - >配置属性 - >链接器 - >一般 - >其他图书馆馆藏
添加C:\ Users \ All Users \ Application Data \ NVIDIA Corporation \ NVIDIA GPU Computing SDK 4.0 \ C \ common \ lib;
链接器 - >输入 - >附加依赖性 - > cudart.lib
现在在HelloWorld.cu和Compile中编写一个示例CUDA C程序。