Towards the automatic optimization of geometric multigrid methods with evolutionary computation

For many linear and nonlinear systems that arise from the discretization of partial differential equations the construction of an efficient multigrid solver is a challenging task. Here we present a novel approach for the optimization of geometric multigrid methods that is based on evolutionary computation, a generic program optimization technique inspired by the principle of natural evolution. A multigrid solver is represented as a tree of mathematical expressions which we generate based on a tailored grammar. The quality of each solver is evaluated in terms of convergence and compute performance using automated Local Fourier Analysis (LFA) and roofline performance modeling, respectively. Based on these objectives a multi-objective optimization is performed using strongly typed genetic programming with a non-dominated sorting based selection. To evaluate the model-based prediction and to target concrete applications, scalable implementations of an evolved solver can be automatically generated with the ExaStencils code generation framework. We demonstrate our approach by constructing multigrid solvers for Poisson’s equation with constant and variable coefficients.

[2]  Petros Koumoutsakos,et al.  Reducing the Time Complexity of the Derandomized Evolution Strategy with Covariance Matrix Adaptation (CMA-ES) , 2003, Evolutionary Computation.

[3]  Kalyanmoy Deb,et al.  A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II , 2000, PPSN.

[4]  Gerhard Wellein,et al.  Exploring performance and power properties of modern multi‐core chips via simple machine models , 2012, Concurr. Comput. Pract. Exp..

[5]  Jürgen Teich,et al.  ExaSlang: A Domain-Specific Language for Highly Scalable Multigrid Solvers , 2014, 2014 Fourth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing.

[6]  Riccardo Poli,et al.  A Field Guide to Genetic Programming , 2008 .

[7]  Danna Zhou,et al.  d. , 1934, Microbial pathogenesis.

[8]  Wolfgang Joppich,et al.  Practical Fourier Analysis for Multigrid Methods , 2004 .

[9]  Hannah Rittich Extending and Automating Fourier Analysis for Multigrid Methods , 2018 .

[10]  Stefan Roth,et al.  Covariance Matrix Adaptation for Multi-objective Optimization , 2007, Evolutionary Computation.

[11]  Marc Parizeau,et al.  DEAP: evolutionary algorithms made easy , 2012, J. Mach. Learn. Res..

[12]  John R. Koza,et al.  Human-competitive results produced by genetic programming , 2010, Genetic Programming and Evolvable Machines.

[13]  Samuel Williams,et al.  Roofline: an insightful visual performance model for multicore architectures , 2009, CACM.

[14]  David J. Montana,et al.  Strongly Typed Genetic Programming , 1995, Evolutionary Computation.

[15]  Yousef Saad,et al.  Iterative methods for sparse linear systems , 2003 .

[16]  John R. Koza,et al.  Genetic programming as a means for programming computers by natural selection , 1994 .

[17]  Ulrich Rüde,et al.  Optimizing the number of multigrid cycles in the full multigrid algorithm , 2010, Numer. Linear Algebra Appl..

[18]  Hans-Paul Schwefel,et al.  Evolution strategies – A comprehensive introduction , 2002, Natural Computing.

[19]  Matthias Bolten,et al.  Fourier Analysis of Periodic Stencils in Multigrid Methods , 2018, SIAM J. Sci. Comput..

[20]  Richard S. Sutton,et al.  Reinforcement Learning: An Introduction , 1998, IEEE Trans. Neural Networks.

[21]  Harald Köstler,et al.  Genetic programming meets linear algebra: how genetic programming can be used to find improved iterative numerical methods , 2017, GECCO.

[22]  Csaba Szepesvári,et al.  Bandit Based Monte-Carlo Planning , 2006, ECML.

[23]  Wolfgang Hackbusch,et al.  Multi-grid methods and applications , 1985, Springer series in computational mathematics.