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.
- Simone Bacchio (The Cyprus Institute)
- Jacob Finkenrath (The Cyprus Institute)
- Luc Giraud (Inria)
- Matthieu Simonin (Inria)
- Michele Martone (LRZ)
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.
Speakers
Michele Martone
LRZ