Purpose
Execute the formal Industrial Benchmark v2 measurement on the already-qualified controlled NVIDIA/CUDA host.
This issue creates measurement evidence only.
Publication, README editing, and final repository integration remain maintainer-owned.
Hard prerequisites
Maintainer decision (2026-09-25): the formal commit is PRE-FROZEN above (a70d4ac76fc73e1f1e1099c7884db9bfdd4802d3) so this handoff needs no further maintainer input on the normal path. The DO NOT START UNTIL #56 PASS gate below still applies unchanged — if #56 exposes a source problem, the standing firewall invalidates this freeze and the SHA will be re-issued.
BLOCKED BY:
- #58
- #56
Execution order is strict:
#58 CLOSED
→ new frozen measurement commit
→ #56 PASS
→ #57 may begin
The commit used by #57 MUST be the same source authority qualified by #56,
unless a new source change occurs.
If any source change occurs after #56 PASS:
#56 qualification is invalidated
→ a new commit must be frozen
→ #56 must be rerun
→ only then may #57 begin.
Do not begin until all are true:
- Phase 2B.2 authority-repair issue is CLOSED.
- CUDA host qualification issue is PASS.
- The maintainer has frozen the exact formal measurement commit below.
- The exact Ibex fixture is available.
- No benchmark/protocol source changes are pending.
Formal commit:
FROZEN_FORMAL_MEASUREMENT_COMMIT:
a70d4ac76fc73e1f1e1099c7884db9bfdd4802d3
Host qualification issue:
Authority firewall
During this formal run:
NO source edits
NO benchmark edits
NO dependency edits mid-run
NO parameter tuning after observing results
NO manual JSON editing
NO manual canonical-file copying
NO reuse of provisional numbers
NO best-of-N reporting
Any required source fix means:
STOP
→ new commit
→ new run identity
→ rerun host qualification
→ restart formal measurement from zero
Fixture authority
Use exactly:
Source:
SJTU-YONGFU-RESEARCH-GRP/PDB-Physical-Design-Database
Source commit:
9e1e3399b1b707f26fee853bce1ff91ab466ce24
GDS:
layout/sky130hd/ibex/ibex.gds
Layer:
66:44
Pixel:
1.0 nm/px
Record:
1. Verify exact checkout
cd OpenLithoHub
git checkout a70d4ac76fc73e1f1e1099c7884db9bfdd4802d3
git rev-parse HEAD
git status --porcelain
Required:
HEAD == frozen formal SHA
working tree == clean
2. Capture host/environment evidence
Before measurement:
mkdir -p measurement-logs
git rev-parse HEAD \
| tee measurement-logs/git-head.txt
git status --porcelain \
| tee measurement-logs/git-status-before.txt
sha256sum "$GDS" \
| tee measurement-logs/fixture-sha256.txt
nvidia-smi -q \
| tee measurement-logs/nvidia-smi-q.txt
pip freeze \
| tee measurement-logs/pip-freeze.txt
Also record:
python - <<'PY' | tee measurement-logs/torch-environment.txt
import torch
print("torch:", torch.__version__)
print("torch CUDA:", torch.version.cuda)
print("CUDA available:", torch.cuda.is_available())
print("device count:", torch.cuda.device_count())
print("GPU:", torch.cuda.get_device_name(0))
print("cuDNN:", torch.backends.cudnn.version())
print("TF32 matmul:", torch.backends.cuda.matmul.allow_tf32)
print("TF32 cuDNN:", torch.backends.cudnn.allow_tf32)
PY
Operator logs are supporting context only. Harness-owned environment lock remains canonical.
3. Formal preflight
python scripts/preflight_industrial_v2.py \
--gds "$GDS" \
--device cuda:0 \
| tee measurement-logs/preflight.txt
Required:
Otherwise STOP.
4. Run the exact formal protocol
Run:
python benchmarks/industrial-v2/run_v2_benchmark.py \
--tiers a,b,c \
--gds "$GDS" \
--device cuda:0 \
--dtype fp32 \
--repeats 5 \
--warmup 2 \
--batch 8 \
--tile 1024 \
--halo 64 \
--layer 66:44 \
--windows 4096,8192,16384,32768 \
--hopkins-grid 1024 \
--formal \
2>&1 | tee measurement-logs/formal-run.txt
Do not alter these parameters after seeing results.
5. Required Tier A result
Every declared Tier A window must be present:
Each must satisfy exact indexed/reference semantic parity for:
- candidate rows;
- owned runs;
- run IDs;
- contributor object IDs;
- window raster;
- verification ownership metadata.
Required:
status = SUCCESS
correctness_witness_pass = true
Tier A performance may be weak. Weak speedup is not failure.
6. Required Tier B result
Every declared window must complete.
Required:
status = SUCCESS
correctness_witness_pass = true
timing_method = cuda_synchronized
repeat_count >= 5
Artifacts must contain:
CPU batch=1 witness
GPU batch=1
GPU batch=N
host peak RSS
GPU allocated peak
GPU reserved peak
fresh-process repeat statistics
median / p10 / p90 / n
A slow GPU result is valid evidence.
Do not rerun with different parameters to obtain a better number.
7. Required Tier C result
Required:
status = SUCCESS
correctness_witness_pass = true
finite_witness = true
cpu_deterministic_witness = true
timing_method = cuda_synchronized
repeat_count >= 5
Cold and warm timing must remain distinct.
The claim-bearing warm statistic must follow the protocol's repeat aggregation and must not use best-of-N selection.
8. Canonical family build
A successful formal run must report:
canonical_build_blockers = []
and the run workspace must contain the complete canonical family:
industrial-v2-index.json
industrial-v2-gpu-runtime.json
industrial-v2-hopkins.json
industrial-v2-run-config.json
industrial-v2-distribution-freeze.txt
manifest.json
SHA256SUMS.txt
Do not manually construct or edit any of these files.
9. Promote to a clean staging root
Use only the supported promotion command introduced by the pre-measurement repair issue.
Example:
python scripts/promote_industrial_v2_artifacts.py \
--workspace "<RUN_WORKSPACE>" \
--canonical-root "./industrial-v2-canonical-staging"
Required result:
exactly seven canonical members
no blockers
Never use manual cp as canonical promotion.
10. Verify the staged family
python scripts/verify_industrial_v2_artifacts.py \
--canonical-root ./industrial-v2-canonical-staging
Required:
If verifier fails, STOP.
Do not edit artifacts to make verification pass.
11. Final integrity check
git rev-parse HEAD \
| tee measurement-logs/git-head-after.txt
git status --porcelain \
| tee measurement-logs/git-status-after.txt
Required:
same frozen commit
clean tracked tree
12. Prepare handoff bundle
Create two archives.
Canonical candidate family
tar -czf industrial-v2-canonical-candidate.tar.gz \
industrial-v2-canonical-staging
Operator/context evidence
tar -czf industrial-v2-measurement-evidence.tar.gz \
measurement-logs \
<RUN_WORKSPACE>
Record:
sha256sum \
industrial-v2-canonical-candidate.tar.gz \
industrial-v2-measurement-evidence.tar.gz
Attach both archives or provide them to the maintainer through the agreed project channel.
Required completion report
Post a final comment containing:
Formal measurement commit:
Run identity:
Fixture SHA-256:
GPU:
Driver:
CUDA:
PyTorch:
cuDNN:
Tier A: PASS / FAIL
Tier B: PASS / FAIL
Tier C: PASS / FAIL
Canonical build blockers:
Verifier: PASS / FAIL
Canonical archive SHA-256:
Evidence archive SHA-256:
Do not summarize performance selectively.
Explicit non-goals
The GPU operator must NOT:
- edit README;
- edit README_zh;
- create marketing claims;
- decide which measurements become headlines;
- compare with commercial tools;
- weaken thresholds;
- change mandatory tiers;
- change repeat counts;
- create a new benchmark protocol;
- mutate Industrial Benchmark v1.1;
- mutate P-054/B04 authority.
Those tasks remain maintainer-owned.
Success state
Only the following closes this issue:
FORMAL CUDA MEASUREMENT COMPLETE
TIER A/B/C SUCCESS
CANONICAL FAMILY BUILT
V2 VERIFIER PASS
EVIDENCE HANDED OFF
After that, maintainers may open/execute the separate Phase 2C publication closure.
Purpose
Execute the formal Industrial Benchmark v2 measurement on the already-qualified controlled NVIDIA/CUDA host.
This issue creates measurement evidence only.
Publication, README editing, and final repository integration remain maintainer-owned.
Hard prerequisites
The commit used by #57 MUST be the same source authority qualified by #56,
unless a new source change occurs.
If any source change occurs after #56 PASS:
#56 qualification is invalidated
→ a new commit must be frozen
→ #56 must be rerun
→ only then may #57 begin.
Do not begin until all are true:
Formal commit:
Host qualification issue:
Authority firewall
During this formal run:
Any required source fix means:
Fixture authority
Use exactly:
Record:
sha256sum "$GDS"1. Verify exact checkout
cd OpenLithoHub git checkout a70d4ac76fc73e1f1e1099c7884db9bfdd4802d3 git rev-parse HEAD git status --porcelainRequired:
2. Capture host/environment evidence
Before measurement:
Also record:
Operator logs are supporting context only. Harness-owned environment lock remains canonical.
3. Formal preflight
Required:
Otherwise STOP.
4. Run the exact formal protocol
Run:
Do not alter these parameters after seeing results.
5. Required Tier A result
Every declared Tier A window must be present:
Each must satisfy exact indexed/reference semantic parity for:
Required:
Tier A performance may be weak. Weak speedup is not failure.
6. Required Tier B result
Every declared window must complete.
Required:
Artifacts must contain:
A slow GPU result is valid evidence.
Do not rerun with different parameters to obtain a better number.
7. Required Tier C result
Required:
Cold and warm timing must remain distinct.
The claim-bearing warm statistic must follow the protocol's repeat aggregation and must not use best-of-N selection.
8. Canonical family build
A successful formal run must report:
and the run workspace must contain the complete canonical family:
Do not manually construct or edit any of these files.
9. Promote to a clean staging root
Use only the supported promotion command introduced by the pre-measurement repair issue.
Example:
Required result:
Never use manual
cpas canonical promotion.10. Verify the staged family
Required:
If verifier fails, STOP.
Do not edit artifacts to make verification pass.
11. Final integrity check
Required:
12. Prepare handoff bundle
Create two archives.
Canonical candidate family
Operator/context evidence
Record:
Attach both archives or provide them to the maintainer through the agreed project channel.
Required completion report
Post a final comment containing:
Do not summarize performance selectively.
Explicit non-goals
The GPU operator must NOT:
Those tasks remain maintainer-owned.
Success state
Only the following closes this issue:
After that, maintainers may open/execute the separate Phase 2C publication closure.