2

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

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

视觉工作室的问题。我按照大多数链接进行编译,在互联网上找到,但我仍然无法编译简单的程序。

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

有没有人对此有很好的解决方案?

我正在使用 CUDA 4.2 和 Visual Studio 2010。

4

2 回答 2

4

这是我的建议。您可以获取其他人使用 Visual Studio 设置 CUDA 的秘诀。但每次 nVidia 发布新工具包或您更新到下一个 Visual Studio 时,您都将重新经历一遍。几乎总是因为其中一个供应商不能很好地独自离开(或者他们确实有充分的理由;它可能会发生)决定改变路径。

所以我的建议是nvcc从命令行使用,直到你了解所有依赖项。然后你就可以毫无问题地设置你的 IDE。每次新的 CUDA 出现时,我都会返回命令行并确保我仍然可以构建、发现任何路径更改、工具更改等。一旦我理解了,我就会更新我的 IDE 设置。

于 2012-07-26T17:53:22.807 回答
0

我有同样的问题。这是简单的解决方案。

CUDA(GPU Computing SDK)的例子运行正常(你应该已经安装了Nvidia GPU Computing SDK)。打开开始菜单,在文本框中输入“Browse CUDA SDK”(希望你使用win vista 或7)。

示例位于src文件夹中。此文件夹中的示例在 VS 2005、VS 2008 和 VS 2010 中有解决方案。它们在此解决方案和项目中设置了所有初始设置,您可以复制其中一个示例并清理代码并运行您自己的代码。唯一的问题是它们的设置文件是在本地处理的(例如../../common/lib/)。所以你应该在那个src文件夹中运行你的项目。

CUDA 4.0 和 4.1 在 Visual Studio 的新建项目向导中也有一个 CUDA 运行时选项。那太好了,我不知道他们为什么在 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 中编写一个示例 CUDA C 程序并编译。

于 2012-07-29T21:04:10.043 回答