An Efficient Multicore Linear Solver for Reservoir Simulation Applications
Bibliographic record
Abstract
Abstract We present a suite of algorithms for the iterative solution of linear systems of algebraic equations arising in reservoir simulations. Usually, the solution of linear systems is the most time-consuming part of reservoir simulations, especially for complex physical models. Significant progress in multi-core architectures in the last decade allows now to solve large and complex problems on desktop computers. Moreover, multi-core algorithms can be naturally used as building blocks in hybrid (MPI+SMP) linear solvers. The suite includes the following parallel algorithms: one partitioner, four preconditioners, and several iterative methods. The partitioner smpKWPT implements a multilevel p-way graph partitioning (similar to METIS) for multicore architectures. It generates partitions with quality similar or better than quality of the partitions produced by METIS. Three parallel preconditioners OverlapFILU, RecursiveFILU, and MultiLevelILUC are intended for preconditioning general matrices, and one preconditioner MultiLevelRIC - for SPD matrices. OverlapFILU implements the most efficient Additive Schwarz algorithms. RecursiveFILU is based on non-overlapping domain decomposition paradigm with parallel truncated factorization of the domain matrices and factorization of the interface matrix. MultiLevelILUC and MultiLevelRIC implement a parallel multilevel framework based on 2x2 splitting with a good quality leading diagonal block and a second diagonal block, containing the Schur complement, which is an initial matrix for the next level. These preconditioners are very robust even for extremely ill conditioned matrices. Several iterative methods are available with an option to control the convergence by the true residuals. The parallel algorithms are based on very efficient serial algorithms and a highly optimized multi-thread computational core. The solver’s workflow is optimized for application in multi-step and multi-right-hand-side simulations. The parallel efficiency of the solver is demonstrated on several real field models. The multi-core solver usually provides 1.8-3.0 times speed-up on 4 cores and 2.5-4.0 on 8 cores. The performance of our algorithms is considerably better than the performance of the similar algorithms in Trilinos and PETSc as shown by examples.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.000 | 0.001 |
| Meta-epidemiology (narrow) | 0.001 | 0.000 |
| Meta-epidemiology (broad) | 0.001 | 0.001 |
| Bibliometrics | 0.000 | 0.001 |
| Science and technology studies | 0.001 | 0.000 |
| Scholarly communication | 0.001 | 0.001 |
| Open science | 0.001 | 0.001 |
| Research integrity | 0.001 | 0.001 |
| Insufficient payload (model declined to judge) | 0.011 | 0.002 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".