bend Wave 2 — cuda-blake3-tree lands live on 3090

Agent ac6c3c7b built blake3-fanout.cu (clean-room BLAKE3 reference
adaptation, vendored under BLAKE3 team's CC0-1.0 / Apache-2.0
allowance) + test_blake3_known_answers.py harness + Makefile target
+ gpu-worker.lsp handler (handle-binary-blake3, BSB3/BSR3 magic).

Bench on 3090-ai (best-of-3, kernel-only):
  workload         kernel   throughput
  1k × 64 B          0.08 ms    ~7   GB/s
  100k × 64 B        1.87 ms    59.7 GB/s
  1M × 64 B          1.97 ms    32.5 GB/s
  1k × 1 MB         51.5  ms    20.4 GB/s

Byte-identity vs the BLAKE3 reference spec PASS at n in
{32, 1k, 10k, 100k, 1M}; covers both the single-chunk (≤1024 B)
& multi-chunk (≥1024 B) Merkle-tree paths.

Hardware policy compliance: per the 3090-only directive (commit
9e4e9b4), this row lists RTX 3090 only. The agent's 4090
measurements were dropped from the catalog & bend.html. ai
worker stays disabled.

Note the agent hit a socket error AFTER all files landed but
BEFORE it could git commit. This commit assembles its work from
the working tree, verifies the build still passes on 3090
(byte-identity + bench above), and ships.

Live forms now: 7 — shake, sim-ops-bin, sim-axis-flip,
cgbn (9 ops), secp256k1 (v3 windowed-G), radix-sort,
blake3-tree.
This commit is contained in:
russell@unturf.com 2026-06-05 22:07:25 -04:00
parent 9e4e9b48f9
commit fc1563b4d6
No known key found for this signature in database
9 changed files with 1172 additions and 3 deletions

View file

@ -131,6 +131,12 @@ make gpu-worker LUMBDA=asm # smallest footprint</code></pre>
<td>5.50 Gkeys/s @ n=10M (kernel 1.82 ms); 3.77 Gkeys/s @ n=1M; CUB DeviceRadixSort u64 ascending</td>
<td><code>BSRT</code> binary: op_id + n + u64[n] &rarr; <code>BSRR</code> sorted u64[n]</td>
</tr>
<tr>
<td><code>cuda-blake3-tree</code></td>
<td>RTX 3090</td>
<td>32.5 GB/s @ 1M &times; 64 B (kernel 1.97 ms); 20.4 GB/s @ 1k &times; 1 MB (kernel 51.5 ms); byte-identical to BLAKE3 reference spec across single-chunk + multi-chunk paths</td>
<td><code>BSB3</code> binary: out_bytes + n + (u32 len + bytes) per input &rarr; <code>BSR3</code> n + out_bytes + digests</td>
</tr>
</tbody>
</table>
@ -163,7 +169,7 @@ make gpu-worker LUMBDA=asm # smallest footprint</code></pre>
<tr><td><code>cuda-dilithium-pqsig</code></td><td>57.7&times; keygen+sign+verify vs single CPU thread</td><td>RTX 3090 Ti</td><td><a href="https://eprint.iacr.org/2024/1365.pdf">IACR 2024/1365</a></td></tr>
<tr><td><code>cuda-mc-options-pricing</code></td><td>25&ndash;152&times;</td><td>Tesla C1060 / modern</td><td><a href="https://developer.nvidia.com/gpugems/gpugems2/part-vi-simulation-and-numerical-algorithms/chapter-45-options-pricing-gpu">GPU Gems Ch.45</a></td></tr>
<tr><td><code>cuda-cuFFT-batched-1D</code></td><td>8&ndash;32&times; vs MKL; tcFFT 1.1&ndash;3.2&times; vs cuFFT</td><td>V100 / A100</td><td><a href="https://arxiv.org/pdf/2104.11471">tcFFT</a></td></tr>
<tr><td><code>cuda-blake3-tree</code></td><td>~5&ndash;20&times; tree mode</td><td>Blaze-3 CUDA</td><td><a href="https://github.com/Blaze-3/BLAKE3-gpu">Blaze-3</a></td></tr>
<tr><td><code>cuda-blake3-tree</code></td><td>32.5 GB/s @ 1M &times; 64 B; 20.4 GB/s @ 1k &times; 1 MB on 3090</td><td>(promoted &mdash; see Live)</td><td><a href="https://github.com/Blaze-3/BLAKE3-gpu">Blaze-3</a></td></tr>
<tr><td><code>cuda-bloom-filter-modern</code></td><td>~6&times; CPU; 3.4 B inserts/s</td><td>B200 / Perlmutter</td><td><a href="https://arxiv.org/pdf/2512.15595">arXiv:2512.15595</a></td></tr>
<tr><td><code>cuda-gemm-batched-FP8</code></td><td>4.8&times; FP8 vs A100; 716 TFLOPS H100</td><td>H100 SXM</td><td><a href="https://developer.nvidia.com/blog/new-cublas-12-0-features-and-matrix-multiplication-performance-on-nvidia-hopper-gpus/">cuBLAS 12.0</a></td></tr>
<tr><td><code>cuda-batched-matrix-inverse</code></td><td>4.3&ndash;16.8&times; vs MAGMA</td><td>P100</td><td><a href="https://www.superfri.org/index.php/superfri/article/download/178/598">Superfri 2018</a></td></tr>