25278

Productivity, Portability, Performance: Data-Centric Python

Alexandros Nikolaos Ziogas, Timo Schneider, Tal Ben-Nun, Alexandru Calotoiu, Tiziano De Matteis, Johannes de Fine Licht, Luca Lavarini, Torsten Hoefler
Department of Computer Science, ETH Zurich, Switzerland
arXiv:2107.00555 [cs.PL], (1 Jul 2021)

@article{ziogas2021productivity,

   title={Productivity, Portability, Performance: Data-Centric Python},

   author={Ziogas, Alexandros Nikolaos and Schneider, Timo and Ben-Nun, Tal and Calotoiu, Alexandru and Matteis, Tiziano De and Licht, Johannes de Fine and Lavarini, Luca and Hoefler, Torsten},

   year={2021}

}

Download Download (PDF)   View View   Source Source   

298

views

Python has become the de facto 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. In this work, we present 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.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: