Integrating STELLA & MODESTO: Definition and Optimization of Complex Stencil Programs
Student: Tobias Gysi (ETH Zurich)
Supervisor: Torsten Hoefler (ETH Zurich)
Abstract: An efficient implementation of complex stencil programs requires data-locality transformations such as loop tiling and loop fusion. When applying these transformations we face two main challenges: 1) the direct application is costly and typically results in code that is optimized for a specific target architecture and 2) the selection of good transformations is not straightforward. We address these challenges using STELLA a stencil library that abstracts data-locality transformations and MODESTO a model-driven stencil optimization framework. In particular, MODESTO represents different stencil program implementation variants using a stencil algebra and selects good transformations based on a compile-time performance model. We evaluate the effectiveness of the approach using example kernels from the COSMO atmospheric model. Compared to naive and expert-tuned variants we attain a 2.0-3.1x and a 1.0-1.8x speedup respectively.
Two-page extended abstract: pdf