SC21 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Mamba: Portable Array-Based Abstractions for Heterogeneous High-Performance Systems


Workshop:P3HPC: 2021 International Workshop on Performance, Portability, and Productivity in HPC

Authors: Tim Dykes (Hewlett Packard Enterprise); Clement Foyer (University of Bristol, Hewlett Packard Enterprise); Harvey Richardson (Hewlett Packard Enterprise); Martin Svedin, Artur Podobas, Niclas Jansson, and Stefano Markidis (KTH Royal Institute of Technology, Sweden); Adrian Tate (Numerical Algorithms Group (NAG)); and Simon McIntosh-Smith (University of Bristol)


Abstract: High performance computing architectures have become increasingly heterogeneous in recent times. This growing architectural variety presents a multi-faceted portability problem affecting applications, libraries, programming models, languages, compilers, run-times, and system software. Approaches for performance portability typically focus heavily on efficient usage of parallel compute architectures and less on data locality abstractions and complex memory systems, with minimal support afforded to effective memory management in traditional HPC languages such as C and Fortran. We present Mamba, a library to facilitate usage of heterogeneous memory systems by high performance application/library developers through high level array-based abstractions for memory management supported by a low-level generic memory API. We detail the library design and implementation, demonstrating generic memory allocation, data layout specification, array tiling and heterogeneous transport. We evaluate performance in the context of a typical matrix transposition, DNA sequencing benchmark, and an application use case for high-order spectral element based incompressible flow.





Back to P3HPC: 2021 International Workshop on Performance, Portability, and Productivity in HPC Archive Listing



Back to Full Workshop Archive Listing