如何在windows上模拟CUDA

如何在windows上模拟CUDA,cuda,Cuda,有什么方法可以在没有NVIDIA图形卡的计算机上测试CUDA样本和代码吗? 我正在使用Windows和CUDA的最新版本 有几种可能性: 使用CUDA的旧版本,它有内置的仿真器(2.3版本肯定有)。Emulator还远远不够好,而且您不会拥有最新CUDA版本的功能 使用OpenCL,它可以在CPU上运行(虽然不使用nVidia SDK,但您必须安装AMD或英特尔OpenCL实现(AMD在英特尔CPU上运行良好,顺便说一句))。根据我的经验,OpenCL通常比CUDA稍慢一些 存在Ocelot e

有什么方法可以在没有NVIDIA图形卡的计算机上测试CUDA样本和代码吗?
我正在使用Windows和CUDA的最新版本

有几种可能性:

  • 使用CUDA的旧版本,它有内置的仿真器(2.3版本肯定有)。Emulator还远远不够好,而且您不会拥有最新CUDA版本的功能
  • 使用OpenCL,它可以在CPU上运行(虽然不使用nVidia SDK,但您必须安装AMD或英特尔OpenCL实现(AMD在英特尔CPU上运行良好,顺便说一句))。根据我的经验,OpenCL通常比CUDA稍慢一些
  • 存在Ocelot emulator的windows分支:。不过我还没试过

  • 不过,我建议您购买一些CUDA功能卡。8xxx或9xxx系列还可以,而且非常便宜。仿真可以让您获得一些GPGPU编程的基本技能,但在编写一些实际应用程序时却毫无用处,因为它不允许您调试和调整性能。

    看看@使用2.3的缺点是什么?我几乎只需要CUDA就可以做线性代数运算。如果我仍然可以使用2.3版本来实现,那么我会这样做。2.3工具包附带的cuBLAS(用于CUDA的BLAS库)实现的功能很少(请参见vs)。另外,我还没有找到任何关于是否在模拟器上运行的信息。此外,2.3可能只支持gcc/icc的旧版本,并且有一些bug。但是,CUDA的所有基本功能都出现在2.3中。好的,谢谢!这是否意味着我可以在4.0版本上编译和运行由2.3版生成的代码,而无需进行任何更改?很可能是的。然而,如果您的内核超过10行代码,那么从emulator迁移到真实的GPU可能会比从2.3迁移到4.0带来更多的麻烦。对不起,我不清楚我只是指cuBLAS。例如,如果我编写一些依赖于旧版cuBLAS的函数,我是否可以保证它将在1)版本4.0和2)真正的GPU上运行相同的函数?谢谢