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



我主要是为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' to Properties->Linker->Input->Additional Dependencies

我也可以运行非cuda 64位应用程序。Visual c++ 2010 Express没有自动附带64位依赖项,所以我必须安装Windows 7.1 SDK w/. net Framework 4.0。然后我简单地将vc++项目的平台工具集设置为Windows7.1SDK,将活动解决方案平台更改为x64,然后我就可以开始了。

然而,我似乎不能同时做到这两点——我不能创建64位CUDA应用程序。如果我将CUDA应用程序的平台工具集更改为Windows7.1SDK,无论Active解决方案平台是x64还是Win32,我都会得到nvcc.exe以代码-1退出的编译错误。如果我将平台工具集设置为v100并将活动解决方案平台更改为x64,我会得到编译错误"致命错误LNK1104:无法打开文件'kernel32.lib'"。唯一有效的组合是v100和Win32,显然这阻止了我运行64位应用程序。

是否有一个程序来启用这个功能,我只是没有能够在网上找到?有什么想法或建议吗?感谢您的宝贵时间。

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

您可以检查.cu文件的主机编译器属性是否设置为64位。右键单击"代码"。然后单击"属性"。展开"CUDA C/c++"项,选择"Common"。将"Target Machine Platform"改为64位。

最新更新