lumbda/wasm
russell@unturf.com a88cebced0
bend demo: 100M secp256k1 — epic 160x GPU win, ~33 minutes of CPU work
Replaces the small cuda-shake-fanout step and the modest kickmix
4x demo with a single dispatch you can feel: 100,000,000 secp256k1
scalar*G batched multiplications.

Numbers measured end-to-end through https://bend.unturf.com/ on
3090-ai:

  HTTP request size      ~32 bytes (just '(cuda-secp256k1-bench 100000000)')
  worker scalar gen      5.2 s    (/dev/urandom into 3.2 GB BSCP)
  GPU kernel             12.5 s   (7.99 Mkeys/s on 3090)
  total wall-clock       18.3 s
  CPU equivalent         ~2000 s = ~33 minutes (libsecp256k1 ref)
  speedup-est            ~160x

The 3.2 GB of random scalars never crosses the wire — the worker
synthesizes them from os.urandom and dispatches into the existing
cuda-secp256k1-batched-mul daemon. Response is a tiny S-expression
with the timing summary; no 6.4 GB result blob comes back.

Ping + health stay at the top so a visitor sees the chain warm up
before committing to the 18 s heavy run.
2026-06-14 19:58:57 -04:00
..
app bend demo: 100M secp256k1 — epic 160x GPU win, ~33 minutes of CPU work 2026-06-14 19:58:57 -04:00
asm wasm asm: read_string handles \" \\ \n \t escapes — bend payload works 2026-06-14 19:00:17 -04:00
c bend: fix C tier LinkError — switch EM_JS to --js-library mergeInto 2026-06-14 19:33:07 -04:00
dist-repl bend: fix C tier LinkError — switch EM_JS to --js-library mergeInto 2026-06-14 19:33:07 -04:00
python bend: wire bend!-call into the pyodide tier — playground python ⚡ 2026-06-14 18:25:46 -04:00
repl gc diagnostics: per-tier heap pressure surfaced in repl tabbar 2026-06-14 17:32:48 -04:00
tests wat: internal-define scoping (R7RS letrec*) + c-wasm gc gap documented 2026-06-14 17:54:33 -04:00
Makefile bend: fix C tier LinkError — switch EM_JS to --js-library mergeInto 2026-06-14 19:33:07 -04:00