Algebraic description and automatic generation of multigrid methods in SPIRAL

作者:Bolten Matthias; Franchetti Franz*; Kelly Paul H J; Lengauer Christian; Mohr Marcus
来源:Concurrency and Computation-Practice & Experience, 2017, 29(17): e4105.
DOI:10.1002/cpe.4105

摘要

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.

  • 出版日期2017-9-10