Lifting C semantics for dataflow optimization
Autor: | Alexandru Calotoiu, Tal Ben-Nun, Grzegorz Kwasniewski, Johannes de Fine Licht, Timo Schneider, Philipp Schaad, Torsten Hoefler |
---|---|
Rok vydání: | 2022 |
Předmět: |
Performance (cs.PF)
FOS: Computer and information sciences Source code generation Computer Science - Programming Languages Computer Science - Performance Computer Science - Distributed Parallel and Cluster Computing Parallel algorithms Distributed Parallel and Cluster Computing (cs.DC) Parallelism Dataflow analysis Automatic parallelization Programming Languages (cs.PL) |
Zdroj: | Proceedings of the 36th ACM International Conference on Supercomputing ICS '22: Proceedings of the 36th ACM International Conference on Supercomputing |
DOI: | 10.1145/3524059.3532389 |
Popis: | C is thelingua francaof 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%. |
Databáze: | OpenAIRE |
Externí odkaz: |