El BSC desenvolupa codi pel NVIDIA CUDA toolkit per accelerar la computació fins a quatre cops

05 Juliol 2018

El codi desenvolupat és més ràpid, més precís i requereix menys memòria per la resolució de sistemes tridiagonals

La investigació està finançada per el Human Brain Project i el centre d’excel·lència BSC/UPC de GPU

Investigadors del Barcelona Supercomputing Center-Centro Nacional de Supercomputación (BSC) han desenvolupat el codi anomenat cuThomasBatch que és tres cops (en precisió simple) i quatre cops (en precisió doble) més ràpid que el seu equivalent cuSPARSE routine (gtsvStridedbatch) en la resolució d’un nombre relativament major de sistemes tridiagonals. Aquest codi ha sigut integrat en la biblioteca cuSPARSE, com a part de la nova rutina gtsvInterleavedBatch. cuSPARSE permet als desenvolupadors a accedir a recursos computacionals d’unitats de processament gràfic (GPU per les seves sigles en anglès) de NVIDIA i està implementat fent ús del llenguatge NVIDIA® CUDA® per operacions d’àlgebra lineal dispersa. cuSPARSE, com a part de CUDA SDK, és una eina de software molt popular i àmpliament coneguda en la comunitat de la computació d’altes prestacions (HPC per les seves sigles en anglès).

Aquest codi es capaç de resoldre un gran número de sistemes tridiagonales, que són necessaris en nombroses simulacions científiques, com la dinàmica de fluids computacional (CFD per les seves sigles en anglès), modelatge oceànic, o la simulació del cervell humà, per a mencionar algunes. Les implementacions minimitzen els requeriments (de memòria i de número de fils), aconseguint una alta escalabilitat en GPUs de NVIDIA.

“Estem satisfets de veure que cuThomasBatch és més ràpid quan es computa amb un nombre alt de sistemes tridiagonales, és més precís i necessita menys memòria” afirma Pedro Valero, investigador del grup de models de programació del BSC i col·laborador de l’equip d’acceleradors i comunicacions per a HPC.

L’estudi és un resultat de la publicació científica titulada “NVIDIA GPUs scalability to solve multiple batch tridiagonal system implementation of cuThomasBatch” de la qual el primer autor és Pedro Valero, seguit d’altres investigadors del BSC com Iván Martínez-Pérez, Raül Sirvent, Xavier Martorell i Antonio J. Peña. Aquests resultats es van presentar amb un pòster a l’última GPU Technology Conference 2018 i van ser finançats gràcies al projecte europeu i el centre d’excel·lència BSC/UPC de GPU.

BSC/UPC, pioners en la computació GPU

El Barcelona Supercomputing Center (BSC) en associació amb la Universitat Politècnica de Catalunya (UPC) es va anomenar Centre d’Excel·lència de GPU de NVIDIA el 2011.

El centre desenvolupa entorns de programació multi-GPU i aplicacions compatibles amb aquesta tecnologia promocionant una gestió de recursos unificada. A més a més. Està desenvolupant codis per la futura era de computadors exascale amb acceleradors GPU mitjançant el model de programació StarSs, i la seva implementació a OmpSs.integrada amb CUDA i OpenACC.

Entre altres activitats, el centre d’excel·lència de GPU BSC/UPC patrocina la novena edició de l’escola d’estiu PUMPS+AI (de l’anglès Programming and Tuning Massively Parallel Systems + Artificial Intelligence). Aquest curs té com a objectiu enriquir les habilitats dels investigadors, estudiants de doctorat o de màster i professors, amb tècniques avançades i experiència pràctica en desenvolupar aplicacions per a processadors multi-nucli amb recursos massius de computació paral·lela com les acceleradores de GPU.