Alexandru Calotoiu, Tal Ben-Nun, Grzegorz Kwasniewski, Johannes de Fine Licht, Timo Schneider, Philipp Schaad, Torsten Hoefler:
Lifting C Semantics for Dataflow Optimization
(In Proceedings of the 2022 International Conference on Supercomputing (ICS'22), Jul. 2022)
Abstract
C is the lingua franca of programming and almost any device can be programmed using C. However, programming modern heterogeneous architectures such as multi-core CPUs and GPUs requires explicitly expressing parallelism as well as device-specific properties such as memory hierarchies. The resulting code is often hard to understand, debug, and modify for different architectures. We propose to lift C programs to a parametric dataflow representation that lends itself to static data-centric analysis and enables automatic high-performance code generation. We separate writing code from optimizing for different hardware: simple, portable C source code is used to generate efficient specialized versions with a click of a button. Our approach can identify parallelism when no other compiler can, and outperforms a bespoke parallelized version of a scientific proxy application by up to 21%
Documents
download article: download slides:
Recorded talk (best effort)
BibTeX
@inproceedings{, author={Alexandru Calotoiu and Tal Ben-Nun and Grzegorz Kwasniewski and Johannes de Fine Licht and Timo Schneider and Philipp Schaad and Torsten Hoefler}, title={{Lifting C Semantics for Dataflow Optimization}}, year={2022}, month={Jul.}, booktitle={Proceedings of the 2022 International Conference on Supercomputing (ICS'22)}, source={http://www.unixer.de/~htor/publications/}, }