【问题标题】:Running CUDA programs on non CUDA machines在非 CUDA 机器上运行 CUDA 程序
【发布时间】:2012-04-03 11:17:07
【问题描述】:

我正在尝试在我的计算机上运行 CUDA 代码。我没有Nvidia显卡。我只是想尝试模拟它以检查我的代码是否正确,然后再检查并行化结果。

我在我的计算机上安装了 CUDA 工具包和 CUDA SDK。 我正在尝试使用 Visual Studio 2010 进行设置。 但是当我在 SDK 中运行示例程序时,会出现以下错误:

C:\ProgramData\NVIDIA Corporation\NVIDIA GPU 计算 SDK 4.0\C\src\eigenvalues\eigenvalues_vs2010.vcxproj:错误:导入的项目“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 4.0.props" 没有找到。确认声明中的路径是 正确,并且该文件存在于磁盘上。 C:\ProgramData\NVIDIA 公司\NVIDIA GPU计算SDK 4.0\C\src\eigenvalues\eigenvalues_vs2010.vcxproj

C:\ProgramData\NVIDIA Corporation\NVIDIA GPU 计算 SDK 4.0\C\common\cutil_vs2010.vcxproj:错误:导入的项目“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 4.0.props" 没有找到。确认声明中的路径是 正确,并且该文件存在于磁盘上。 C:\ProgramData\NVIDIA Corporation\NVIDIA GPU计算SDK 4.0\C\common\cutil_vs2010.vcxproj

无法启动程序 C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\shared\lib\Win32\shrUtils32D.lib 指定文件 是一种无法识别或不受支持的二进制格式。

谁能帮我解决这个错误。

【问题讨论】:

标签: visual-studio-2010 cuda


【解决方案1】:

检查这些页面:

How to emulate CUDA on windows

GPU Emulator for CUDA programming without the hardware

我自己更喜欢使用 openCL。

【讨论】:

    【解决方案2】:

    这里有两个问题。

    您看到的前两个错误实际上是 Visual Studio 未找到您的项目使用的生成自定义文件的结果。这些构建自定义是对 Visual Studio 的便捷补充,可让您轻松地将 CUDA 源添加到您的项目中,而无需手动设置构建规则来调用 NVCC。

    我不记得 CUDA 4.0 是否是这种情况,但在 4.1 中,这些是随 CUDA Toolkit 自动安装的。 (我记得在一些早期版本中我手动设置了这个,所以检查你的文档看看是否有必要)你确定你安装了这个工具包吗? (在您的情况下适用于 CUDA 4.0)

    最后一个错误实际上是由于您没有尝试从 Visual Studio 中运行可执行文件,而是尝试从静态库中运行。当然这不起作用,所以它会抱怨无法识别的二进制格式。如果要从 Visual Studio 中运行特定的可执行文件,请确保将其项目设置为启动项目。您可以通过右键单击特定项目并选择“设置为启动项目”来执行此操作。

    但是,即使您解决了这些错误,您仍然无法在没有 Nvidia 显卡的情况下运行这些 CUDA 示例。以前 3.x CUDA 版本中的模拟器不再是 CUDA 的一部分。一个可能的解决方案是使用Ocelot,但如果您只是刚开始,那可能有点多。

    【讨论】:

      猜你喜欢
      • 2015-08-11
      • 2010-09-19
      • 2021-11-28
      • 2021-04-20
      • 2023-03-25
      • 2016-03-09
      • 1970-01-01
      • 2012-06-15
      • 2018-12-27
      相关资源
      最近更新 更多