Automatic Generation of Adaptive Simulation Codes

Cédric Bastoul 1 César Sabater 2
1 CAMUS - Compilation pour les Architectures MUlti-coeurS
Inria Nancy - Grand Est, ICube - Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie
Abstract : Compiler automatic optimization and parallelization techniques are well suited for some classes of simulation or signal processing applications, however they usually don't take into account neither domain-specific knowledge nor the possibility to change or to remove some computations to achieve “good enough” results. Quite differently, production simulation and signal processing codes have adaptive capabilities: they are designed to compute precise results only where it matters if the complete problem is not tractable or if the computation time must be short. In this work, we present a new way to provide adaptive capabilities to compute-intensive codes automatically, inspired by Adaptive Mesh Refinement, a classical numerical analysis technique to achieve precise computation only in pertinent areas. It relies on domain-specific knowledge provided through special pragmas by the programmer in the input code and on polyhedral compilation techniques, to continuously regenerate at runtime a code that performs heavy computations only where it matters at every moment. A case study on a fluid simulation application shows that our strategy enables dramatic computation savings in the optimized portion of the application while maintaining good precision, with a minimal effort from the programmer.
Complete list of metadatas
Contributor : Cédric Bastoul <>
Submitted on : Thursday, December 17, 2015 - 1:53:30 PM
Last modification on : Saturday, October 27, 2018 - 1:23:50 AM


  • HAL Id : hal-01245558, version 1


Cédric Bastoul, César Sabater. Automatic Generation of Adaptive Simulation Codes. SimRace, Conference on Numerical Methods and High Performance Computing for Industrial Fluid Flows, IFPEN, Dec 2015, Rueil-Malmaison, France. ⟨hal-01245558⟩



Record views