Transcript
Page 1: SOFTWARE FOR LINEAR ALGEBRA TARGETING EXASCALE · ScaLAPACK emerged. SLATE is meant to be this replacement, boasting superior performance and scalability in modern, heterogeneous,

Batch BLAS++Many scientific and engineering computing applications solve large numbers of small and independent linear algebra problems. Such workloads can be executed much more efficiently on modern hardware if they are issued in large batches rather than one by one. To standardize the API, the HPC community is developing an extension to the BLAS standard called Batch BLAS. The objective of BBLAS++ is to provide a convenient, performance-oriented API for development in the C++ language, that preserves established conventions while taking advantage of modern C++ features.

Ahmad Abdelfattah et al.C++ API for Batch BLASSLATE Working Note #4http://www.icl.utk.edu/publications/swan-004

Next Generation ScaLAPACKScaLAPACK was first released in 1995, some 23 years ago. In the past two decades, high-performance computing (HPC) has witnessed tectonic shifts in the hardware technology, followed by paradigm shifts in the software technology, and a plethora of algorithmic innovation in scientific computing. At the same time, no viable replacement for ScaLAPACK emerged. SLATE is meant to be this replacement, boasting superior performance and scalability in modern, heterogeneous, distributed-memory environments.

HIGHLIGHTS● Designed from the ground up for multi-core CPUs and

many-core accelerators● Supports standard LAPACK and ScaLAPACK matrix

layouts● Designed for scalability, flexibility, and maintainability

Jakub Kurzak et al.Designing SLATE:Software for Linear Algebra Targeting ExascaleSLATE Working Note #3http://www.icl.utk.edu/publications/swan-003

SLATE will offer a modern replacement for ScaLAPACK.

SLATE will facilitate the development and advancement of multi-core and accelerator capabilities by leveraging recent progress and ongoing efforts in mainstream programming models (e.g., MPI 3+, OpenMP 4+, OpenACC) and runtime scheduling systems (e.g., PaRSEC, Legion).

LAPACK++The Linear Algebra PACKage (LAPACK) is a standard software library for numerical linear algebra that provides routines for solving systems of linear equations and linear least squares problems, eigenvalue problems, and singular value decomposition problems. LAPACK++ provides a convenient, performance-oriented API for development in the C++ language and preserves established conventions while taking advantage of modern C++ features.

HIGHLIGHTS● Covers the entire LAPACK (~1,400 routines)● Multiple precisions using C++ templates● Error handling with C++ exceptions● Covered with a testing suite● Documented with Doxygen

Mark Gates et al.C++ API for BLAS and LAPACKSLATE Working Note #2http://www.icl.utk.edu/publications/swan-002

BLAS++Basic Linear Algebra Subprograms (BLAS) have been around for many decades and serve as the de facto standard for a performance-portable and numerically robust implementation of essential linear algebra functionality. BLAS++ provides a convenient, performance-oriented API for development in the C++ language and preserves established conventions while taking advantage of modern C++ features.

HIGHLIGHTS● Covers the entire BLAS (~120 routines)● Multiple precisions using C++ templates● Error handling with C++ exceptions● Covered with a testing suite● Documented with Doxygen

Mark Gates et al.C++ API for BLAS and LAPACKSLATE Working Note #2http://www.icl.utk.edu/publications/swan-002

FIND OUT MORE AThttps://bitbucket.org/icl/blaspp

DOWNLOAD SOFTWARE AThttps://bitbucket.org/icl/lapackpp

DOWNLOAD SOFTWARE AThttps://bitbucket.org/icl/blaspp

CHECK OUT SLATE Working Noteswww.icl.utk.edu/publications/series/swans

FIND OUT MORE AT

http://icl.utk.edu/slate/

SPONSORED BY

SOFTWARE FOR LINEAR ALGEBRA TARGETING EXASCALE

Recommended