Portable and Efficient Dense Linear Algebra in the Beginning of the Exascale Era

Mark Gates, Asim YarKhan, Dalal Sukkari, Kadir Akbudak, Sebastien Cayrols, Daniel Bielich, Ahmad Abdelfattah, Mohammed Al Farhan, Jack Dongarra

Research output: Chapter in Book/Report/Conference proceedingConference contribution

3 Scopus citations

Abstract

The SLATE project is implementing a distributed dense linear algebra library for highly-scalable distributed-memory accelerator-based computer systems. The goal is to provide a library that can be easily ported to different hardware (CPUs, GPUs, accelerators) and will provide high performance for machines into the future. Current ports include CPUs, CUDA, ROCm, and oneAPI. We achieve both performance and portability by leveraging several layers and abstractions, including OpenMP tasks to track data dependencies, MPI for distributed communication, and the BLAS++ and LAPACK++ libraries developed as a portable layer across vendor-optimized CPU and GPU BLAS and LAPACK functionality. We rely on the C++ standard library and templating to reduce code duplication for better maintainability. The few kernels not present in BLAS are implemented in CUDA, HIP, and OpenMP target offload, and are easily ported to new platforms.
Original languageEnglish (US)
Title of host publication2022 IEEE/ACM International Workshop on Performance, Portability and Productivity in HPC (P3HPC)
PublisherIEEE
DOIs
StatePublished - Jan 30 2023

Fingerprint

Dive into the research topics of 'Portable and Efficient Dense Linear Algebra in the Beginning of the Exascale Era'. Together they form a unique fingerprint.

Cite this