GMRESBlockSchur

Published configurations

Measures the public native GMRES solver on the complete Taylor–Hood Stokes system, with the original pressure-mean multiplier and unit viscosity.

Measured operation

Each invocation starts from zero and includes fixed block-preconditioner setup and a restarted GMRES solve. The velocity block uses incomplete Cholesky; a pressure mass factorization approximates the Schur complement, with the mean constraint handled explicitly. No dense Stokes Schur matrix is constructed. Meshes, assembly and pressure mass construction are outside timing. This measurement has no residual-correction solve.

Numerical qualification

All original cell families, degrees and resolutions remain registered. Restart is 60, the maximum iteration count is 1200 and the backend tolerance is 1e-13. Setup and repeated solves retain the original independent coefficient-error, true-residual, affine-patch and sensitivity checks. The backend error estimate is recorded separately and does not replace the true residual.

The missing-pressure control is scaled by the independently assembled forcing load on unconstrained velocity test DOFs, not by Dirichlet-elimination entries in the full right-hand side. Since the affine field has zero viscous divergence, the omitted residual must equal the negative load within the full-RHS-normalized 10−11 residual tolerance, with relative magnitude above 10−4. The original full-RHS-normalized counter is retained for comparison.

Timing history

RodinStokesGMRESBenchmarks · auto · slow · ranks: 1

No timing history has been published for this component.

Benchmark machine and measurement conditions

Published CI benchmarks run on standard GitHub-hosted ubuntu-24.04 virtual machines for public repositories.

SystemCPUMemorySSD
Ubuntu 24.04, x644 vCPUs16 GB14 GB

The benchmark builds use GCC 14 and Release mode. Each job runs one benchmark executable at a time. OpenMP, OpenBLAS and MKL use one thread; MPI ranks share the same runner. The selected configuration identifies the build and rank count.

The CPU model and host load can vary between virtual machines, so small timing differences should be checked across repeated runs. GitHub runner specifications describe the available hardware. The source workflow is BenchmarkGroup.yml.