SparseAlgebra
Published configurations
Sparse products and reductions on manufactured finite-element systems.
Measured operation
Isolates the Math operations used inside constrained CG iterations.
Matrices are the actual constrained Poisson, conductivity and scalar reaction--diffusion operators, not synthetic dimension-dependent stencils. Mesh/space construction, original-kernel comparison, matrix assembly, vector allocation and numerical checks precede timing. Products overwrite a preallocated output; reductions return a scalar. These scopes exclude preconditioner setup, solver control and assembly.
Numerical guards
An independent serial traversal accumulates products and Hermitian dot products using long double (whose precision is reported, not assumed). Non-collinear complex vector components exercise conjugation. Manufactured coefficients separately check the assembled equation. Wrong outputs must be rejected. No timing assertion, CTest entry, storage-layout change or relaxed arithmetic is introduced.
Recorded results
Each case retains its original inputs, iteration policy and correctness checks. Raw reports preserve counters, repetitions and the Google Benchmark context. CPU, wall and manually supplied times are labeled separately; unlike operations and configurations are not averaged together.
Timing history
RodinSparseAlgebraBenchmarks · 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.
| System | CPU | Memory | SSD |
|---|---|---|---|
| Ubuntu 24.04, x64 | 4 vCPUs | 16 GB | 14 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.