Skip to content

Record the asset-like corpus baseline [#139] - #338

Merged
iderex merged 1 commit into
mainfrom
issue/139
Aug 9, 2026
Merged

Record the asset-like corpus baseline [#139]#338
iderex merged 1 commit into
mainfrom
issue/139

Conversation

@iderex

@iderex iderex commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Closes #139.

What was already there, and what was not

The decision is recorded in the masterplan's section 8 "Settled:" paragraph,
the generator is --assetlike in bench/bench_lz4.cpp, the regime lock is
the CPU-only bench_assetlike_selfcheck ctest, and the corpus entry with its
model-not-workload caveat is in docs/BENCHMARK-METHODOLOGY.md. Four of the
five done-when bullets.

The fifth was the baseline block in docs/BENCHMARKS.md, and the masterplan
itself said so in the future tense ("carries it too once that block is
recorded"). This records it and puts that sentence in the present.

The measurement

RTX 3080, driver 560.94, in the digest-pinned container
(nvidia/cuda:12.6.2-devel-ubuntu24.04), 2026-08-09.

./build-cuda/bench/bench_lz4 --assetlike --gpu --warmup 3 --runs 30
- corpus: asset-like, 3200 chunks, 209.72 MB original, 169.56 MB
  compressed (ratio 0.809)
- chunk sizes: min 65536 / median 65536 / max 65536 bytes
- decode throughput: p50 10.028 GB/s / p90 9.347 GB/s / p99 8.552 GB/s
- GPU decode (device-resident, CUDA-event timed, 3 warmup + 30 runs):
  p50 4.748 ms, 44.2 GB/s
- GPU parse-only ceiling (copies elided): p50 2.574 ms, 81.5 GB/s

The full report block goes into docs/BENCHMARKS.md verbatim, as every other
row does.

Three consecutive invocations of the same command:

GPU decode p50: 4.748 ms (44.2 GB/s)
                4.756 ms (44.1 GB/s)
                4.307 ms (48.7 GB/s)

That is ~10% of session drift, the same effect perf pass 4 measured on this
host. It is written beside the block rather than smoothed into an average, and
it is why the prose reads only what one invocation says about itself.

What the row deliberately does not say

No ratio against the Silesia rows. Those were taken before the gather
narrowing landed (#58), so a comparison would put two kernels and this host's
drift into one number, which is the defect this repository's methodology
section exists against. The row reads its own invocation instead: copies are
4.748 - 2.574 = 2.174 ms, about 46% of the decode, and the GPU-over-CPU factor
is ~4.4× with both halves timed in the same run. Where the asset-like regime
sits against the other corpora on today's kernel needs them all re-measured in
one session, and the row says that rather than implying an answer.

The methodology document gains the matching table, with the same omission
stated in the same place.

Gate

npx prettier@3 --check "**/*.{md,yml,yaml}"
All matched files use Prettier code style!

Documentation only - no source, test or build file changes, so the container
test run is unchanged from main at ffd0789, where it was
100% tests passed, 0 tests failed out of 36.

No second person read this change. The evidence above stands in place of one.

The corpus, its generator, its regime lock and its methodology entry landed
with the decision; the baseline block did not, and the settled paragraph in
the masterplan said so in the future tense. This records it.

Measured 2026-08-09 in the digest-pinned container on the RTX 3080,
--assetlike --gpu --warmup 3 --runs 30: GPU decode p50 4.748 ms, 44.2 GB/s,
parse-only ceiling 2.574 ms, 81.5 GB/s, CPU oracle 10.028 GB/s. Three
consecutive invocations gave 4.748, 4.756 and 4.307 ms, and that spread is
recorded beside the block rather than smoothed away.

No ratio against the Silesia rows is drawn. Those were taken before the
gather narrowing landed (#58), so a comparison would mix two kernels and this
host's session drift into one number. What the row reads instead is the split
inside its own invocation - copies are 2.174 ms of the 4.748 ms decode - and
it says plainly that placing this regime against the others on today's kernel
needs them re-measured in one session.
@iderex
iderex merged commit 48fec23 into main Aug 9, 2026
7 checks passed
@iderex
iderex deleted the issue/139 branch August 9, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Settle and implement the game-asset-like benchmark corpus (masterplan section 8)

1 participant