Cited by 217Parallel Computing and Optimization TechniquesMatrix Theory and AlgorithmsComputer Graphics and Visualization Techniques

Optimization and Performance Modeling of Stencil Computations on Modern Microprocessors

Open access
Datta, Kaushik, Kamil, Shoaib, Williams, Samuel, Oliker, Leonid, Shalf, John, Yelick, Katherine·2009·SIAM Review

Abstract

Stencil-based kernels constitute the core of many important scientific applications on block-structured grids. Unfortunately, these codes achieve a low fraction of peak performance, due primarily to the disparity between processor and main memory speeds. In this paper, we explore the impact of trends in memory subsystems on a variety of stencil optimization techniques and develop performance models to analytically guide our optimizations. Our work targets cache reuse methodologies across single and multiple stencil sweeps, examining cache-aware algorithms as well as cache-oblivious techniques on the Intel Itanium2, AMD Opteron, and IBM Power5. Additionally, we consider stencil computations on the heterogeneous multicore design of the Cell processor, a machine with an explicitly managed memory hierarchy. Overall our work represents one of the most extensive analyses of stencil optimizations and performance modeling to date. Results demonstrate that recent trends in memory system organization have reduced the efficacy of traditional cache-blocking optimizations. We also show that a cache-aware implementation is significantly faster than a cache-oblivious approach, while the explicitly managed memory on Cell enables the highest overall efficiency: Cell attains 88% of algorithmic peak while the best competing cache-based processor achieves only 54% of algorithmic peak performance.

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

Crossref · 10.1137/070693199

Cites

Statistics

Claims the paper makes

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • Cache blocking in the unit-stride dimension could be practical on the Victoria Falls architecture, while on Barcelona or Nehalem the presence of hardware prefetchers makes such a transformation non-beneficial.

    “For example, cache blocking in the unit stride dimension could be practical on the Victoria Falls architecture, while on Barcelona or Nehalem, the presence of hardware prefetchers makes such a transformation non-beneficial [5].”

    From An auto-tuning framework for parallel multicore stencil computations (2010) · cites this paper as [5]

    Section 4.1 says hardware prefetching can interfere with cache blocking, and section 7.1 reports better performance when the unit-stride dimension was left uncut. The paper does not establish the claimed contrast between Victoria Falls and Barcelona or Nehalem; section 2.3 identifies its studied processors as Itanium2, Opteron, Power5, and Cell. No page numbers are available in our copy. (LLM, conf=0.88)

    Experimental — accuracy not yet measured

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

The self-check needs the paper’s full text.

Cites

No references could be resolved yet.

Research works printed but not linked: 15

  1. M. Berger and J. Oliger. Adaptive mesh refinement for hyperbolic partial differential equations. Journal of Computational Physics, 53:484-512, 1984.
  2. M. Frigo and V. Strumpen. Cache oblivious stencil computations. In Proc. of the 19th ACM International Conference on Supercomputing (ICS05), Boston, MA, 2005.
  3. S. Kamil, K. Datta, S. Williams, L. Oliker, J. Shalf, and K. Yelick. Implicit and explicit optimizations for stencil computations. In ACM SIGPLAN Workshop Memory Systems Performance and Correctness (MSPC), San Jose, CA, 2006.
  4. S. Kamil, P. Husbands, L. Oliker, J. Shalf, and K. Yelick. Impact of modern memory subsystems on cache optimizations for stencil computations. In 3rd Annual ACM SIGPLAN Workshop on Memory Systems Performance, Chicago,IL, 2005.
  5. C. Leopold. Tight bounds on capacity misses for 3D stencil codes. In Proceedings of the International Conference on Computational Science, volume 2329 of LNCS, pages 843- 852, Amsterdam, The Netherlands, April 2002. Springer.
  6. A. Lim, S. Liao, and M. Lam. Blocking and array contraction across arbitrarily nested loops using affine partitioning. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, June 2001.
  7. J. McCalpin. Memory bandwidth and machine balance in current high performance computers. IEEE TCAA Newsletter, December 1995.
  8. G. Rivera and C. Tseng. Tiling optimizations for 3d scientific computations. In Proceedings of SC'00, Dallas, TX, November 2000. Supercomputing 2000.
  9. S. Sellappa and S. Chatterjee. Cache-efficient multigrid algorithms. International Journal of High Performance Computing Applications, 18(1):115-133, 2004.
  10. G. Smith. Numerical Solution of Partial Differential Equations: Finite Difference Methods. Oxford University Press, 2004.
  11. Y. Song and Z. Li. New tiling techniques to improve cache temporal locality. In Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation, Atlanta, GA, 1999.
  12. S. Venkateswaran and C. Merkle. Analysis of preconditioning methods for the euler and navier- stokes equations. In VKI Lecture Series 1999-03 (Computational Fluid Dynamics), pages 113-114. Von Karman Institute, March 1999.
  13. S. Williams, J. Shalf, L. Oliker, S. Kamil, P. Husbands, and K. Yelick. The potential of the cell processor for scientific computing. In CF '06: Proceedings of the 3rd conference on Computing Frontiers, pages 9-20, New York, NY, USA, 2006. ACM Press.
  14. S. Williams, J. Shalf, L. Oliker, S. Kamil, P. Husbands, and K. Yelick. Scientific computing kernels on the cell processor. In International Journal of Parallel Programming, pages 263-298, June 2007.
  15. D. Wonnacott. Using time skewing to eliminate idle time due to memory bandwidth and network limitations. In IPDPS:Interational Conference on Parallel and Distributed Com- puting Systems, Cancun, Mexico, 2000.

Cited by

Sorted by citations

Authors
Datta, K., Kamil, S., Williams, S., Oliker, L., Shalf, J., & Yelick, K.
Corresponding author
Datta, Kaushik
Venue
SIAM Review
Published
2009-02-05
Volume
51
Issue
1
Pages
129-159
ISSN
  • 0036-1445 (ISSN-L)
  • 1095-7200
OpenAlex
W1547833503
Cited by
217
References
0
Citations by year
2026: 2 · 2025: 2 · 2024: 1 · 2023: 6 · 2022: 5 · 2021: 9 · 2020: 8 · 2019: 14 · 2018: 15 · 2017: 15 · 2016: 17 · 2015: 21 · 2014: 21 · 2013: 13 · 2012: 22
FWCI
34.33
Type
journal article
Language
en
Open access
Locations
  • SIAM Review (publishedVersion)
  • University of North Texas Digital Library (University of North Texas) (submittedVersion)
  • OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) (submittedVersion)
  • eScholarship (California Digital Library) (submittedVersion)
  • Lawrence Berkeley National Laboratory
Topics
  • Physical Sciences › Computer Science › Hardware and Architecture › Parallel Computing and Optimization Techniques
  • Physical Sciences › Computer Science › Computational Theory and Mathematics › Matrix Theory and Algorithms
  • Physical Sciences › Computer Science › Computer Graphics and Computer-Aided Design › Computer Graphics and Visualization Techniques
Keywords
stencil computations, performance modeling, cache reuse, cache-aware algorithms, cache-oblivious algorithms, cache blocking, memory hierarchy, block-structured grids, Cell processor, multi-core processors, AMD Opteron, peak performance

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review