OPESCI: Open Performance-portablE SeismiC Imaging
The OPESCI project seeks to leverage modern trends in computer science and numerical analysis to create a high performance software framework for subsurface imaging. The development focus is on utilising symbolic computation and automated code generation to provide highly optimised solver kernels for seismic inversion methods. The core aim of OPESCI is to provide geophysicists with an infrastructure that allows rapid research, development and deployment through the use multi-layered abstractions while providing performance portability across a range of many-core computer architectures.
- Domain-specific languages (DSL) and automatic differentiation (AD)
- Code generation for High Performance Computing (HPC)
- Stencil compilers and automated performance optimisation
- Multi-layered abstractions and performance portability
Devito is a code generation framework that utilises SymPy to generate highly optimised finite difference solvers from high-level symbolic problem definitions. Devito was created as part of the OPESCI project and is intended to generate wave propagation kernels for seismic inversion workflows with very little development effort. More information and examples can be found here.