A Structured Grid Solver with Polyhedral+Dataflow Representation
Proto is a C++ embedded Domain Specific Library for stencil-based computations. Proto is augmented in this work with a polyhedral dataflow intermediate representation (IR). The IR exposes several promising transformations. Each IR instances produces a performance model, and source code in C++. Generated code is annotated with OpenMP or OpenACC pragmas for shared-memory or accelerator parallelism. Performance is measured on modern multicore CPU and GPU platforms.
Davis, Eddie C.; Olschanowsky, Catherine R. M.; and Van Straalen, Brian. (2019). "A Structured Grid Solver with Polyhedral+Dataflow Representation". In S. Pande and V. Sarkar (Eds.), LCPC 2019: Languages and Compilers for Parallel Computing (Lecture Notes in Computer Science series, Vol. 11998, pp. 127-146). Springer. https://doi.org/10.1007/978-3-030-72789-5_10