2011-09-06 19 views
7

¿hay alguna manera de que pueda probar los ejemplos y códigos CUDA desde una computadora sin tarjeta gráfica NVIDIA? Estoy usando Windows y la última versión de CUDA.Cómo emular CUDA en Windows

+0

Eche un vistazo @ http://stackoverflow.com/questions/3756464/cuda-without-cuda-enabled-gpu –

Respuesta

7

hay varias posibilidades:

  1. Uso versión anterior de CUDA, que se ha incorporado en el emulador (2.3 tiene por seguro). Emulator está lejos de ser bueno, y no tendrá características de las últimas versiones de CUDA.
  2. Use OpenCL, puede ejecutarse en CPU (aunque no con nVidia SDK, tendrá que instalar AMD o la implementación Intel OpenCL (AMD funciona bien en las CPU Intel, por cierto)). En mi experiencia, OpenCL generalmente es ligeramente más lento que CUDA.
  3. Hay una rama windows del emulador Ocelot: http://code.google.com/p/gpuocelot/. No lo he probado, sin embargo.

Sin embargo, recomendaría comprar alguna tarjeta compatible con CUDA. La serie 8xxx o 9xxx está bien y es realmente barata. La emulación le permitiría obtener algunas habilidades básicas de la programación GPGPU, pero es inútil cuando escribe alguna aplicación en el mundo real, ya que no le permite depurar y ajustar el rendimiento.

+0

¿Cuáles son los inconvenientes de usar 2.3? Casi solo necesito CUDA para hacer operaciones de álgebra lineal. Si todavía puedo hacerlo usando la versión 2.3 entonces haré esto. – lezebulon

+1

cuBLAS (biblioteca BLAS para CUDA) que se entrega con 2.3 toolkit implementa muy pocas funciones (ver [2.3 manual] (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)). Además, no he encontrado ninguna información sobre si [CULA] (http://www.culatools.com/) se ejecuta en un emulador o no. Además, 2.3 podría soportar solo versiones antiguas de gcc/icc, y tiene algunos errores. Sin embargo, todas las características básicas de CUDA están presentes en 2.3. – aland

+0

ok gracias! ¿Significa también que puedo compilar y ejecutar el código creado por la versión 2.3 en la versión 4.0 sin tener que cambiar nada? – lezebulon