Premium
UPCBLAS: a library for parallel matrix computations in Unified Parallel C
Author(s) -
GonzálezDomínguez Jorge,
Martín María J.,
Taboada Guillermo L.,
Touriño Juan,
Doallo Ramón,
Mallón Damián A.,
Wibecan Brian
Publication year - 2012
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.1914
Subject(s) - partitioned global address space , computer science , parallel computing , scalability , locality , supercomputer , multi core processor , computation , exploit , linear algebra , parallel algorithm , computer architecture , programming language , operating system , mathematics , philosophy , linguistics , geometry , computer security
SUMMARY The popularity of Partitioned Global Address Space (PGAS) languages has increased during the last years thanks to their high programmability and performance through an efficient exploitation of data locality, especially on hierarchical architectures such as multicore clusters. This paper describes UPCBLAS, a parallel numerical library for dense matrix computations using the PGAS Unified Parallel C language. The routines developed in UPCBLAS are built on top of sequential basic linear algebra subprograms functions and exploit the particularities of the PGAS paradigm, taking into account data locality in order to achieve a good performance. Furthermore, the routines implement other optimization techniques, several of them by automatically taking into account the hardware characteristics of the underlying systems on which they are executed. The library has been experimentally evaluated on a multicore supercomputer and compared with a message‐passing‐based parallel numerical library, demonstrating good scalability and efficiency. Copyright © 2012 John Wiley & Sons, Ltd.