Loading [MathJax]/extensions/MathMenu.js
Temporal Vectorization for Stencils | IEEE Conference Publication | IEEE Xplore

Temporal Vectorization for Stencils


Abstract:

Stencil computations represent a very common class of nested loops in scientific and engineering applications. Exploiting vector units in modern CPUs is crucial to achiev...Show More

Abstract:

Stencil computations represent a very common class of nested loops in scientific and engineering applications. Exploiting vector units in modern CPUs is crucial to achieving peak performance. Previous vectorization approaches often consider the data space, in particular the innermost unit-strided loop. It leads to the well-known data alignment conflict problem that vector loads are overlapped due to the data sharing between continuous stencil computations. This paper proposes a novel temporal vectorization scheme for stencils. It vectorizes the stencil computation in the iteration space and assembles points with different time coordinates in one vector. The temporal vectorization leads to a small fixed number of vector reorganizations that is irrelevant to the vector length, stencil order, and dimension. Furthermore, it is also applicable to Gauss-Seidel stencils, whose vectorization is not well-studied. The effectiveness of the temporal vectorization is demonstrated by various Jacobi and Gauss-Seidel stencils.
Date of Conference: 14-19 November 2021
Date Added to IEEE Xplore: 18 October 2022
ISBN Information:

ISSN Information:

Conference Location: St. Louis, MO, USA

Funding Agency:


1 Introduction

The stencil computation is identified as one of the thirteen Berkeley motifs and represents a very common class of nested loops in scientific and engineering applications, dynamic programming, and image processing algorithms. A stencil is a pre-defined pattern of neighbor points used for updating a given point. The stencil computation involves time-iterated updates on a regular d-dimensional grid, called the data space or spatial space. The data space is updated along the time dimension, generating a (d + 1) -dimensional space referred to as the iteration space. The stencils can be classified from various perspectives, such as the grid dimensions (1D, 2D, …), orders (number of neighbors, 3-point, 5-point, …), shapes (box, star, …), dependence types (Gauss-Seidel, Jacobi) and boundary conditions (constant, periodic, …).

Contact IEEE to Subscribe

References

References is not available for this document.