在非CUDA计算机上运行CUDA程序

时间:2012-03-18 21:00:13

标签: visual-studio-2010 cuda

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

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

  

C:\ ProgramData \ NVIDIA Corporation \ NVIDIA GPU Computing 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_vs2010.vcxproj

     

C:\ ProgramData \ NVIDIA Corporation \ NVIDIA GPU Computing 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   公司\ NVIDIA GPU计算SDK 4.0 \ C \ common \ cutil_vs2010.vcxproj

     

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

有人可以帮我解决这个错误。

2 个答案:

答案 0 :(得分:4)

检查这些页面:

How to emulate CUDA on windows

GPU Emulator for CUDA programming without the hardware

我自己更喜欢使用openCL。

答案 1 :(得分:1)

这里有两个问题。

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

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

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

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