Productivity, Portability, Performance, and Reproducibility: Data-Centric Python
Python has become the <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">de facto</i> language for scientific computing. Programming in Python is highly productive, mainly due to its rich science-oriented software ecosystem built around the NumPy module. As a result, the demand for Python support in High-Performance Computing (HPC) has skyrocketed. However, the Python language itself does not necessarily offer high performance. This work presents a workflow that retains Python’s high productivity while achieving portable performance across different architectures. The workflow’s key features are HPC-oriented language extensions and a set of automatic optimizations powered by a data-centric intermediate representation. We show performance results and scaling across CPU, GPU, FPGA, and the Piz Daint supercomputer (up to 23,328 cores), with 2.47x and 3.75x speedups over previous-best solutions, first-ever Xilinx and Intel FPGA results of annotated Python, and up to 93.16% scaling efficiency on 512 nodes. Our benchmarks were reproduced in the Student Cluster Competition (SCC) during the Supercomputing Conference (SC) 2022. We present and discuss the student teams’ results.
Authors
- Tal Ben‐Nun (ORCID: https://orcid.org/0000-0002-3657-6568)
- Torsten Hoefler (ORCID: https://orcid.org/0000-0002-1333-9797)
- Johannes de Fine Licht (ORCID: https://orcid.org/0000-0002-1500-7411)
- Tiziano De Matteis (ORCID: https://orcid.org/0000-0002-9158-6849)
- Alexandru Calotoiu (ORCID: https://orcid.org/0000-0001-9095-9108)
- Timo Schneider (ORCID: https://orcid.org/0000-0002-4884-3934)
- Luca Lavarini
- Alexandros Nikolaos Ziogas (ORCID: https://orcid.org/0000-0002-4328-9751)
Institutions
- Lawrence Livermore National Laboratory (US)
- ETH Zurich (CH)
- Vrije Universiteit Amsterdam (NL)
Publication Details
- Journal
- IEEE Transactions on Parallel and Distributed Systems
- Published
- 2025-04-09
- DOI
- https://doi.org/10.1109/tpds.2025.3549310
- Citations
- 1
- Primary Topic
- Computational Physics and Python Applications
- Type
- article
- Field-Weighted Citation Impact
- 2.48
Funders
- Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung
- European Research Council