Smashing: Folding Space to Tile through Time

  • Authors:
  • Nissa Osheim;Michelle Mills Strout;Dave Rostron;Sanjay Rajopadhye

  • Affiliations:
  • Colorado State University, Fort Collins, USA CO 80523;Colorado State University, Fort Collins, USA CO 80523;Colorado State University, Fort Collins, USA CO 80523;Colorado State University, Fort Collins, USA CO 80523

  • Venue:
  • Languages and Compilers for Parallel Computing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Partial differential equation solvers spend most of their computation time performing nearest neighbor (stencil) computations on grids that model spatial domains. Tiling is an effective performance optimization for improving the data locality and enabling course-grain parallelization for such computations. However, when the domains are periodic, tiling through time is not directly applicable due to wrap-around dependencies. It is possible to tile within the spatial domain, but tiling across time (i.e. time skewing) is not legal since no constant skewing can render all loops fully permutable. We introduce a technique called smashing that maps a periodic domain to computer memory without creating any wrap-around dependencies. For a periodic cylinder domain where time skewing improves performance, the performance of smashing is comparable to another method, circular skewing, which also handles the periodicity of a cylinder. Unlike circular skewing, smashing can remove wrap-around dependencies for an icosahedron model of earth's atmosphere.