Python, already one of the most popular languages for scientific computing, has made significant inroads in High Performance Computing (HPC).
At the center of Python's ecosystem is NumPy, an efficient implementation of the multi-dimensional array (tensor) structure, together with basic arithmetic and linear algebra.
Compared to traditional HPC languages, the relatively low performance of Python and NumPy has spawned significant research in compilers and frameworks that decouple Python's compact representation from the underlying implementation.
However, it is challenging to compare language compatibility and performance among different frameworks and architectures without a standard set of benchmarks and metrics.
To that end, we introduce NPBench, a set of NumPy code samples representing a large variety of HPC applications.
We use NPBench to test popular NumPy-accelerating compilers and frameworks on a variety of metrics.
NPBench will guide both end-users and framework developers focusing on performance and will drive further use of Python in the high-performance scientific domains.
@inproceedings{, author={Alexandros Nikolaos Ziogas and Tal Ben-Nun and Timo Schneider and Torsten Hoefler}, title={{NPBench: A Benchmarking Suite for High-Performance NumPy}}, year={2021}, month={Jun.}, booktitle={Proceedings of the 2021 International Conference on Supercomputing (ICS'21)}, source={http://www.unixer.de/~htor/publications/}, }