PyTorch has built-in functionality to work with Graphics Processing Units or GPUs, we expect demonstrating -before embarking in the full porting of MRST-, that
PyTorch GPU-based tensors could significantly reduce compute time during reservoir simulation.
Evaluation for Proof of Concept
The steps are the following:
Find the Partial Differential Equations (PDE) that constitute the code of the MRST solvers.
- Test the running times of the solvers using Matlab and Octave. Some code for testing is available in the latest book An Introduction to Reservoir Simulation Using MATLAB, Octave by Knut-Andreas Lie. See Appendix.
- Code is being tested for performance under Matlab and Octave. Code will be published in a separate repository.
Replicate the functionality in Python using PyTorch for GPUs.
- Convert the Matlab code to PyTorch
- Measure the compute time of the original
If the compute times are 10 to 100 faster in
PyTorch, we will proceed with converting more Matlab code to PyTorch tensor based calculations.
- MRST (downloaded)
- SPE10: model1, model2
- SPE10 from MRST contains
- Not all datasets from
OPMincluded here; only SPE, SPE9 and SPE10.
- SPE10 does not download using MRST-2018. It had to be downloaded from another source. MRST-2019 does download SPE10 normally
- VOLVE and PUNQS3 available for reference at this time. Tests will mainly focused to datasets available in MRST first.