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

标签 cuda

我主要准备进行 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/

相关文章:

c++ - 你如何遍历倾斜的 CUDA 数组?

c++ - 内核调用产生错误 "error: a host function call cannot be configured"。调用有什么问题?

cuda - 在GPU上什么更快?将 bool 类型转换为int或使用分支语句?

opengl - CUDA OpenGL 互操作,资源映射弄乱了缓冲区

visual-studio - Visual Studio 2017 未检测到 .cu (CUDA) 文件中的更改

c++ - 无法在 Windows 10 上安装的 Cuda 工具包 v7.5 上找到 deviceQuery

c++ - 在同一全局内存位置并发写入

cuda - 为什么我们必须传递一个指向 cudaMalloc 的指针

c++ - cudaHostAllocMapped 是否也在设备上分配缓冲区?

cuda - 如何在CUDA内核函数中获取数组的大小?