A Mixed-Precision, GPU-Native Constrained-Pressure-Residual Solver for Fully Implicit Reservoir Simulation
We present NVRS-CUDA, a GPU-resident, fully implicit three-phase black-oil simulator with dissolved gas and vaporised oil. Property evaluation, analytic Jacobian assembly, algebraic multigrid and well calculations execute on the device. The linear solver combines flexible GMRES with a two-stage constrained-pressure-residual (CPR) preconditioner. State variables, residuals and Krylov recurrences retain double precision, while preconditioning uses lower precision. Perturbation, memory-traffic and double-word arithmetic analyses guide the precision assignments and implementation. A block-sparse operator reduces its cost per Krylov iteration by a factor of 1.23, close to the predicted 1.31, and outperforms the vendor's block-sparse product by 2.7x in isolated tests on NVIDIA GB200. A factorial ablation separates this benefit from CUDA-graph replay, which provides no net gain at low reuse and is disabled below the measured break-even point. Double-word arithmetic achieves double-precision accuracy but is slower than native FP64 on both GB200 and VR72. Mixed precision benefits the preconditioner: measured pressure-matrix conditioning supports single precision but leaves no accuracy margin for half precision. On Norne (44,431 active cells, 3,312 simulated days), NVRS-CUDA completes in 46.75 s on one GB200, compared with 165.62 s for the fastest tested OPM Flow 2024.10 configuration using 16 CPU ranks, a 3.5x speed-up. Execution is also demonstrated on VR72, where one GPU completes 1,000 days of SPE10 model 2 (1.12 million cells) in 41.21 s, versus 766.16 s for the reference CPU solver on two threads. On Norne, median range-normalised oil-rate error is 9.3%, cumulative oil production differs by 0.54%, and 17 of 21 producers reach breakthrough within two reference report steps. These speed-ups require a looser material-balance tolerance than the reference; discrete water-balance error remains within 0.68%. At the reference tolerance of 1e-7, Newton stagnation increases Norne runtime to 2,901 s on VR72. Nonlinear convergence therefore remains the principal limitation. Files in this record. The main paper (31 pages, 11 figures, 20 tables), a supplementary document (13 pages) with additional per-well diagnostics and configuration detail, and the complete LaTeX source of the paper.
Authors
- Nick Luiken (ORCID: https://orcid.org/0000-0003-3307-1748)
- Issam Saïd
- Clement Etienam
- Oleg Ovcharenko
- Tsubasa Onishi
Institutions
- Nvidia (United States) (US)
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2026-10-26
- DOI
- https://doi.org/10.5281/zenodo.23669175
- Primary Topic
- Matrix Theory and Algorithms
- Type
- preprint