Algebraic description and automatic generation of multigrid methods in SPIRAL
File(s)Algebraic_description.pdf (353.06 KB)
Accepted version
Author(s)
Bolten, M
Franchetti, F
Kelly, PHJ
Lengauer, C
Mohr, M
Type
Journal Article
Abstract
SPIRAL is an autotuning, program generation and code synthesis system that offers a fully automatic
generation of highly optimized target codes, customized for the specific execution platform at hand. Initially,
SPIRAL was targeted at problem domains in digital signal processing, later also at basic linear algebra.
We open SPIRAL up to a new, practically relevant and challenging domain: multigrid solvers. SPIRAL is
driven by algebraic transformation rules. We specify a set of such rules for a simple multigrid solver with a
Richardson smoother for a discretized square 2D Poisson equation with Dirichlet boundary conditions. We
present the target code that SPIRAL generates in static single-assignment form and discuss its performance.
While this example required no changes of or extensions to the SPIRAL system, more complex multigrid
solvers may require small adaptations.
generation of highly optimized target codes, customized for the specific execution platform at hand. Initially,
SPIRAL was targeted at problem domains in digital signal processing, later also at basic linear algebra.
We open SPIRAL up to a new, practically relevant and challenging domain: multigrid solvers. SPIRAL is
driven by algebraic transformation rules. We specify a set of such rules for a simple multigrid solver with a
Richardson smoother for a discretized square 2D Poisson equation with Dirichlet boundary conditions. We
present the target code that SPIRAL generates in static single-assignment form and discuss its performance.
While this example required no changes of or extensions to the SPIRAL system, more complex multigrid
solvers may require small adaptations.
Date Issued
2017-03-29
Date Acceptance
2017-01-18
Citation
Concurrency and Computation: Practice and Experience, 2017, 29 (17)
ISSN
1532-0634
Publisher
Wiley
Journal / Book Title
Concurrency and Computation: Practice and Experience
Volume
29
Issue
17
Copyright Statement
This is the peer reviewed version of the following article: Bolten M, Franchetti F, Kelly PHJ, Lengauer C, Mohr M. Algebraic description and automatic generation of multigrid methods in SPIRAL. Concurrency Computat: Pract Exper. 2017;29:e4105, which has been published in final form at https://doi.org/10.1002/cpe.4105. This article may be used for non-commercial purposes in accordance With Wiley Terms and Conditions for self-archiving.
Sponsor
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (EPSRC)
Grant Number
EP/I012036/1
EP/L000407/1
Subjects
Science & Technology
Technology
Computer Science, Software Engineering
Computer Science, Theory & Methods
Computer Science
high-performance computing
PDE solvers
multigrid
SPIRAL
program transformation
VARIATIONAL-PROBLEMS
0805 Distributed Computing
0803 Computer Software
Distributed Computing
Publication Status
Published
Article Number
e4105