D-TEC / AMRStencil
D-TEC (also here) defines approaches to construct Domain Specific Languages (DSLs). Different sorts of DSLs are targets for this work; DSLs constructed from existing languages without syntax extension (embedded DSLs) and DSLs with syntax extension to existing base languages. D-TEC funded under the DOE ASCR X-Stack project (also here and here).
AMRStencil is being developed based on a small subset of the Chombo C++ framework/library and some representative examples.
A few new classes, Stencil and RectMDArray, have been add to a minimal subset of Chombo. These classes are currently implemented in C++ but will become part of a Domain Specific Language (DSL) which will be compiled directly. This is being done to produce programs that will run more efficiently on a widely variety of current and future computer architectures.
Using the AMRStencil library, a number of numerical computations are being implemented as examples written using the DSL:
- Multigrid (with and without AMR)
- Fluid Dynamics (with and without AMR)
The multigrid w/o AMR example has been implemented and is being used to develop the DSL compiler(s). The exercise has identified issues that needed to be resolved in the DSL and clarifications to the DSL. Documentation of the classes involved can be found here. This includes the multigrid w/o AMR code and the library.