DaCe Python Frontend
TimeFriday, 13 November 20205pm - 5:05pm EDT
DescriptionSeveral 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.