Stencil codes are a lass of iterative kernels which update array elements according to some fixed patten. They are commonly used in computer simulations , like computational fluid dynamics in the context of scientific and engineering application, solving partial differential equations, Jacobi kernel, Gauss-Seidel method, image processing and cellular automata.
Stencil codes usually perform a sequence of sweeps through a given 2- or 3- dimensional array. In addition to their importance in scientific calculations, stencils are interesting as an architectural evaluation benchmark because they have abundant parallelism and low computational intensity, offering a mixture of opportunities for on-chip parallelism and challenges for associated memory systems.
Data Layout Transformation for Structured-Grid Codes on GPU I-Jui Sung, Wen-Mei Hwu University of Illinois at Urbana-Champaign(PACT 2010)
Stencil Computation Optimization and Auto-tuning on State-of-the-Art Multicore Architectures, Kaushik Datta, SC’08
Tiling optimizations for 3D scientific computations ( Supercomputing’00)
Impact of modern memory subsystems on cache optimizations for stencil computations ( MSP’05)
Schedule-independent storage mapping for loops (ASPLOS’98)
Optimization and Performance Modeling of Stencil Computations on Modern Microprocessors (SIAM’09)
近期评论