Abstraction Layer For Standardizing APIs of Task-Based Engines

Rabab Mohammad Alomairy, Hatem Ltaief, Mustafa Abdulmajeed AbdulJabbar, David E. Keyes

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


We introduce AL4SAN, a lightweight library for abstracting the APIs of task-based runtime engines. AL4SAN unifies the expression of tasks and their data dependencies. It supports various dynamic runtime systems relying on compiler technology and user-defined APIs. It enables a single application to employ different runtimes and their respective scheduling components, while providing user-obliviousness to the underlying hardware configurations. AL4SAN exposes common front-end APIs and connects to different back-end runtimes. Experiments on performance and overhead assessments are reported on various shared- and distributed-memory systems, possibly equipped with hardware accelerators. A range of workloads, from compute-bound to memory-bound regimes, are employed as proxies for current scientific applications. The low overhead (less than 10%) achieved using a variety of workloads enables AL4SAN to be deployed for fast development of task-based numerical algorithms. More interestingly, AL4SAN enables runtime interoperability by switching runtimes at runtime. Blending runtime systems permits to achieve a twofold speedup on a task-based generalized symmetric eigenvalue solver, relative to state-of-the-art implementations. The ultimate goal of AL4SAN is not to create a new runtime, but to strengthen co-design of existing runtimes/applications, while facilitating user productivity and code portability. The code of AL4SAN is freely available at https://github.com/ecrc/al4san, with extensions in progress.
Original languageEnglish (US)
Pages (from-to)1-1
Number of pages1
JournalIEEE Transactions on Parallel and Distributed Systems
Issue number11
StatePublished - 2020

Bibliographical note

KAUST Repository Item: Exported on 2020-10-01
Acknowledgements: The authors would like to thank Kadir Akbudak from ECRC at King Abdullah University of Science and Technology (KAUST) and Mathieu Faverge and Florent Pruvost from INRIA Bordeaux for their support toward integrating AL4SAN into the HiCMA and Chameleon libraries, respectively. The authors would like also to thank Cray Inc. and Intel in the context of the Cray Center of Excellence and Intel
Parallel Computing Center awarded to ECRC at KAUST. For computer time, this research used Shaheen-2 supercomputer hosted at the Supercomputing Laboratory at KAUST.


Dive into the research topics of 'Abstraction Layer For Standardizing APIs of Task-Based Engines'. Together they form a unique fingerprint.

Cite this