Enlaces recomendados

A continuación hemos recopilado algunos enlaces Web a cursos y documentación que consideramos de especial interés para los programadores CUDA.

  • Documentación de Nvidia, con todo lo necesario para familiarizarte con CUDA:

    • El kit de desarrollo de CUDA más actual (CUDA Toolkit). Incluye el compilador, los ejemplos básicos, las librerías, el entorno de desarrollo y las herramientas para depuración y análisis de rendimiento.
    • Las guías de iniciación (Getting Started Guides). Proporciona los pasos para la instalación gratuita de CUDA en tu PC, distinguiendo entre usuarios Linux, Mac OS X y Windows.
    • Las guías de programación esenciales, con las directrices básicas (CUDA C Programming Guide), recomendaciones para optimizar el código (CUDA C Best Practices Guide), y trucos para mejorar el rendimiento aprovechando las cualidades de las plataformas Kepler de última generación.
    • Manuales de referencia (Reference Manuals) para los drivers, las librerías más populares, y el soporte en tiempo de ejecución.
    • Códigos de ejemplo para comenzar a compilar, ejecutar, instalar el entorno, etc.
    • Manuales para las herramientas (Tool Manuals) como el compilador, el depurador, el comprobador de memoria, el analizador de rendimiento o el entorno Eclipse.

  • Libros:

    • Una colección de libros sobre CUDA y GPUs en general, siguiendo las recomendaciones de Nvidia.
    • GPU Gems , GPU Gems2 y GPU Gems 3. Técnicas de programación 3D, consejos y trucos sobre cómo se han programado y optimizado un amplio elenco de aplicaciones. Abierto también a OpenGL. Los tres volúmenes están disponibles ya gratuitamente en versión HTML.
  • Cursos y tutoriales:

    • CUDA Education. El sitio ideal para obtener material docente si eres profesor o documentación para aprender si eres alumno autodidacta.
    • CUDA Training. Los cursos y tutoriales más interesantes a escala mundial.
    • Las charlas de la última edición del GTC (Graphics Technology Conference), la conferencia mundial de referencia en nuestro área.
    • Una buena recopilación de enlaces a cursos y tutoriales, mantenida por Shane Cook.
  • Herramientas de desarrollo:

  • Herramientas para portar código CUDA a otras plataformas:

    • Ocelot: Para portar código PTX de CUDA a las GPUs de AMD y a los multicores CPU de Intel basados en x86.
    • Swan: Una sencilla herramienta para portar código CUDA a OpenCL.
  • Otros estándar relativos a CUDA:

    • Khronos Group (2009): La organización responsable de OpenGL, OpenCL, WebGL, por nombrar sólo los estándares más relacionados con la GPU y CUDA.
    • OpenACC (2011): Una API que describe un conjunto de directivas para proporcionar información al compilador con la que éste pueda automatizar la paralelización de algunas regiones de código sobre GPUs y otros aceleradores.
  • Comunidades de usuarios CUDA:

    • GPUcomputing.net: La más completa y vanguardista que conocemos.
    • GPGPU.org: La más antigua, habiéndose originado en los tiempos del lenguaje Cg (2003), pero últimamente ha perdido fuelle en favor de la anterior.