Skip to content

Resident benchmark and memory-budget record

Scope and source of record

The required resident source of record is the machine-generated schema-v3 artifact .artifacts/benchmarks/resident_capture_comparison.json. The legacy .artifacts/benchmarks/gpu_benchmark_results.json is coagulation-only and is not a resident substitute. This report transcribes reviewed resident artifacts without inference; it does not create benchmark evidence.

Reproduction command and fixed matrix

Collect the opt-in CUDA/native-capture-only evidence with no CPU or Warp-CPU fallback:

pytest particula/gpu/tests/benchmark_test.py --benchmark -k resident -v -s --no-cov

The fixed matrix has 1, 10, 100, and 1000 boxes, each shaped (B, 16, 2), with 100% activity. Its process list is communication, condensation, coagulation, dilution, wall loss, nucleation, and diagnostics; it uses gas communication and gas/saturation diagnostics. It uses seed 1582, two warmups, and three samples. Planning inputs are a 2 GiB budget and configured request estimates of 64 MiB, 256 MiB, 1 GiB, and 4 GiB for 1, 10, 100, and 1000 boxes, respectively. These estimates are not measured allocator consumption.

Current evidence status

Boxes Status Timing Memory Publication reason
1 unavailable not measured not measured no reviewed schema-v3 resident artifact is checked in
10 unavailable not measured not measured no reviewed schema-v3 resident artifact is checked in
100 unavailable not measured not measured no reviewed schema-v3 resident artifact is checked in
1000 unavailable not measured not measured no reviewed schema-v3 resident artifact is checked in

All current rows are unavailable because no reviewed schema-v3 resident artifact is checked in. They are not measured, are not zero, and do not imply skipped_budget or any other artifact-recorded status.

Timing and memory evidence schema

A future reviewed artifact is transcribed without inference. It records two alternating, device-synchronized modes: prepared_uncaptured_device_synchronized and captured_replay_device_synchronized. For each mode, timing vocabulary is count, minimum, median, mean, and p95. Setup and capture provenance are kept separate and excluded from timing samples.

Required provenance labels are UTC timestamp, Python/platform, Warp, device, synchronization, signature, seed, warmups, and sample count. All such metadata and all timing and allocator values are unavailable in this revision.

The byte vocabulary distinguishes analytical logical steady-state categories: primary state, registry manifest, selected diagnostics, and selected communication metadata. Inactive capacity attribution is non-additive. The checkpoint host-copy scenario is distinct from steady-state bytes. Allocator-observed CUDA default-pool high-water delta is separate from analytical logical bytes, as is its signed observed-minus-analytical difference. Allocator readings require method, version, coverage, and machine context; unavailable readings are not zero.

Projected logical tape scenarios use timesteps × state_bytes for full retention and ceil(timesteps / interval) × checkpoint_bytes + interval × state_bytes for periodic checkpoints. Autodiff tape is not implemented or measured, and unknown Epic I overhead is excluded from these projections.

Supported limitations

This is documentation-only scope. It does not change collection code, artifacts, APIs, CI policy, lifecycle behavior, or examples. It provides no CPU fallback and no Warp-CPU capture emulation. It publishes no inferred measurements, universal speedups, hard performance CI gates, allocator guarantees, or implemented autodiff storage.