2011-09-06 60 views
7

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

+0

看看@ http://stackoverflow.com/questions/3756464/cuda-without-cuda-enabled-gpu –

回答

7

有几种可能性:

  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编程的一些基本技能,但是当你编写一些真实世界的应用程序时,它是无用的,因为它不允许你调试和调整性能。

+0

使用2.3的缺点是什么?我几乎只需要CUDA就可以进行线性代数运算。如果我仍然可以使用2.3版本,那么我会做到这一点。 – lezebulon

+1

2.3工具包附带的cuBLAS(用于CUDA的BLAS库)实现的功能非常少(参见[2.3手册](http://developer.download.nvidia.com/compute/cuda/2_3/toolkit/docs/CUBLAS_Library_2.3.pdf )vs [4.0 manual](http://developer.download.nvidia.com/compute/DevZone/docs/html/CUDALibraries/doc/CUBLAS_Library.pdf))。另外,我还没有发现[CULA](http://www.culatools.com/)是否在仿真器上运行的任何信息。另外,2.3可能只支持旧版本的gcc/icc,并且有一些bug。但是,CUDA的所有基本特征都在2.3中。 – aland

+0

好的谢谢!这是否意味着我可以在4.0版本上编译和运行版本2.3创建的代码,而无需更改任何内容? – lezebulon