diff --git a/wasm/app/demos/bend-gpu.lsp b/wasm/app/demos/bend-gpu.lsp index 3784268..0d1a681 100644 --- a/wasm/app/demos/bend-gpu.lsp +++ b/wasm/app/demos/bend-gpu.lsp @@ -9,11 +9,14 @@ ; (health) → (ok (load-avg ...)) — worker telemetry ; (cuda-shake-fanout INPUTS OUT-BYTES) ; → (ok (HEX0 HEX1 ...)) — N SHAKE256 outputs -; Binary modes (BSHK / BCGB / BSCP / BSRT / BSB3) and the -; 1M-input "feel the GPU win" run stay native-only until Phase 2 -; lands server-side factory recipes — those compile per-call -; binaries on the worker filesystem and stream them through -; the existing handlers. +; (cuda-sim-ops-bin PATH N-BATCHES) +; → (ok (cuda-sim-result … (timing-ms …))) +; — kickmix circuit on the worker's bin +; +; Binary modes (BSHK / BCGB / BSCP / BSRT / BSB3) stream raw bytes via +; the wire-TCP path and stay native-only until Phase 2 lands server-side +; factory recipes (gated on auth — today an open recipe endpoint would +; let anyone occupy our GPU). (display ";; 1. probe round-trip ...") (newline) (define r1 (bend!-call "(ping)")) @@ -36,4 +39,14 @@ (display " result : ") (display r3) (newline) (newline) +(display ";; 4. feel the GPU win — kickmix circuit simulation") (newline) +(display ";; 14,848 ops / 58 qubits / 9024 shots / 141 batches") (newline) +(display ";; tiny HTTP payload (~70 bytes), heavy GPU work") (newline) +(display ";; CPU baseline ~1450 ms, GPU kernel ~360 ms (~4x)") (newline) +(define heavy "(cuda-sim-ops-bin \"/tmp/ecdsa-queue/out.bin\" 141)") +(display " payload: ") (display heavy) (newline) +(define r4 (bend!-call heavy)) +(display " result : ") (display r4) (newline) +(newline) + (print "done") diff --git a/www/playground/demos/bend-gpu.lsp b/www/playground/demos/bend-gpu.lsp index 3784268..0d1a681 100644 --- a/www/playground/demos/bend-gpu.lsp +++ b/www/playground/demos/bend-gpu.lsp @@ -9,11 +9,14 @@ ; (health) → (ok (load-avg ...)) — worker telemetry ; (cuda-shake-fanout INPUTS OUT-BYTES) ; → (ok (HEX0 HEX1 ...)) — N SHAKE256 outputs -; Binary modes (BSHK / BCGB / BSCP / BSRT / BSB3) and the -; 1M-input "feel the GPU win" run stay native-only until Phase 2 -; lands server-side factory recipes — those compile per-call -; binaries on the worker filesystem and stream them through -; the existing handlers. +; (cuda-sim-ops-bin PATH N-BATCHES) +; → (ok (cuda-sim-result … (timing-ms …))) +; — kickmix circuit on the worker's bin +; +; Binary modes (BSHK / BCGB / BSCP / BSRT / BSB3) stream raw bytes via +; the wire-TCP path and stay native-only until Phase 2 lands server-side +; factory recipes (gated on auth — today an open recipe endpoint would +; let anyone occupy our GPU). (display ";; 1. probe round-trip ...") (newline) (define r1 (bend!-call "(ping)")) @@ -36,4 +39,14 @@ (display " result : ") (display r3) (newline) (newline) +(display ";; 4. feel the GPU win — kickmix circuit simulation") (newline) +(display ";; 14,848 ops / 58 qubits / 9024 shots / 141 batches") (newline) +(display ";; tiny HTTP payload (~70 bytes), heavy GPU work") (newline) +(display ";; CPU baseline ~1450 ms, GPU kernel ~360 ms (~4x)") (newline) +(define heavy "(cuda-sim-ops-bin \"/tmp/ecdsa-queue/out.bin\" 141)") +(display " payload: ") (display heavy) (newline) +(define r4 (bend!-call heavy)) +(display " result : ") (display r4) (newline) +(newline) + (print "done")