Publication | Closed Access
Productivity, portability, performance
30
Citations
35
References
2021
Year
Unknown Venue
EngineeringComputer ArchitectureSoftware EngineeringProductivity ManagementHigh Performance ComputingPython SupportProductivityProductivity EconomicsManagementParallel ComputingQuantitative ManagementMassively-parallel ComputingOpen Source SupercomputingWorkforce ProductivityProgramming ProductivityComputer EngineeringComputer ScienceIndustrial DesignPython LanguageHardware AccelerationProgram AnalysisBusinessParallel Programming
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1