NVIDIA ha lanzado CUDA 5, una nueva versión para la poderosa plataforma de computación para acelerar las aplicaciones científicas basadas en la GPU. Estas aplicaciones realizan sus cálculos en los procesadores de la gráfica "GPU" y en menor medida en el procesador "CPU" donde tradicionalmente se apoyaban todas las aplicaciones. Desde hace unos años toda la industria apuesta fuertemente por el cálculo computacional basado en GPU.

El modelo de programación basada en CUDA es actualmente líder con más de 1,5 millones de descargas y más de 180 aplicaciones de ingeniería. También la industria militar y aeroespacial son conscientes del beneficio que da la aceleración por GPU CUDA en el procesamiento de imágenes, datos de vídeo, el radar, etc.

CUDA ™ es una plataforma de computación en paralelo y el modelo de programación inventado por NVIDIA. Permite un aumento exponencial en el rendimiento del equipo al aprovechar la potencia de la unidad de procesamiento de gráficos (GPU).

Dustin Franklin, ingeniero de aplicaciones GPGPU de GE Intelligent Platforms en Charlottesville, Virginia, "CUDA 5 es una tecnología importante para nosotros. Muchas de las aplicaciones que estamos usando implican flujo de datos del sensor directamente en la GPU con una latencia baja, por lo que el GPUDirect apoyo a RDMA sobre nuevos GPUs Kepler y es increíblemente importante para nuestros clientes. Contamos con soporte integrado para muchos sensores personalizados y estamos muy contentos con los resultados ".

Guillaume Belz, un bioquímico de la investigación en el Hospital Universitario de Lyon en Lyon, Francia, ha estado utilizando paralelismo dinámico y bibliotecas GPU para el análisis de señales complejas y la minería de datos. "Con la aceleración de GPU, podemos obtener resultados en varias horas para que los proyectos que solían requerir semanas o incluso meses con un solo procesador. Sin aceleración GPU, el análisis no sería posible en absoluto", dijo Belz.

Weihua (Wayne) Sun, Ph.D. candidato en ciencias de la imagen en el Rochester Institute of Technology de Nueva York, quedó impresionado con la tecnología NVIDIA Nsight Eclipse Edition. "Cuando me enteré de que CUDA 5 incluyó el nuevo Nsight Eclipse IDE edición, sabía que la usaría de inmediato. Tener todas las herramientas de programación, depuración y optimización en un solo entorno de desarrollo integrado, es un aumento de la productividad para mí."

Nuevas características de CUDA 5

Permite a los desarrolladores aprovechar al máximo el rendimiento de las GPU NVIDIA, incluyendo aceleradores GPU NVIDIA basadas en la arquitectura de cómputo Kepler.

Dynamic Parallelism (Nuevos algoritmos enfocados a simplificar la programación paralela).

CUDA BLAS (Librerías que permiten la interacción entre CUDA y librerías de terceros).

RDMA for GPUDirect (“Remote Direct Memory Access” Mejor comunicación entre múltiples GPUs).

Nsight Eclipse Edition (Permite desarrollar, depurar y perfilar aplicaciones GPGPU dentro del IDE Eclipse).

Nuevo centro de recursos CUDA en línea (Permite desarrollar, depurar y perfilar aplicaciones GPGPU dentro del IDE Eclipse). Para ayudar a los desarrolladores a maximizar el potencial de la computación en paralelo con la tecnología CUDA, NVIDIA ha puesto en marcha un centro de recursos en línea libre para los programadores de CUDA en http://docs.nvidia.com. El sitio ofrece la información más reciente sobre la plataforma CUDA y el modelo de programación, así como el acceso a toda la documentación de desarrollo CUDA y la tecnología, incluidas las herramientas, ejemplos de código, librerías, API, y puesta a punto y guías de programación.

Historia de la computación GPU

La primera GPU que fue diseñada como acelerador gráfico se hizo apoyado únicamente en "fixed-function pipelines". A partir de finales de 1990, el equipo la hizo cada vez más programable, lo que culminó con la primera GPU de NVIDIA en 1999. Menos de un año después de que NVIDIA acuñara el término GPU, artistas y desarrolladores de juegos ya no eran los únicos en usar la tecnología para su trabajo: Los investigadores ya comenzaron a aprovechar su excelente rendimiento de punto flotante. La GPU de propósito general (GPGPU).

Pero no fue nada fácil en aquel entonces, incluso para aquellos que conocían los lenguajes de programación, tales como gráficos OpenGL. Los desarrolladores tenían que asignar cálculos científicos sobre los problemas que podrían estar representados por los triángulos y polígonos. La GPGPU estaba prácticamente fuera del alcance de los que no sabía de memoria la última API de gráficos hasta que un grupo de investigadores de la Universidad de Stanford propuso reinventar la GPU como un "procesador de streaming."

En 2003, un equipo de investigadores dirigido por Ian Buck dio a conocer Brook, el primer modelo de programación ampliamente adoptado para ampliar C con datos paralelos construcciones. Utilizando conceptos tales como "streams, kernels y reduction operators" el compilador Brook y el sistema de ejecución ponía de manifiesto la GPU como un procesador de propósito general en un lenguaje de alto nivel. Más importante aún, los programas de Brook no sólo eran más fáciles de escribir sino que eran siete veces más rápidos que el código existente similar.

NVIDIA sabía que un hardware increíblemente rápido tenía que ir acompañado de un software intuitivo y herramientas de hardware, e invitó a Ian Buck a unirse a la NVIDIA y empezar así a desarrollar una solución para ejecutar sin problemas C en la GPU. Al poner el software y el hardware juntos, NVIDIA CUDA dio a conocer en 2006, la primera solución del mundo de informática general sobre GPUs.

Hoy en día, el sistema CUDA está creciendo rápidamente a medida que más y más compañías de clase mundial proporcionar herramientas, servicios y soluciones.

Si desea escribir su propio código, la forma más fácil de aprovechar el rendimiento de las GPU es con el kit de herramientas CUDA, que proporciona un entorno de desarrollo para C y de C + +.

El kit de herramientas CUDA incluye un compilador, librerías matemáticas y herramientas para depurar y optimizar el rendimiento de sus aplicaciones. También encontrará ejemplos de código de programación, guías, manuales de usuario, referencias de API y demás documentación que le ayudarán a empezar. Todo de forma gratuita.