Techniques for Managing Polyhedral Dataflow Graphs
Scientific applications, especially legacy applications, contain a wealth of scientific knowledge. As hardware changes, applications need to be ported to new architectures and extended to include scientific advances. As a result, it is common to encounter problems like performance bottlenecks and dead code. A visual representation of the dataflow can help performance experts identify and debug such problems. The Computation API of the sparse polyhedral framework (SPF) provides a single entry point for tools to generate and manipulate polyhedral dataflow graphs, and transform applications. However, when viewing graphs generated for scientific applications there are several barriers. The graphs are large, and manipulating their layout to respect execution order is difficult. This paper presents a case study that uses the Computation API to represent a scientific application, GeoAc, in the SPF. Generated polyhedral dataflow graphs were explored for optimization opportunities and limitations were addressed using several graph simplifications to improve their usability.
Shankar, Ravi; Orenstein, Aaron; Rift, Anna; Popoola, Tobi; Lowe, MacDonald; Yang, Shuai; Mikesell, T. Dylan; and Olschanowsky, Catherine. (2022). "Techniques for Managing Polyhedral Dataflow Graphs". In X. Li and S. Chandrasekaran (eds), LCPC 2021: Languages and Compilers for Parallel Computing (Lecture Notes in Computer Science series, vol. 13181, pp. 134-150). Springer. https://doi.org/10.1007/978-3-030-99372-6_9