arrow
Return

Efficient multicore-aware parallelization strategies for iterative stencil computations

delete2011-05-01
delete31
delete
OA
AI
J
Jan Treibig
G
Gerhard Wellein
G
Georg Hager *
DOI:10.1016/j.jocs.2011.01.010delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Stencil computations consume a major part of runtime in many scientific simulation codes. As prototypes for this class of algorithms we consider the iterative Jacobi and Gauss-Seidel smoothers and aim at highly efficient parallel implementations for cache-based multicore architectures. Temporal cache blocking is a known advanced optimization technique, which can reduce the pressure on the memory bus significantly. We apply and refine this optimization for a recently presented temporal blocking strategy designed to explicitly utilize multicore characteristics. Especially for the case of Gauss-Seidel smoothers we show that simultaneous multi-threading (SMT) can yield substantial performance improvements for our optimized algorithm on some architectures. (C) 2011 Elsevier B.V. All rights reserved.
Keywords:
Stencil computations
Spatial blocking
Temporal blocking
Wavefront parallelization
Multicore
Simultaneous multi-threading
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Nature Computational Science cover
Nature Computational Science
IF:
18.3
Papers:
3.1K
Citations:
4.0K

Organization

U
University of Erlangen Nuremberg
Scholars:
3.2W
Papers: 2.6W
Citations: 29
Cited Papers

Cited Papers

Heavy metal removal from water by adsorption using a low-cost geopolymer
err2020-04-18
err0
PREAI
errLaxmipriya Panda; Sandeep K. Jena; Swagat S. Rath; Pramila K. Misra
errShare
errSave
Optimization and Performance Modeling of Stencil Computations on Modern Microprocessors
err2009-02-05
err153
errOAAI
errDatta, Kaushik; Kamil, Shoaib; Williams, Samuel; Oliker, Leonid; Shalf, John; Yelick, Katherine
errShare
errSave
errShare
errSave