catalog: cuda-secp256k1 v3 windowed-G — 13.60 Mkeys/s @ n=1M (1.73x v1)

Form A Day-3 shipped at lumbda ecfe27a. Windowed-G ladder (w=4,
16-entry G-table built once via batch-inverse on the 15 Z-coords)
landed clean.

Bench on 3090, n=1M (best-of-3, --no-batch-inv):
  v1 (Day-1)      127.04 ms  →   7.87 Mkeys/s
  v3 (Day-3 w=4)   73.54 ms  →  13.60 Mkeys/s  (1.73x v1, ~309x coincurve)

Byte-identity PASS at n in {32, 1000, 10000, 100000, 1000000} plus
known-small edge cases (k in {1, 2, 3, 7, 0xdeadbeef, n-1, n, 2^128-1}).

Daemon default still serves v1; --window-w 4 flag selects v3
explicitly. Fox's call on flipping the daemon default.

Day-4 plan: stack v3 + Day-2 batch-inv. v3 cut scalar_mul; the
residual inversion cost now actually matters, which is what Day-2
needed to win.

Three agents still in flight: walker promotion (#39), lever
generator (#40), ai.foxhop.net second worker (#30).
This commit is contained in:
russell@unturf.com 2026-06-05 18:16:08 -04:00
parent ecfe27a46f
commit 424051b7a4
No known key found for this signature in database
2 changed files with 2 additions and 2 deletions

View file

@ -22,7 +22,7 @@ form-status column says `planned` until numbers exist.
| `cuda-shake-fanout` | `shake256-fanout` | 3090 | 12x over host hashlib at 1M x 16 B inputs | `(cuda-shake-fanout (quote (hex …)) out-bytes)` + BSHK binary |
| `cuda-sim-ops-bin` | `ecdsa/cuda/demo_ops` | 3090 | 1.07x at 128 batches (8192 shots); crossover ~115 batches | `(cuda-sim-ops-bin "path/to/ops.bin" n-batches)` |
| `cuda-bignum-cgbn` | `cgbn-batch-worker` | 3090 | 1.28 Gops/s kernel mod-mul at n=1M (256-bit, ~256x GMP CPU); 9 ops total | `BCGB` binary: op_id + bitwidth + n + modulus + a + b |
| `cuda-secp256k1-batched-mul`| `secp256k1-batch-mul` | 3090 | 6.51 Mkeys/s at n=100k (~148x coincurve CPU); Montgomery batch inv Day-2 → projected 6.5 Gkeys/s | `BSCP` binary: scalars + base-point |
| `cuda-secp256k1-batched-mul`| `secp256k1-batch-mul` | 3090 | v1 7.87 Mkeys/s @ n=1M; v3 (windowed-G w=4) **13.60 Mkeys/s @ n=1M** (1.73x v1; ~309x coincurve); Day-4 v3 + Montgomery batch inv stacking pending | `BSCP` binary: scalars + base-point |
| `cuda-sim-axis-flip` | `ecdsa/cuda/demo_axis` | 3090 | 217 Mops/s @ K=32 M=4 (per-candidate parallel); 23.7x over per-shot N=4 at same M; LOSES to per-shot by 14% at full N=128 saturation | `(cuda-sim-axis (variant-paths …) n-shots)` |
`cuda-sim-ops-bin` numbers are humbling on purpose: kickmix is

View file

@ -143,7 +143,7 @@ make gpu-worker LUMBDA=asm # smallest footprint</code></pre>
<td><code>cuda-secp256k1-batched-mul</code></td>
<td>live</td>
<td>RTX 3090</td>
<td><strong>6.51 Mkeys/s</strong> at n=100k (~148&times; coincurve CPU); Day-2 Montgomery batch inversion projected toward FixedPaul's 6.5 Gkeys/s on 4090</td>
<td>v1 7.87 Mkeys/s @ n=1M; <strong>v3 (windowed-G w=4) 13.60 Mkeys/s @ n=1M</strong> &mdash; 1.73&times; v1, ~309&times; coincurve CPU. Day-4 v3 + Montgomery batch inv stacking is the next step toward FixedPaul's 6.5 Gkeys/s on 4090</td>
<td><code>BSCP</code> binary: scalars + base-point &rarr; <code>BSCR</code> points</td>
</tr>
<tr>