2010-01-09 10 views
6

Quiero comenzar a aprender a programar en CUDA, no solo el lenguaje, sino el diseño de programas, cosas como, por lo que he escuchado, escribir kernels sin condicionales para que todo el los subprocesos ejecutan las mismas instrucciones y hay una sobrecarga de sincronización mínima.Contenedor CUDA más simple para principiantes

Y por lo que he escuchado, la envoltura de Python es mucho más intuitiva de usar y codificar que la biblioteca C.

Suponiendo que los idiomas que ya sé/no conozco no son una barrera, ¿en qué idioma es mejor comenzar a aprender CUDA?

¿Cuál le da la mejor idea de los DO y DONT en CUDA y la curva de aprendizaje más fácil?

Respuesta

4

Dado que los idiomas no son una barrera, yo diría que apegarse a C/C++ dejaría más recursos disponibles para ayudarlo. Hay más riesgos potenciales, pero si echas un vistazo a la Guía de buenas prácticas de CUDA (proporcionada con el kit de herramientas de CUDA en el NVIDIA website), entonces estarás en el camino correcto.

También podría considerar buscar en el proyecto de código abierto "Thrust" que es una biblioteca de plantillas de estilo STL/Boost construida sobre CUDA C++. Funciona bien en muchos casos y puede llamar a kernels más complejos a medida que aprende más.