【问题标题】:How to emulate CUDA on windows如何在 Windows 上模拟 CUDA
【发布时间】:2011-09-06 15:01:15
【问题描述】:

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

【问题讨论】:

标签: cuda


【解决方案1】:

有几种可能:

  1. 使用旧版本的 CUDA,它有内置的模拟器(2.3 肯定有)。模拟器远非好,而且你不会拥有最新 CUDA 版本的功能。
  2. 使用 OpenCL,它可以在 CPU 上运行(尽管不能使用 nVidia SDK,您必须安装 AMD 或 Intel OpenCL 实现(AMD 在 Intel CPU 上运行良好,顺便说一句))。根据我的经验,OpenCL 通常比 CUDA 慢。
  3. Ocelot模拟器有windows分支:http://code.google.com/p/gpuocelot/。不过我还没试过。

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

【讨论】:

  • 使用 2.3 的缺点是什么?我几乎只需要 CUDA 来进行线性代数运算。如果我仍然可以使用 2.3 版本,那么我会这样做。
  • cuBLAS(用于 CUDA 的 BLAS 库)随 2.3 工具包实现了很少的功能(参见 2.3 manual4.0 manual)。另外,我还没有找到CULA 是否在模拟器上运行的任何信息。此外,2.3 可能只支持旧版本的 gcc/icc,并且有一些错误。但是,CUDA 的所有基本功能都在 2.3 中提供。
  • 好的,谢谢!是否也意味着我可以在 4.0 版本上编译运行 2.3 版本的代码而无需做任何更改?
  • 很可能是的。但是,如果您的内核超过 10 行代码,从模拟器迁移到真正的 GPU 可能会比从 2.3 迁移到 4.0 带来更多的麻烦。
  • 对不起,我不清楚我只是指 cuBLAS。例如,如果我编写一些依赖于旧 cuBLAS 版本的函数,我是否可以保证它在 1) 4.0 版和 2) 真正的 GPU 上运行相同?谢谢
猜你喜欢
  • 2010-11-09
  • 1970-01-01
  • 1970-01-01
  • 2010-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
相关资源
最近更新 更多