English

Leveraging shared caches for parallel temporal blocking of stencil codes on multicore processors and clusters

Distributed, Parallel, and Cluster Computing 2010-06-17 v1 Performance

Abstract

Bandwidth-starved multicore chips have become ubiquitous. It is well known that the performance of stencil codes can be improved by temporal blocking, lessening the pressure on the memory interface. We introduce a new pipelined approach that makes explicit use of shared caches in multicore environments and minimizes synchronization and boundary overhead. Benchmark results are presented for three current x86-based microprocessors, showing clearly that our optimization works best on designs with high-speed shared caches and low memory bandwidth per core. We furthermore demonstrate that simple bandwidth-based performance models are inaccurate for this kind of algorithm and employ a more elaborate, synthetic modeling procedure. Finally we show that temporal blocking can be employed successfully in a hybrid shared/distributed-memory environment, albeit with limited benefit at strong scaling.

Keywords

Cite

@article{arxiv.1006.3148,
  title  = {Leveraging shared caches for parallel temporal blocking of stencil codes on multicore processors and clusters},
  author = {Markus Wittmann and Georg Hager and Jan Treibig and Gerhard Wellein},
  journal= {arXiv preprint arXiv:1006.3148},
  year   = {2010}
}

Comments

16 pages, 10 figures

R2 v1 2026-06-21T15:36:59.186Z