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

Institutions

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
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
preprint

A Mixed-Precision, GPU-Native Constrained-Pressure-Residual Solver for Fully Implicit Reservoir Simulation

Nick Luiken, Issam Saïd, Clement Etienam, Oleg Ovcharenko et al.
Zenodo (CERN European Organization for Nuclear Research)
Matrix Theory and Algorithms
preprint

A Mixed-Precision, GPU-Native Constrained-Pressure-Residual Solver for Fully Implicit Reservoir Simulation

Nick Luiken, Issam Saïd, Clement Etienam, Oleg Ovcharenko, Tsubasa Onishi
preprint en

Abstract

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.

Zenodo (CERN European Organization for Nuclear Research)
Nvidia (United States) (US)
Matrix Theory and Algorithms
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Laika access coming soon