Enhancing OPM-based Reservoir Simulation via PETSc integration
Abstract
Numerical libraries have different properties and performancedepending on the problem and data set at hand, and support differentfeatures such as parallelisation, co-processor acceleration, debugging andprofiling. Having several libraries available can be beneficial for acomplicated and performance sensitive software project. Utilising a newlibrary is non-trivial, as libraries have different design philosophies andsemantics, so properly integrating them is important for usability andadoption.
In this thesis, the well-established PETSc library was integratedwith the Open Porous Media (OPM), and an example application was adapted touse PETSc for numerical computation. The application performance wasmeasured with several configurations using a real-world data set.
\noindent We found that the fastest PETSc configuration was approximately48\% faster than the fastest unmodified configuration, and that PETSc is aviable alternative numerics library for OPM. We did not observe anybenefit when performing numerics on the GPU for this particular workload.
The integration described in this thesis is proposed as a draftfor a unified interface for linear algebra and numerics libraries for OPM, with the goal ofsupporting even more third party libraries.
This work was done in collaboration with Statoil.