【问题标题】:How to create 64-bit CUDA applications? (Win7 x64, CUDA 4, VS 2010 Express)如何创建 64 位 CUDA 应用程序? (Win7 x64, CUDA 4, VS 2010 Express)
【发布时间】: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


【解决方案1】:

express版不行,(不支持插件)除非你想手动设置nvcc,用记事本写cu文件,我非常喜欢VS集成。

【讨论】:

    【解决方案2】:

    您可以检查 .cu 文件的主机编译器属性是否设置为 64 位。 右键单击“Code.cu”文件,然后单击“属性”。 展开“CUDA C/C++”项并选择“Common”。 将“目标机器平台”更改为 64 位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-04
      • 2010-12-24
      • 2011-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      相关资源
      最近更新 更多