Linear Algebra on General Purpose Graphics Processing Units Using OpenCL

Santiago D. Costarelli, Rodrigo R. Paz, Lisandro Dalcin, Mario A. Storti

Abstract


Motivados por el vasto crecimiento sobre las tecnologías en placas procesadoras de video y las versiones recientes de dispositivos para cálculo de propósito general GPGPU’s (General Purpose Graphic Processing Unit), es que se presenta en este trabajo algunos desarrollos de cálculo paralelo en Algebra Lineal utilizando OpenCL, un estándar de reciente concepción para la programación en GPGPU’s libre de regalías, que utiliza un subconjunto de operaciones definidas del estándar C99 de la ISO.
En las primeras secciones se presenta la arquitectura CUDA (teniendo en cuenta que OpenCL se basa en ella) analizando los elementos que la componen, brindando lineamientos básicos en cuanto al uso.
A continuación se presentan diferentes métodos para el cálculo de operaciones básicas de Algebra Lineal. Con respecto a las implementaciones de las operaciones propuestas, se analizan diferentes versiones de la misma operación valiendonos de las bondades que nos brinda la arquitectura CUDA, entre ellas: operaciones en memoria global, memoria local (o shared), combinaciones de las anteriores y cálculo multiGPU; teniendo en cuenta aquí las propiedades de memory coalescing, divergencia de workItems dentro del warp, por nombrar algunas. Además, se estudia la influencia de las cifras decimales exigidas sobre el costo computacional y la utilización de parámetros de optimización ya sea mediante directivas al compilador o funciones built-in provistas por OpenCL.
Finalmente, se estudian las performances de los algoritmos anteriormente nombrados utilizando para los casos de estudio tecnologías NVIDIA Tesla C1060 y procurando establecer las deficiencias de la misma en relación a la arquitectura NVIDIA Fermi.

Full Text:

PDF



Asociación Argentina de Mecánica Computacional
Güemes 3450
S3000GLN Santa Fe, Argentina
Phone: 54-342-4511594 / 4511595 Int. 1006
Fax: 54-342-4511169
E-mail: amca(at)santafe-conicet.gov.ar
ISSN 2591-3522