Abstract | ||
---|---|---|
BSTRACTC 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%. |
Year | DOI | Venue |
---|---|---|
2022 | 10.1145/3524059.3532389 | International Conference on Supercomputing |
DocType | Citations | PageRank |
Conference | 0 | 0.34 |
References | Authors | |
0 | 7 |
Name | Order | Citations | PageRank |
---|---|---|---|
Alexandru Calotoiu | 1 | 0 | 1.35 |
Tal Ben-Nun | 2 | 116 | 14.21 |
Grzegorz Kwasniewski | 3 | 28 | 3.98 |
Johannes de Fine Licht | 4 | 0 | 0.34 |
Timo Schneider | 5 | 1 | 3.08 |
Phillipp Schaad | 6 | 0 | 0.34 |
Torsten Hoefler | 7 | 2197 | 163.64 |