BoxLib with Tiling: An Adaptive Mesh Refinement Software Framework

In this paper we introduce a block-structured adaptive mesh refinement software framework that incorporates tiling, a well-known loop transformation. Because the multiscale, multiphysics codes built in BoxLib are designed to solve complex systems at high resolution, performance on current and next generation architectures is essential. With the expectation of many more cores per node on next generation architectures, the ability to effectively utilize threads within a node is essential, and the current model for parallelization will not be sufficient. We describe a new version of BoxLib in which the tiling constructs are embedded so that BoxLib-based applications can easily realize expected performance gains without extra effort on the part of the application developer. We also discuss a path forward to enable future versions of BoxLib to take advantage of NUMA-aware optimizations using the TiDA portable library.

[1]  Ann Almgren,et al.  A Low Mach Number Model for Moist Atmospheric Flows , 2014, 1409.2861.

[2]  Jean M. Sexton,et al.  Nyx: A MASSIVELY PARALLEL AMR CODE FOR COMPUTATIONAL COSMOLOGY , 2013, J. Open Source Softw..

[3]  Weiqun Zhang,et al.  Optimizing for Reacting Navier-Stokes Equations , 2015 .

[4]  Brian van Straalen,et al.  A survey of high level frameworks in block-structured adaptive mesh refinement packages , 2014, J. Parallel Distributed Comput..

[5]  G. D. Byrne,et al.  VODE: a variable-coefficient ODE solver , 1989 .

[6]  Ken Kennedy,et al.  Compiler blockability of numerical algorithms , 1992, Proceedings Supercomputing '92.

[7]  Nectarios Koziris,et al.  Automatic parallel code generation for tiled nested loops , 2004, SAC '04.

[8]  L. H. Howell,et al.  CASTRO: A NEW COMPRESSIBLE ASTROPHYSICAL SOLVER. I. HYDRODYNAMICS AND SELF-GRAVITY , 2010, 1005.0114.

[9]  A. S. Almgren,et al.  THE DEFLAGRATION STAGE OF CHANDRASEKHAR MASS MODELS FOR TYPE Ia SUPERNOVAE. I. EARLY EVOLUTION , 2013, 1309.4042.

[10]  J. B. Bell,et al.  High-order algorithms for compressible reacting flow with complex chemistry , 2013, 1309.7327.

[11]  Ann S. Almgren,et al.  A Numerical Study of Methods for Moist Atmospheric Flows: Compressible Equations , 2013, 1311.4265.

[12]  Chau-Wen Tseng,et al.  Tiling Optimizations for 3D Scientific Computations , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[13]  Marcus S. Day,et al.  Turbulence-chemistry interaction in lean premixed hydrogen combustion , 2015 .

[14]  Michael Wolfe,et al.  More iteration space tiling , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[15]  George Shu Heng Pau,et al.  An adaptive mesh refinement algorithm for compressible two-phase flow in porous media , 2012, Computational Geosciences.

[16]  M. White,et al.  The Lyman α forest in optically thin hydrodynamical simulations , 2014, 1406.6361.

[17]  Michael Zingale,et al.  Low Mach Number Modeling of Type Ia Supernovae , 2005 .

[18]  A. S. Almgren,et al.  MAESTRO: AN ADAPTIVE LOW MACH NUMBER HYDRODYNAMICS ALGORITHM FOR STELLAR FLOWS , 2010, 1005.0112.

[19]  Zhenwei Zhao,et al.  An updated comprehensive kinetic model of hydrogen combustion , 2004 .

[20]  Scott B. Baden,et al.  Mint: realizing CUDA performance in 3D stencil methods with annotated C , 2011, ICS '11.

[21]  M S Day,et al.  Numerical simulation of laminar reacting flows with complex chemistry , 2000 .

[22]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[23]  Marcus S. Day,et al.  Simulation of nitrogen emissions in a premixed hydrogen flame stabilized on a low swirl burner , 2013 .

[24]  B. Fryxell,et al.  FLASH: An Adaptive Mesh Hydrodynamics Code for Modeling Astrophysical Thermonuclear Flashes , 2000 .

[25]  Zhiyuan Li,et al.  New tiling techniques to improve cache temporal locality , 1999, PLDI '99.

[26]  John Shalf,et al.  Tiling as a Durable Abstraction for Parallelism and Data Locality , 2013 .

[27]  John Shalf,et al.  TiDA: High-Level Programming Abstractions for Data Locality Management , 2016, ISC.