+ All Categories
Home > Documents > SOFTWARE FOR LINEAR ALGEBRA TARGETING EXASCALE · ScaLAPACK emerged. SLATE is meant to be this...

SOFTWARE FOR LINEAR ALGEBRA TARGETING EXASCALE · ScaLAPACK emerged. SLATE is meant to be this...

Date post: 03-Aug-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
1
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 BLAS SLATE Working Note #4 http://www.icl.utk.edu/publications/swan-004 Next Generation ScaLAPACK ScaLAPACK 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 Exascale SLATE Working Note #3 http://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 LAPACK SLATE Working Note #2 http://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 LAPACK SLATE Working Note #2 http://www.icl.utk.edu/publications/swan-002 FIND OUT MORE AT https://bitbucket.org/icl/blaspp DOWNLOAD SOFTWARE AT https://bitbucket.org/icl/lapackpp DOWNLOAD SOFTWARE AT https://bitbucket.org/icl/blaspp FIND OUT MORE AT http://icl.utk.edu/slate/ SPONSORED BY SOFTWARE FOR LINEAR ALGEBRA TARGETING EXASCALE
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