StokesBinding

Published configurations

Isolates the three local operator kernels consumed by mixed Stokes assembly.

Measured operation

Architecture

The terms are \((\nabla u,\nabla v)\), \((\nabla\cdot u,q)\) and \((p,\nabla\cdot v)\), with velocity degree K and pressure degree K-1. Public integral binding includes owned mapped quadrature, basis transforms and eager local contraction. Mesh traversal and one entry read remain timed; global insertion, constraints and solving do not. Order 16 remains the default and matches the Assembly-owned Stokes workload. Separately named boundary studies hold each mesh and mixed pair fixed while varying only the integration order; they do not change convergence tests. The original generic entry loop qualifies every cell matrix before timing; an entry perturbation must be rejected. A final sweep must reproduce each retained entry exactly. Both mixed orientations are measured rather than inferred from transposition.

or three for explicitly unit-weighted vector diffusion.

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

RodinStokesBindingBenchmarks · 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.