如何在Windows上轻松编译CUDA代码?

时间:2012-07-25 15:19:09

标签: visual-studio-2010 cuda

在Windows中编译CUDA代码的好方法是什么?

我尝试了不同的方式,使用nvcc命令链接Visual Studio并从命令行编译。

visual studio的问题。我在网上找到了大部分用于编译的链接,但我仍然无法编译简单的程序。

nvcc的问题。找不到路径windows.h。我尝试在nvcc.profile中添加Visual Studio的include路径,但它不起作用?

有没有人有这方面的好解决方案?

我正在使用CUDA 4.2和visual studio 2010。

2 个答案:

答案 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程序。