A Fast Algorithm for Aperiodic Linear Stencil Computation using Fast Fourier Transforms
-
Published:2023-12-14
Issue:4
Volume:10
Page:1-34
-
ISSN:2329-4949
-
Container-title:ACM Transactions on Parallel Computing
-
language:en
-
Short-container-title:ACM Trans. Parallel Comput.
Author:
Ahmad Zafar1ORCID,
Chowdhury Rezaul1ORCID,
Das Rathish2ORCID,
Ganapathi Pramod1ORCID,
Gregory Aaron1ORCID,
Zhu Yimin1ORCID
Affiliation:
1. Stony Brook University, USA
2. University of Houston, USA
Abstract
Stencil computations are widely used to simulate the change of state of physical systems across a multidimensional grid over multiple timesteps. The state-of-the-art techniques in this area fall into three groups: cache-aware tiled looping algorithms, cache-oblivious divide-and-conquer trapezoidal algorithms, and Krylov subspace methods.
In this article, we present two efficient parallel algorithms for performing linear stencil computations. Current direct solvers in this domain are computationally inefficient, and Krylov methods require manual labor and mathematical training. We solve these problems for linear stencils by using discrete Fourier transforms preconditioning on a Krylov method to achieve a direct solver that is both fast and general. Indeed, while all currently available algorithms for solving general linear stencils perform Θ(
NT
) work, where
N
is the size of the spatial grid and
T
is the number of timesteps, our algorithms perform
o
(
NT
) work.
To the best of our knowledge, we give the first algorithms that use fast Fourier transforms to compute final grid data by evolving the initial data for many timesteps at once. Our algorithms handle both periodic and aperiodic boundary conditions and achieve polynomially better performance bounds (i.e., computational complexity and parallel runtime) than all other existing solutions.
Initial experimental results show that implementations of our algorithms that evolve grids of roughly 10
7
cells for around 10
5
timesteps run orders of magnitude faster than state-of-the-art implementations for periodic stencil problems, and 1.3× to 8.5× faster for aperiodic stencil problems.
Code Repository:
https://github.com/TEAlab/FFTStencils
Funder
NSF
Canada Research Chairs Programme and NSERC Discovery
Extreme Science and Engineering Discovery Environment
XSEDE
Publisher
Association for Computing Machinery (ACM)
Subject
Computational Theory and Mathematics,Computer Science Applications,Hardware and Architecture,Modeling and Simulation,Software
Reference156 articles.
1. Intel MKL. Intel Math Kernel Library. Retrieved from https://software.intel.com/content/www/us/en/develop/tools/math-kernel-library.html
2. LLVM MKL. LLVM Framework for High-Level Loop and Data-Locality Optimizations. Retrieved from https://polly.llvm.org/
3. Pluto. An Sutomatic Parallelizer and Locality Optimizer for Affine Loop Nests. Retrieved from http://pluto-compiler.sourceforge.net/
4. PoCC. The Polyhedral Compiler Collection. Retrieved from http://web.cs.ucla.edu/pouchet/software/pocc/
5. Stampede2. The Stampede2 Supercomputing Cluster. Retrieved from https://www.tacc.utexas.edu/systems/stampede2