2011-09-06 20 views
7

NVIDIAグラフィックカードを搭載していないコンピュータからCUDAサンプルとコードをテストする方法はありますか? 私はWindowsとCUDAの最新バージョンを使用しています。Windows上でCUDAをエミュレートする方法

+0

見てください@@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上でうまく動作します)、btw)をインストールする必要があります。私の経験上、OpenCLは通常であり、CUDAよりも少し遅いです。
  3. オシロスエミュレータの窓口は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マニュアル](http://developer.download.nvidia.com/compute/DevZone/docs/html/CUDALibraries/doc/CUBLAS_Library.pdf))。また、私は[CULA](http://www.culatools.com/)がエミュレータ上で動作するかどうかについての情報は見当たりませんでした。また、2.3ではgcc/iccの古いバージョンのみをサポートしているかもしれませんし、いくつかのバグがあります。しかし、CUDAの基本機能はすべて2.3にあります。 – aland

+0

ありがとう!また、何も変更することなくバージョン2.3で作成されたコードを4.0バージョンでコンパイルして実行できることも意味しますか? – lezebulon

関連する問題