Implementación paralela híbrida heterogénea de la descomposición en valores singulares en matrices densas



Implementación paralela híbrida heterogénea de la descomposición en valores singulares en matrices densas

André Fabián Castellanos Aldama
 

Texto completo de la Tesis     

 



Resumen

La descomposición en valores singulares en matrices densas es usado en técnicas de aprendizaje de máquina, en sistemas de recomendación, entre otras aplicaciones. El amplio número de usuarios de esta descomposición se observa en la implementación en la biblioteca LAPACK y SCALAPACK que son ampliamente usadas. Sin embargo, el cálculo de esta descomposición tiene un alto costo computacional que ralentiza su ejecución en matrices de gran tamaño y densas. Además, las implementaciones actuales no están diseñadas para los nuevos clusters que cuentan con nodos con multiples CPUs y GPUs que no solo aceleran cálculos matemáticos sino que tienen una mejor eficiencia que un cluster tradicional, es decir, tienen un mayor número de operaciones flotantes por Watt usado que su contra parte tradicional. Por esta razón se realizó una implementación paralela híbrida heterogénea del método de Jacobi por un lado usando las herramientas (marcos de trabajo, API, especificaciones) CUDA, OpenMP y MPI; para aprovechar los recursos de estos nuevos tipos de clusters. Además se realizaron otras implementaciones del mismo método numérico pero para diferentes modelos de programación: paralela, paralela heterogénea, paralela híbrida. Se encontró que nuestra implementación paralela para memoria compartida con OpenMP tuvo un menor tiempo de ejecución que la implementación de LAPACK. El resultado más importante de este texto fue que nuestra implementación paralela heterogénea es el menor en tiempo de ejecución comparado con LAPACK y nuestras otras implementaciones y fue el menor en error absoluto comparado con nuestras otras implementaciones. En general, se observó una aceleración de casi hasta 5 veces comparado con nuestra implementación paralela para memoria compartida.

 

Abstract