lumbda/www/playground
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
..
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
demos bend demo: 100M secp256k1 — epic 160x GPU win, ~33 minutes of CPU work 2026-06-14 19:58:57 -04:00
fonts/chunkfive wasm/playground: cancel button, asm state-leak fix, restyle to match homepage 2026-06-14 12:13:20 -04:00
python bend: wire bend!-call into the pyodide tier — playground python 2026-06-14 18:25:46 -04:00
app.js wat iter-5: TCO via return_call + dotted pairs + bend gpu demo 2026-06-14 14:18:41 -04:00
crypto.js playground: free-form code option + encrypted vault, single-scroll layout 2026-06-14 12:56:25 -04:00
index.html playground footer: surface what's locked + what's still WIP (call/cc, macros, portal) 2026-06-14 17:27:17 -04:00
lumbda-logo-green.png wasm/playground: cancel button, asm state-leak fix, restyle to match homepage 2026-06-14 12:13:20 -04:00
runner.js gc diagnostics: per-tier heap pressure surfaced in repl tabbar 2026-06-14 17:32:48 -04:00
style.css playground: status counter sits under run+cancel instead of far right 2026-06-14 16:27:05 -04:00
worker.mjs gc diagnostics: per-tier heap pressure surfaced in repl tabbar 2026-06-14 17:32:48 -04:00