Optimization and Performance Modeling of Stencil Computations on Modern Microprocessors
Open accessAbstract
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.
Integrity signals
Registry
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.
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
- M. Berger and J. Oliger. Adaptive mesh refinement for hyperbolic partial differential equations. Journal of Computational Physics, 53:484-512, 1984.
- M. Frigo and V. Strumpen. Cache oblivious stencil computations. In Proc. of the 19th ACM International Conference on Supercomputing (ICS05), Boston, MA, 2005.
- 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.
- 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.
- 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.
- 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.
- J. McCalpin. Memory bandwidth and machine balance in current high performance computers. IEEE TCAA Newsletter, December 1995.
- G. Rivera and C. Tseng. Tiling optimizations for 3d scientific computations. In Proceedings of SC'00, Dallas, TX, November 2000. Supercomputing 2000.
- S. Sellappa and S. Chatterjee. Cache-efficient multigrid algorithms. International Journal of High Performance Computing Applications, 18(1):115-133, 2004.
- G. Smith. Numerical Solution of Partial Differential Equations: Finite Difference Methods. Oxford University Press, 2004.
- 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.
- 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.
- 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.
- 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.
- 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
An auto-tuning framework for parallel multicore stencil computations
Kamil, S., Chan, C., Oliker, L., Shalf, J., & Williams, S. (2010) · 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS) · doi:10.1109/ipdps.2010.5470421 · Cited by 209 · see citing works
Self-citation
- 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