Publication | Closed Access
Tiling Optimizations for 3D Scientific Computations
124
Citations
32
References
2000
Year
Unknown Venue
EngineeringCompiler TechnologyComputer ArchitectureComputer-aided DesignGpu ComputingArray ComputingParallel ComputingCompilersComputational GeometryCompiler TransformationsGeometry ProcessingGeometric ModelingMassively-parallel ComputingCompiler SupportPartial Differential EquationsComputer EngineeringComputer ScienceComputational ScienceScientific ComputationsGeometric AlgorithmProgram AnalysisNatural SciencesMesh ReductionPde SolversParallel Programming
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1