我主要准备进行 CUDA 开发。我已经安装了开发人员驱动程序、CUDA 4.0 工具包和 4.0 SDK 以及错误修复程序。我运行的是 Windows 7 x64,并使用 Visual C++ 2010 Express。对于 32 位应用程序,我执行以下步骤,我的 CUDA 应用程序可以正常工作。
- 创建新的空项目
- 确保平台工具集设置为 v100(通常是默认值)
- 检查项目的 CUDA 4.0 构建自定义
- 将 .cu 文件的项目类型设置为 CUDA C/C++
- 将“cudart.lib”添加到“属性”->“链接器”->“输入”->“其他依赖项”
我还可以运行非 CUDA 64 位应用程序。 Visual C++ 2010 Express 不会自动附带 64 位依赖项,因此我必须安装带有 .NET Framework 4.0 的 Windows 7.1 SDK。然后我只需将 VC++ 项目的平台工具集设置为 Windows7.1SDK,将 Active 解决方案平台更改为 x64,就可以了。
但是,我似乎无法同时执行这两项操作 - 我无法创建 64 位 CUDA 应用程序。如果我将 CUDA 应用程序的平台工具集更改为 Windows7.1SDK,无论事件解决方案平台是 x64 还是 Win32,我都会收到编译错误,nvcc.exe 退出,代码为 -1。如果我将平台工具集设置为 v100 并将事件解决方案平台更改为 x64,则会收到编译错误“ fatal error LNK1104:无法打开文件“kernel32.lib”。唯一有效的组合是 v100 和 Win32,显然这会阻止我运行 64 位应用程序。
是否有我在网上找不到的启用此功能的程序?有什么想法或建议吗?感谢您抽出时间。
最佳答案
在 Express 版本中不可能,(不支持插件)除非你想手动设置 nvcc,并使用记事本编写 cu 文件,我非常喜欢 VS 集成。
关于cuda - 如何创建 64 位 CUDA 应用程序? (Win7 x64、CUDA 4、VS 2010 Express),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7693415/