FieldDerivative

Published configurations

Public grid-function differential evaluation across binding protocols.

Measured operation

Measures field derivatives rather than individual shape derivatives.

Mathematical foundation

Degree-one scopes interpolate the affine field \(f(x)=\eta(1+\sum_j(j+1)x_j)\). Higher-order scopes use \(f(x)=\eta(1+\sum_j(j+1)(x_j+x_j^2))\), whose varying derivative checks sample dependence. Vector fields have components \(u_c=(c+1)f\). Here \(\eta=1\) or \(1+i/2\). Interpolation applies the space's DOF functionals; no coefficient layout or nodal-value interpretation is assumed. Analytic gradients/Jacobians, perturbation rejection and coefficient scaling \(1\to2\to1\) are checked outside timing. Repeating the timed protocol must reproduce every retained entry exactly; different protocols are not required to have identical floating-point association.

Architecture

The same retained cell and mapped samples are used by direct geometric-point, provenance-only integration-point and owner/index-associated protocols. Geometry, scalar reference tables, interpolation and output buffers are prepared before timing. Public differential evaluation and output assignment remain timed. This isolates the source fallback consumed by error integration without changing convergence quadrature, meshes, norms or solver requirements. Native P1 remains a separate control: an associated binding does not promise that every differential implementation consumes reference tables. These are local, opt-in component benchmarks, not CTest or CI timing gates.

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

RodinFieldDerivativeBenchmarks · auto · regular · 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.