Stateful dataflow multigraphs: a data-centric model for performance portability on heterogeneous architectures

Stateful dataflow multigraphs: a data-centric model for performance portability on heterogeneous architectures
复制标题

有状态数据流多重图:以数据为中心的模型,用于异构架构上的性能可移植性

DOI:
--
复制
发表时间:
2019
期刊:
International Conference on Software Composition
影响因子:
--
通讯作者:
T. Hoefler
T. Hoefler
中科院分区:
--
文献类型:
--
作者:
Tal Ben;J. D. F. Licht;A. Ziogas;Timo Schneider;T. Hoefler

文献摘要

被引文献

相似文献

加速器在高性能计算中的无处不在,已经导致编程复杂性超出了普通领域科学家的技能范围。为了在未来保持性能可移植性,必须将特定于体系结构的编程范例从底层科学计算中分离出来。我们提出了有状态数据流多重图(SDFG),这是一种以数据为中心的中间表示,可以将程序定义与程序优化分离。通过将细粒度数据依赖项与高级控制流相结合,SDFG既具有表现力,又易于进行程序转换,例如平铺和双缓冲。使用可扩展的模式匹配、图形重写和图形用户界面,在交互过程中将这些转换应用于SDFG。我们演示了基于各种主题的CPU、GPU和FPGA上的SDFG-从基本的计算内核到图形分析。我们展示了SDFGs提供了具有竞争力的性能,允许领域科学家自然地开发应用程序,并将它们移植到接近硬件性能的峰值,而不需要修改原始的科学代码。
The ubiquity of accelerators in high-performance computing has driven programming complexity beyond the skill-set of the average domain scientist. To maintain performance portability in the future, it is imperative to decouple architecture-specific programming paradigms from the underlying scientific computations. We present the Stateful DataFlow multiGraph (SDFG), a data-centric intermediate representation that enables separating program definition from its optimization. By combining fine-grained data dependencies with high-level control-flow, SDFGs are both expressive and amenable to program transformations, such as tiling and double-buffering. These transformations are applied to the SDFG in an interactive process, using extensible pattern matching, graph rewriting, and a graphical user interface. We demonstrate SDFGs on CPUs, GPUs, and FPGAs over various motifs --- from fundamental computational kernels to graph analytics. We show that SDFGs deliver competitive performance, allowing domain scientists to develop applications naturally and port them to approach peak hardware performance without modifying the original scientific code.