Programación paralela usando CUDA: aplicación en la Bioinformática - Cepero Alejo, Abel (Universidad Central “Marta Abreu” de Las Villas, 2012)
La tecnología CUDA de NVIDIA se ha extendido a nivel mundial como un nuevo paradigma de programación paralela. En este paradigma la memoria juega un papel fundamental, pues los cinco tipos de memoria que existen en CUDA tienen características diferentes y en muchos casos definen su usabilidad. Las aplicaciones desarrolladas usando la tecnología CUDA se extienden a varios campos, entre ellos el de la Bioinformática. En este trabajo se explora el modelo de memoria de CUDA y se han valorado varias aplicaciones de CUDA en el campo de la Bioinformática, donde los autores de dichas aplicaciones explotan los diferentes espacios de memoria y ejecutan los kernels en el dispositivo CUDA con múltiples configuraciones de hilo, bloque y malla, estudiando su comportamiento. Además, se presentan los elementos teóricos necesarios para el cálculo de la matriz de distancias como ejemplo de una tarea a realizar dentro del campo de la bioinformática. Este problema fue seleccionado con el objetivo de experimentar su implementación con la tecnología CUDA y obtener una primera solución computacional, la cual se estudia usando la herramienta Visual Profiler para valorar su efectividad.

NVIDIA CUDA technology has spread worldwide as a new parallel programming paradigm. In this paradigm memory plays a key role, due to the five types of memory that exist in CUDA have different characteristics and often define their different usability. Applications, developed using CUDA technology, involve several knowledge fields, including the Bioinformatics. In this work we explore the memory model of CUDA applications and also revised several CUDA applications in Bioinformatics field, where the authors of these applications exploit different memory spaces and the kernels running on the device with multiple CUDA configurations for threads, blocks and grids, studying their behavior. In addition, the theoretical elements necessary for understand the calculation of the distance matrix as an example of a task to perform on the field of bioinformatics was present. This problem was selected in order to proof its implementation with CUDA technology and get a first computing solution, which is studied using the Visual Profiler tool to assess their effectiveness.
Keywords: Programación Paralela; Tecnología CUDA; Matriz de Distancia; Bioinformática; Computación Aplicada; Programación Paralela; Bioinformática; Computación Aplicada