Title
Stateful Dataflow Multigraphs: A Data-Centric Model for High-Performance Parallel Programs.
Abstract
With the ubiquity of accelerators, such as FPGAs and GPUs, the complexity of high-performance programming is increasing beyond the skill-set of the average scientist in domains outside of computer science. It is thus imperative to decouple programming paradigms and architecture-specific implementation from the underlying scientific computations. We present the Stateful DataFlow multiGraph (SDFG), a data-centric intermediate representation that facilitates high performance application development and optimization. By combining fine-grained data dependencies with high-level control flow, SDFGs are both expressive and amenable to high-level program transformations, such as tiling, vectorization, and double buffering. These transformations are then applied to the SDFG in an interactive process, using extensible pattern matching and graph rewriting. To facilitate this process, we provide a graphical user interface that enables applying transformations, as well as creating custom optimizations, reusable across applications. We demonstrate SDFGs on CPUs, GPUs, and FPGAs, using a wide variety of applications and motifs --- from fundamental computational kernels, through polyhedral applications, to graph analytics. We show that the representation is both expressive and performant, allowing domain scientists to develop applications that can be tuned to approach peak hardware performance without modifying the original scientific code.
Year
Venue
DocType
2019
arXiv: Programming Languages
Journal
Volume
Citations 
PageRank 
abs/1902.10345
0
0.34
References 
Authors
0
5
Name
Order
Citations
PageRank
Tal Ben-Nun111614.21
Johannes de Fine Licht294.43
Alexandros Nikolaos Ziogas343.53
Timo Schneider413.08
Torsten Hoefler52197163.64