dc.description.abstract | Numerical libraries have different properties and performance
depending on the problem and data set at hand, and support different
features such as parallelisation, co-processor acceleration, debugging and
profiling. Having several libraries available can be beneficial for a
complicated and performance sensitive software project. Utilising a new
library is non-trivial, as libraries have different design philosophies and
semantics, so properly integrating them is important for usability and
adoption.
In this thesis, the well-established PETSc library was integrated
with the Open Porous Media (OPM), and an example application was adapted to
use PETSc for numerical computation. The application performance was
measured with several configurations using a real-world data set.
\noindent We found that the fastest PETSc configuration was approximately
48\% faster than the fastest unmodified configuration, and that PETSc is a
viable alternative numerics library for OPM. We did not observe any
benefit when performing numerics on the GPU for this particular workload.
The integration described in this thesis is proposed as a draft
for a unified interface for linear algebra and numerics libraries for OPM, with the goal of
supporting even more third party libraries.
This work was done in collaboration with Statoil. | |