SC20 Proceedings

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

DaCe Python Frontend


Workshop:PyHPC 2020: 9th Workshop on Python for High-Performance and Scientific Computing

Authors: Alexandros Ziogas (ETH Zurich)


Abstract: Several frameworks for developing HPC applications have identified the high cost of data movement as the primary performance bottleneck in modern computing architectures. The Data-Centric (DaCe) Parallel Programming framework uses the Stateful DataFlow multiGraph (SDFG) intermediate representation, which provides a transformable and interactive view of the input code. This data-centric view exposes to the user/performance engineer optimization opportunities that go beyond the boundaries of low-level computational kernels and encompass the whole program.

DaCe users can create SDFGs by either using an API or writing code in one of the supported languages, including Python. Therefore, scientists and engineers can convert their Python codebase to SDFGs with relative ease and take advantage of the optimization capabilities of the DaCe framework. In this talk, we would like to present this frontend, which supports a subset of Python and the NumPy module and discuss the challenges in converting a functional representation to dataflow. We also want to highlight issues that arise due to language semantics and programmer expectations, such as handling differences in data types, conversions and operator semantics. Moreover, we want to showcase the framework’s capabilities in integrating with HPC libraries, e.g., BLAS.


Website:






Back to PyHPC 2020: 9th Workshop on Python for High-Performance and Scientific Computing Archive Listing



Back to Full Workshop Archive Listing