如何创建64位CUDA应用程序? (Win7 x64,CUDA 4,VS 2010 Express)

时间:2011-10-07 22:22:23

标签: cuda

我主要是为CUDA开发而设。我已经安装了开发人员驱动程序,CUDA 4.0工具包和4.0 SDK,以及错误修复程序。我正在运行Windows 7 x64,并且正在使用Visual C ++ 2010 Express。对于32位应用程序,我执行以下步骤,并且我的CUDA应用程序正常工作。

  • 创建新的空项目
  • 确保将Platform Toolset设置为v100(通常为默认值)
  • 检查项目的CUDA 4.0 Build Customization
  • 将我的.cu文件的项目类型设置为CUDA C / C ++
  • 将'cudart.lib'添加到Properties-> Linker-> Input-> Additional Dependencies

我也可以运行非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,无论Active解决方案平台是x64还是Win32,我都会收到nvcc.exe退出的编译错误,代码为-1。如果我将Platform Toolset设置为v100并将Active解决方案平台更改为x64,我会收到编译错误“致命错误LNK1104:无法打开文件'kernel32.lib'。唯一有效的组合是v100和Win32,显然这阻止我运行64位应用程序。

是否有启用此功能的程序,我无法在线查找?任何想法或建议?谢谢你的时间。

2 个答案:

答案 0 :(得分:2)

在快递版中不可能,(不支持插件),除非你想手动设置nvcc,并使用记事本来编写cu文件,我非常喜欢VS集成。

答案 1 :(得分:1)

您可以检查.cu文件的主机编译器属性是否设置为64位。 右键单击" Code.cu"文件并点击'属性'。 扩展" CUDA C / C ++"项目并选择" Common"。 改变"目标机器平台"到64位。