Acercamiento a la programación paralela usando CUDA
Fecha
2013
Autores
Del Toro Melgarejo, Leonardo Flavio
Gálvez Lio, Daniel
Triana Brito, Diana Isabel
Cepero Alejo, Abel
Título de la revista
ISSN de la revista
Título del volumen
Editor
Feijóo
Resumen
La tecnología CUDA (Compute Unified Device Architecture) de NIVIDIA se ha
convertido en una poderosa herramienta para el desarrollo de diversas aplicaciones
paralelas sobre las GPU (Graphic Processor Unit). Esta se ha explotado en diversos
campos de la investigación científica tales como el Análisis numérico, la Física, la
Defensa e Inteligencia, la Bioinformática y la Minería de datos, entre otras.
Actualmente existen cientos de publicaciones científicas que describen y
fundamentan aplicaciones paralelas usando esta tecnología. CUDA permite
desarrollar aplicaciones empleando lenguajes de programación estándares como C y
C++. El rendimiento que han alcanzado estas aplicaciones ha superado al de los
computadores multinúcleos e incluso a algunos clústeres de computadores al tratar los
mismos problemas. El rendimiento de las aplicaciones desarrolladas es estudiado por
herramientas tales como el Visual Profiler y su versión para línea de comandos
Command Line Profiler permitiendo optimizar su código. Muchos centros científicos en
todo el mundo han comenzado a explorar esta tecnología, incluyendo al Centro de
Estudios en Informática (CEI) de la Universidad Central “Marta Abreu” de Las Villas
para aplicarla en el área de la Bioinformática. En este trabajo se presenta esta
tecnología, se describen algunas de las aplicaciones más importantes que emplean
CUDA en la actualidad, y se analizan su utilidad y estrategia de desarrollo. Mediante la
presentación de ejemplos sencillos, se proporciona un marco de trabajo para aquellos
programadores que pretendan iniciar sus proyectos con esta tecnología
Descripción
Palabras clave
Tecnologia CUDA