【发布时间】:2011-12-03 08:27:04
【问题描述】:
我主要是为 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++项目的Platform Toolset设置为Windows7.1SDK,将Active solution platform改为x64,就可以了。
但是,我似乎无法同时执行这两项操作 - 我无法创建 64 位 CUDA 应用程序。如果我将 CUDA 应用程序的 Platform Toolset 更改为 Windows7.1SDK,无论 Active 解决方案平台是 x64 还是 Win32,我都会收到 nvcc.exe 以代码 -1 退出的编译错误。如果我将平台工具集设置为 v100 并将活动解决方案平台更改为 x64,我会收到编译错误“致命错误 LNK1104:无法打开文件 'kernel32.lib'。唯一有效的组合是 v100 和 Win32,显然这使我无法运行 64 位应用程序。
是否有启用此功能的程序,但我无法在网上找到?有什么想法或建议吗?感谢您的宝贵时间。
【问题讨论】:
-
您是否安装了 64 位 CUDA Toolkit 和 64 位 CUDA SDK?如果是这样,您是否能够为 x64 构建和运行 SDK 示例?
-
我确实安装了 Toolkit 和 SDK 的 64 位版本。我没有尝试运行示例,我一直在运行我自己的代码 - 但我会尝试这些示例。
标签: cuda