2011-09-06 1 views
7

c'è un modo per testare i campioni ei codici CUDA da un computer senza scheda grafica NVIDIA? Sto usando Windows e l'ultima versione di CUDA.Come emulare CUDA su Windows

+0

Dai uno sguardo a http://stackoverflow.com/questions/3756464/cuda-without-cuda-enabled-gpu –

risposta

7

Ci sono diverse possibilità:

  1. Utilizzare la versione precedente di CUDA, che ha incorporato emulatore (2.3 ha di sicuro). L'emulatore è tutt'altro che buono e non avrai le caratteristiche delle ultime versioni di CUDA.
  2. Utilizzare OpenCL, può essere eseguito su CPU (sebbene non con nVidia SDK, sarà necessario installare l'implementazione AMD o Intel OpenCL (AMD funziona bene su CPU Intel, btw)). Nella mia esperienza, OpenCL è solitamente leggermente più lento di CUDA.
  3. C'è un ramo di windows dell'emulatore Ocelot: http://code.google.com/p/gpuocelot/. Non ho provato, però.

Tuttavia, consiglio di acquistare una scheda compatibile CUDA. La serie 8xxx o 9xxx è ok ed è davvero economica. L'emulazione ti consentirebbe di acquisire alcune abilità di base della programmazione GPGPU, ma è inutile quando scrivi un'applicazione reale poiché non ti consente di eseguire il debug e ottimizzare le prestazioni.

+0

Quali sono i lati negativi dell'utilizzo di 2.3? Ho quasi bisogno solo di CUDA per fare operazioni di algebra lineare. Se posso ancora farlo usando la versione 2.3, lo farò. – lezebulon

+1

cuBLAS (libreria BLAS per CUDA) fornita con 2.3 toolkit implementa pochissime funzioni (vedere [2.3 manuale] (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)). Inoltre, non ho trovato alcuna informazione se [CULA] (http://www.culatools.com/) gira su un emulatore o no. Inoltre, 2.3 potrebbe supportare solo vecchie versioni di gcc/icc e ha alcuni bug. Tuttavia, tutte le funzionalità di base di CUDA sono presenti in 2.3. – aland

+0

ok grazie! Significa anche che posso compilare ed eseguire il codice creato dalla versione 2.3 sulla versione 4.0 senza dover cambiare nulla? – lezebulon