bend Form D structural finding — pivot to axis-flip + ops.bin packing
Form D build agent discovered: our point-add circuit contains no
Hadamard or S gates (only X/CX/CCX/CZ/CCZ/SWAP/R/HMR/Z/NEG).
State never leaves the computational basis. Aaronson-Gottesman
tableau compression buys nothing when superposition does not
exist; reduces to exactly what sim_gpu.cu already does at one
bit per qubit per shot.
Toffoli fraction measured 13.87% (well under the 40% threshold
the planner flagged). The 1.07x cuda-sim-ops-bin ceiling traces
to memory-bandwidth on per-shot striped state — not algorithm.
STABSim-class wins remain valid for QEC / surface-code work where
H + S exist; that's a future workload.
Two replacement directions queued:
1. axis-flip sim_gpu.cu — per-candidate parallelism over per-shot.
~3 days. Reuses BSHK new op_id; no AG tableau.
2. ops.bin packing — 56→16 B per op halves global-memory traffic.
Addresses the actual bottleneck.
Catalog + public bend.html both updated. Form D progress doc at
examples/cuda-fanout/plans/form-D-build-progress.md documents the
structural reasoning in full.
This commit is contained in:
parent
21bd26a4d3
commit
277250ecfa
2 changed files with 34 additions and 0 deletions
|
|
@ -174,6 +174,31 @@ aggregations, graph theory beyond triangle/PageRank.
|
|||
- Junction-tree BP per-message: 0.68-9.18x — below threshold
|
||||
- Batched L-BFGS: 134x reported but single mesh-size case, not generalized
|
||||
|
||||
## Form D structural finding — 2026-06-05
|
||||
|
||||
cuda-clifford-stabilizer does NOT apply to our point-add circuit.
|
||||
Build agent measured Toffoli fraction 13.87% (well under 40%
|
||||
threshold), THEN noticed the circuit contains no H or S gates —
|
||||
only X/CX/CCX/CZ/CCZ/SWAP/R/HMR/Z/NEG. State never leaves the
|
||||
computational basis. Stabilizer tableau compression buys nothing
|
||||
when there's no superposition; AG reduces to exactly what
|
||||
sim_gpu.cu already does, at one bit per qubit per shot.
|
||||
|
||||
The 1.07x cuda-sim-ops-bin ceiling traces to memory-bandwidth on
|
||||
per-shot striped state, not algorithm. Two pivots under way:
|
||||
|
||||
- **axis-flip refactor of sim_gpu.cu** — per-candidate parallelism
|
||||
over per-shot (Form D option 1). ~3 days.
|
||||
- **ops.bin packing** — 56 -> 16 bytes per op halves global-memory
|
||||
traffic; addresses the actual bandwidth bottleneck (Form D
|
||||
option 3).
|
||||
|
||||
Form D as originally scoped (AG tableau for our circuit) is
|
||||
**parked**. STABSim-class wins remain valid for QEC / surface-code
|
||||
work where H + S exist; that's a future workload.
|
||||
|
||||
Progress doc: examples/cuda-fanout/plans/form-D-build-progress.md
|
||||
|
||||
## Build order — recommended 3-form runway
|
||||
|
||||
1. **A: `cuda-secp256k1-batched-mul`** — biggest immediate win. Drop VanitySearch's CUDA secp256k1 kernel as a BSHK worker; lumbda gets a 6.5 Gkeys/s point-mul oracle. Every candidate validation rides this form. Hardware already owned (3090 + 4090).
|
||||
|
|
|
|||
|
|
@ -96,6 +96,15 @@ make gpu-worker LUMBDA=asm # smallest footprint</code></pre>
|
|||
<h2>Form catalog</h2>
|
||||
<p>A form earns a slot here only after we have published a benchmark or measured one on our hardware. "I think this would be fast" does not earn a slot — the form-status column says <code>planned</code> until numbers exist.</p>
|
||||
|
||||
<h3>Form D structural finding — 2026-06-05</h3>
|
||||
<p><code>cuda-clifford-stabilizer</code> as originally scoped does not apply to our point-add circuit. Build agent measured Toffoli fraction 13.87% (well under the 40% threshold), then noticed the circuit contains no Hadamard or S gates — only X / CX / CCX / CZ / CCZ / SWAP / R / HMR / Z / NEG. State never leaves the computational basis. Aaronson-Gottesman tableau compression buys nothing when superposition does not exist; it reduces to exactly what <code>sim_gpu.cu</code> already does, at one bit per qubit per shot.</p>
|
||||
<p>The <code>cuda-sim-ops-bin</code> 1.07× ceiling traces to memory-bandwidth on per-shot striped state, not algorithm choice. STABSim-class wins remain valid for QEC / surface-code workloads where H + S exist; that's a future workload, not point-add today.</p>
|
||||
<p>Two replacement directions in flight:</p>
|
||||
<ul>
|
||||
<li><strong>Axis-flip refactor of <code>sim_gpu.cu</code></strong> — per-candidate parallelism over per-shot (Form D option 1). ~3 days. Reuses BSHK with new op_id.</li>
|
||||
<li><strong><code>ops.bin</code> packing</strong> — 56 → 16 bytes per op halves global-memory traffic (Form D option 3). Addresses the actual measured bottleneck.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Status legend</h3>
|
||||
<ul>
|
||||
<li><code>live</code> — binary built, worker dispatches it, numbers recorded on our hardware</li>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue