2011-09-06 94 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