SC Conference (2000)
Nov. 4, 2000 to Nov. 10, 2000
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/SC.2000.10015
Gabriel Rivera , University of Maryland
Chau-Wen Tseng , University of Maryland
Compiler transformations can significantly improve data locality for many scientific programs. In this paper, we show iterative solvers for partial differential equations (PDEs) in three dimensions require new compiler optimizations not needed for 2D codes, since reuse along the third dimension cannot fit in cachefor larger problem sizes. Tiling is a program transformation compilers can apply to capture this reuse, but successful application of tiling requires selection of non-conflicting tiles and/or padding array dimensions to eliminate conflicts. We present new algorithms and cost models for selecting tiling shapes and array pads. We explain why tiling is rarely needed for 2D PDE solvers, but can be helpful for 3D stencil codes. Experimental results show tiling 3D codes can reduce miss rates and achieve performance improvements of 17-121% for key scientific kernels, including a 27% average improvement for the key computational loop nest in the SPEC/NAS benchmark MGRID.
G. Rivera and C. Tseng, "Tiling Optimizations for 3D Scientific Computations," SC Conference(SC), Dallas, Texas, 2000, pp. 32.