Implementación CPU-GPU y comparativa de las bibliotecas BLAS-CUBLAS, LAPACK-CULA
Date
Advisors
Editors
Other authorships
Organizational Units
Handle
Citation
Degree
Abstract
Parallel programming has been available for a few decades using clusters of computers (sets of interconnected computers with shared memory and distributed memory); recently, it has been available using multicore CPUs and GPUs (Graphics Processing Unit). Parallel programming has been very useful in applications of science and engineering to reduce the sequential execution time by parallel numerical libraries for clusters, such as PBLAS and ScaLAPACK, which rely on the sequential numerical libraries BLAS and LAPACK. Parallel numerical libraries have been developed for GPUs, as CUBLAS and CULA (based on BLAS and LAPACK), developed in the CUDA programming platform, developed by NVIDIA. CUDA tries to exploit the GPUs potential. This report aims to introduce the configuration and use of BLAS, LAPACK, CUBLAS and CULA, from programs in C language, and to present a performance comparison among them, so the report can be used as a guide to support engineers and scientists who need this type of computation.
