An Universal Shared-Memory Parallel Sparse BLAS for C/C++/Fortran/Octave/Python and a Use Case in LQCD

An Universal Shared-Memory Parallel Sparse BLAS for C/C++/Fortran/Octave/Python and a Use Case in LQCD

Only 125 seats left
Wednesday, June 30, 2021 3:00 PM to 4:00 PM · 1 hr. (Africa/Abidjan)
Exascale Systems

Information

Contributors:
Abstract:

Large sparse matrices arise naturally by discretization of PDEs. Solving PDEs is a core driver for applications in High Performance Computing, having various use cases in different computational areas from fundamental physics to Computational Engineering. In these computations the sparse matrix-vector (SpMV) and sparse matrix-matrix multiplication (SpMM) kernels play an essential role to perform robust, efficient and quick simulations.

We present usage modes and application results of a very general, yet performant Sparse BLAS library (LIBRSB) providing such kernels for shared-memory architectures. LIBRSB is fairly portable across machines and programming languages -- it provides interfaces to C, C++, Fortran, GNU Octave and Python. As part of the PRACE-6IP project "LyNcs" collaboration, LIBRSB's SpMM kernels have been rewritten from scratch. Using a Lattice QCD matrix kernel from the LyNcs project, we present current SpMM performance results on a modern processor and comment on that.