Skip to main content
Contribution to Book
Transforming Loop Chains via Macro Dataflow Graphs
CGO 2018: Proceedings of the 2018 International Symposium on Code Generation and Optimization
  • Eddie C. Davis, Boise State University
  • Michelle Mills Strout, University of Arizona
  • Catherine Olschanowsky, Boise State University
Document Type
Conference Proceeding
Publication Date
1-1-2018
DOI
https://doi.org/10.1145/3168832
Disciplines
Abstract

This paper describes an approach to performance optimization using modified macro dataflow graphs, which contain nodes representing the loops and data involved in the stencil computation. The targeted applications include existing scientific applications that contain a series of stencil computations that share data, i.e. loop chains. The performance of stencil applications can be improved by modifying the execution schedules. However, modern architectures are increasingly constrained by the memory subsystem bandwidth. To fully realize the benefits of the schedule changes for improved locality, temporary storage allocation must also be minimized.

We present a macro dataflow graph variant that includes dataset nodes, a cost model that quantifies the memory interactions required by a given graph, a set of transformations that can be performed on the graphs such as fusion and tiling, and an approach for generating code to implement the transformed graph. We include a performance comparison with Halide and PolyMage implementations of the benchmark. Our fastest variant outperforms the auto-tuned variants produced by both frameworks.

Citation Information
Eddie C. Davis, Michelle Mills Strout and Catherine Olschanowsky. "Transforming Loop Chains via Macro Dataflow Graphs" CGO 2018: Proceedings of the 2018 International Symposium on Code Generation and Optimization (2018)
Available at: http://works.bepress.com/catherine-olschanowsky/10/