Spaces:
Running
Running
deploy(hf): sync szl-holdings/a11oy@main derived COPY set
Browse filesReusable Dockerfile-COPY-derived deploy from szl-holdings/a11oy main.
Files: 826 Pruned: 0
Derived from Dockerfile COPY sources (NO hand-maintained allowlist).
Signed-off-by: SZL Holdings <noreply@szlholdings.ai>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- pages/benchmark.html +122 -9
pages/benchmark.html
CHANGED
|
@@ -47,18 +47,27 @@ footer{border-top:1px solid var(--line);color:var(--mut);font-size:11.5px;paddin
|
|
| 47 |
<header><span class="brand">a11oy</span><span class="tag">Verifiable AI · every number carries its proof</span></header>
|
| 48 |
<nav>
|
| 49 |
<a href="/console">← Console</a><a href="/pinn-console">PINN Console</a>
|
| 50 |
-
<a href="/benchmark" class="active">Benchmark</a><a href="/
|
| 51 |
-
<a href="/assurance">Assurance</a><a href="/company">Company</a>
|
| 52 |
</nav>
|
| 53 |
<main>
|
| 54 |
<div class="hero">
|
| 55 |
-
<h1>
|
| 56 |
-
<p class="lede">
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
<div class="badges">
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
<span class="badge ok"><span class="dot"></span><a href="https://github.com/szl-holdings/a11oy/actions/workflows/pinn-honesty-gate.yml" style="color:inherit">Honesty gate: PASS in CI</a></span>
|
| 63 |
<span class="badge info"><span class="dot"></span>Doctrine v11 labels</span>
|
| 64 |
<span class="badge info"><span class="dot"></span>Live artifact · <a href="/api/a11oy/v1/pinn/bench" style="color:inherit">/api/a11oy/v1/pinn/bench</a></span>
|
|
@@ -68,6 +77,18 @@ footer{border-top:1px solid var(--line);color:var(--mut);font-size:11.5px;paddin
|
|
| 68 |
<code>benchmarks/pinn/honesty_guard.py</code> before it can ship.</p>
|
| 69 |
</div>
|
| 70 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 71 |
<div id="status" class="note">Loading measured results from <code>/api/a11oy/v1/pinn/bench</code>…</div>
|
| 72 |
|
| 73 |
<div id="report" hidden>
|
|
@@ -137,6 +158,7 @@ SPDX-License-Identifier: Apache-2.0 · © 2026 SZL Holdings · a11oy — governe
|
|
| 137 |
Data source: the committed <code>benchmarks/pinn/results.json</code>, served read-only at <code>/api/a11oy/v1/pinn/bench</code>.
|
| 138 |
DeepXDE (LGPL-2.1) and NVIDIA PhysicsNeMo/Modulus (Apache-2.0) are benchmark-only dev dependencies — never imported by shipped code.
|
| 139 |
</footer>
|
|
|
|
| 140 |
<script>
|
| 141 |
(function(){
|
| 142 |
var FW = {
|
|
@@ -179,14 +201,27 @@ DeepXDE (LGPL-2.1) and NVIDIA PhysicsNeMo/Modulus (Apache-2.0) are benchmark-onl
|
|
| 179 |
document.getElementById("benchTitle").textContent=d.title||"PINN benchmark";
|
| 180 |
document.getElementById("overallLabel").textContent=d.overall_label||"";
|
| 181 |
var hw=d.hardware||{};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 182 |
var meta=[
|
| 183 |
["Assembled at", d.ran_at||"—"],
|
|
|
|
|
|
|
|
|
|
| 184 |
["Assemble host", (hw.cpus||"?")+" CPU · "+(hw.ram_gib||"?")+" GiB · GPU: "+(hw.gpu||"none")],
|
| 185 |
-
["Neural arms", "MEASURED on a CUDA GPU host (see each arm)"],
|
| 186 |
["Doctrine", "v11 — labelled numbers only"]
|
| 187 |
];
|
| 188 |
document.getElementById("meta").innerHTML=meta.map(function(m){
|
| 189 |
return '<div class="m"><div class="k">'+esc(m[0])+'</div><div class="v">'+esc(m[1])+'</div></div>';}).join("");
|
|
|
|
|
|
|
|
|
|
|
|
|
| 190 |
|
| 191 |
var out="";
|
| 192 |
(d.problems||[]).forEach(function(p){
|
|
@@ -223,6 +258,84 @@ DeepXDE (LGPL-2.1) and NVIDIA PhysicsNeMo/Modulus (Apache-2.0) are benchmark-onl
|
|
| 223 |
document.getElementById("reproduce").textContent=Object.keys(rep2).map(function(k){return "# "+k+"\n"+rep2[k];}).join("\n\n");
|
| 224 |
document.getElementById("doctrine").textContent=d.doctrine||"";
|
| 225 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 226 |
fetch("/api/a11oy/v1/pinn/bench",{headers:{accept:"application/json"}})
|
| 227 |
.then(function(r){ if(!r.ok) throw new Error("HTTP "+r.status); return r.json(); })
|
| 228 |
.then(render)
|
|
|
|
| 47 |
<header><span class="brand">a11oy</span><span class="tag">Verifiable AI · every number carries its proof</span></header>
|
| 48 |
<nav>
|
| 49 |
<a href="/console">← Console</a><a href="/pinn-console">PINN Console</a>
|
| 50 |
+
<a href="/benchmark" class="active">Benchmark</a><a href="/hologram">Command Bridge</a>
|
| 51 |
+
<a href="/verify">Verify</a><a href="/assurance">Assurance</a><a href="/company">Company</a>
|
| 52 |
</nav>
|
| 53 |
<main>
|
| 54 |
<div class="hero">
|
| 55 |
+
<h1>One of one — the only governed PDE solver here that actually ships</h1>
|
| 56 |
+
<p class="lede">Three arms, three problems, all <b>MEASURED</b> against exact closed forms or synthetic
|
| 57 |
+
ground truth: SZL's governed classical spectral solver versus two neural physics-informed networks —
|
| 58 |
+
<b>DeepXDE</b> and <b>NVIDIA PhysicsNeMo / Modulus</b>. We publish the config, the seeds, the license
|
| 59 |
+
of every dependency, and — most importantly — <b>where this suite does <i>not</i> let us claim
|
| 60 |
+
victory.</b> That honesty is the moat.</p>
|
| 61 |
+
<p class="lede" style="margin-top:12px;color:#fff">SZL leads the field on the axis that decides real
|
| 62 |
+
deployments — <b>verifiable, deployable governed solving</b>. It is the <b>only</b> arm that actually
|
| 63 |
+
ships in the product, the <b>only</b> one that is license-clean (Apache-2.0, not LGPL), the
|
| 64 |
+
<b>only</b> one re-derived from source in CI on every commit, and it reaches <b>machine precision</b>
|
| 65 |
+
where the problem admits it — all measured on <b>our own metal</b>, not a rented cloud GPU farm.</p>
|
| 66 |
<div class="badges">
|
| 67 |
+
<span class="badge ok"><span class="dot"></span>One of one · only shipped arm</span>
|
| 68 |
+
<span class="badge ok"><span class="dot"></span>Apache-2.0 · deployable</span>
|
| 69 |
+
<span class="badge ok"><span class="dot"></span>Reproduced from source in CI</span>
|
| 70 |
+
<span class="badge info"><span class="dot"></span><span id="metalBadge">Run on our own metal</span></span>
|
| 71 |
<span class="badge ok"><span class="dot"></span><a href="https://github.com/szl-holdings/a11oy/actions/workflows/pinn-honesty-gate.yml" style="color:inherit">Honesty gate: PASS in CI</a></span>
|
| 72 |
<span class="badge info"><span class="dot"></span>Doctrine v11 labels</span>
|
| 73 |
<span class="badge info"><span class="dot"></span>Live artifact · <a href="/api/a11oy/v1/pinn/bench" style="color:inherit">/api/a11oy/v1/pinn/bench</a></span>
|
|
|
|
| 77 |
<code>benchmarks/pinn/honesty_guard.py</code> before it can ship.</p>
|
| 78 |
</div>
|
| 79 |
|
| 80 |
+
<section class="card" id="holoWrap" style="padding:0;overflow:hidden;position:relative">
|
| 81 |
+
<div style="padding:16px 20px 6px">
|
| 82 |
+
<h2 style="margin:0">Holographic showcase — the measured field, in 3D</h2>
|
| 83 |
+
<p class="small" style="margin:6px 0 0">A live hologram of the artifact: each bar is <b>−log₁₀(error)</b> pulled straight from
|
| 84 |
+
<code>/api/a11oy/v1/pinn/bench</code> — taller means more accurate. Gold = SZL governed spectral · muted = the neural PINNs.
|
| 85 |
+
No heights are hard-coded; if the numbers change, the hologram changes.</p>
|
| 86 |
+
</div>
|
| 87 |
+
<canvas id="holo" style="display:block;width:100%;height:420px;background:radial-gradient(circle at 50% 38%,#0e1322,#070810)"></canvas>
|
| 88 |
+
<div id="holoLegend" class="small" style="padding:9px 20px 16px;color:var(--mut)">Materialising the measured field…</div>
|
| 89 |
+
<noscript><div class="note" style="margin:0 20px 16px">The 3D showcase needs JavaScript; the measured tables below are fully static and complete.</div></noscript>
|
| 90 |
+
</section>
|
| 91 |
+
|
| 92 |
<div id="status" class="note">Loading measured results from <code>/api/a11oy/v1/pinn/bench</code>…</div>
|
| 93 |
|
| 94 |
<div id="report" hidden>
|
|
|
|
| 158 |
Data source: the committed <code>benchmarks/pinn/results.json</code>, served read-only at <code>/api/a11oy/v1/pinn/bench</code>.
|
| 159 |
DeepXDE (LGPL-2.1) and NVIDIA PhysicsNeMo/Modulus (Apache-2.0) are benchmark-only dev dependencies — never imported by shipped code.
|
| 160 |
</footer>
|
| 161 |
+
<script src="/vendor/three.min.js"></script>
|
| 162 |
<script>
|
| 163 |
(function(){
|
| 164 |
var FW = {
|
|
|
|
| 201 |
document.getElementById("benchTitle").textContent=d.title||"PINN benchmark";
|
| 202 |
document.getElementById("overallLabel").textContent=d.overall_label||"";
|
| 203 |
var hw=d.hardware||{};
|
| 204 |
+
var neuralDevice="";
|
| 205 |
+
(d.problems||[]).forEach(function(p){(p.arms||[]).forEach(function(a){
|
| 206 |
+
if(a.framework!=="szl" && a.device && /gpu|rtx|cuda|geforce|a100|h100|radeon/i.test(a.device) && !neuralDevice) neuralDevice=a.device;
|
| 207 |
+
});});
|
| 208 |
+
var shortDev=neuralDevice.replace(/^NVIDIA GeForce /,"");
|
| 209 |
+
var mb=document.getElementById("metalBadge");
|
| 210 |
+
if(mb) mb.textContent = shortDev ? ("Our own metal · "+shortDev) : "Run on our own metal";
|
| 211 |
var meta=[
|
| 212 |
["Assembled at", d.ran_at||"—"],
|
| 213 |
+
["SZL arm (shipped)", "CPU-only — no GPU required"],
|
| 214 |
+
["Neural competitors", neuralDevice ? ("our own "+neuralDevice) : "a CUDA GPU host (see each arm)"],
|
| 215 |
+
["Our metal", neuralDevice ? "SZL-owned hardware — not a rented cloud GPU" : "see each arm"],
|
| 216 |
["Assemble host", (hw.cpus||"?")+" CPU · "+(hw.ram_gib||"?")+" GiB · GPU: "+(hw.gpu||"none")],
|
|
|
|
| 217 |
["Doctrine", "v11 — labelled numbers only"]
|
| 218 |
];
|
| 219 |
document.getElementById("meta").innerHTML=meta.map(function(m){
|
| 220 |
return '<div class="m"><div class="k">'+esc(m[0])+'</div><div class="v">'+esc(m[1])+'</div></div>';}).join("");
|
| 221 |
+
try{ renderHologram(d, neuralDevice); }catch(e){
|
| 222 |
+
var hl=document.getElementById("holoLegend");
|
| 223 |
+
if(hl) hl.textContent="(3D showcase unavailable in this browser — the measured tables below are complete.)";
|
| 224 |
+
}
|
| 225 |
|
| 226 |
var out="";
|
| 227 |
(d.problems||[]).forEach(function(p){
|
|
|
|
| 258 |
document.getElementById("reproduce").textContent=Object.keys(rep2).map(function(k){return "# "+k+"\n"+rep2[k];}).join("\n\n");
|
| 259 |
document.getElementById("doctrine").textContent=d.doctrine||"";
|
| 260 |
}
|
| 261 |
+
function renderHologram(d, neuralDevice){
|
| 262 |
+
if(!window.THREE) throw new Error("three unavailable");
|
| 263 |
+
var canvas=document.getElementById("holo"); if(!canvas) return;
|
| 264 |
+
var probs=(d.problems||[]).slice(0,6);
|
| 265 |
+
if(!probs.length) return;
|
| 266 |
+
function metricVal(a,metric){
|
| 267 |
+
var v=a[metric];
|
| 268 |
+
if(v==null){["rel_l2_vs_exact","rel_l2","abs_err","rel_l2_vs_truth","alpha_abs_err","err"].some(function(k){if(a[k]!=null){v=a[k];return true;}return false;});}
|
| 269 |
+
if(v&&typeof v==="object") v=(v.median!=null?v.median:(v.min!=null?v.min:null));
|
| 270 |
+
return (typeof v==="number")?v:null;
|
| 271 |
+
}
|
| 272 |
+
var COL={szl:0xe6c169, deepxde:0x5cc4bf, modulus_physicsnemo:0x9fe870};
|
| 273 |
+
var NAME={szl:"SZL", deepxde:"DeepXDE", modulus_physicsnemo:"PhysicsNeMo"};
|
| 274 |
+
var scene=new THREE.Scene(); scene.fog=new THREE.FogExp2(0x070810,0.055);
|
| 275 |
+
var W=canvas.clientWidth||900, Hh=canvas.clientHeight||420;
|
| 276 |
+
var cam=new THREE.PerspectiveCamera(46, W/Hh, 0.1, 100);
|
| 277 |
+
cam.position.set(6.6,5.4,8.6); cam.lookAt(0,1.7,0);
|
| 278 |
+
var rnd=new THREE.WebGLRenderer({canvas:canvas,antialias:true,alpha:true});
|
| 279 |
+
rnd.setPixelRatio(Math.min(window.devicePixelRatio||1,2)); rnd.setSize(W,Hh,false);
|
| 280 |
+
scene.add(new THREE.AmbientLight(0x8899bb,0.65));
|
| 281 |
+
var key=new THREE.PointLight(0xffffff,0.9); key.position.set(6,11,6); scene.add(key);
|
| 282 |
+
scene.add(new THREE.GridHelper(15,30,0x2a3350,0x161d30));
|
| 283 |
+
var group=new THREE.Group(); scene.add(group);
|
| 284 |
+
var nP=probs.length, gap=3.0, barW=0.58, armGap=0.74;
|
| 285 |
+
function label(text,color,scale){
|
| 286 |
+
var c=document.createElement("canvas"); c.width=256; c.height=64;
|
| 287 |
+
var g=c.getContext("2d"); g.font="bold 30px -apple-system,Segoe UI,Roboto,sans-serif";
|
| 288 |
+
g.fillStyle=color||"#e8eaf0"; g.textAlign="center"; g.textBaseline="middle"; g.fillText(text,128,34);
|
| 289 |
+
var tex=new THREE.CanvasTexture(c); tex.minFilter=THREE.LinearFilter;
|
| 290 |
+
var sp=new THREE.Sprite(new THREE.SpriteMaterial({map:tex,transparent:true,depthTest:false}));
|
| 291 |
+
sp.scale.set(scale||2.4,(scale||2.4)/4,1); return sp;
|
| 292 |
+
}
|
| 293 |
+
probs.forEach(function(p,pi){
|
| 294 |
+
var metric=p.metric||"rel_l2_vs_exact", arms=(p.arms||[]);
|
| 295 |
+
var x0=(pi-(nP-1)/2)*gap;
|
| 296 |
+
arms.forEach(function(a,ai){
|
| 297 |
+
var err=metricVal(a,metric);
|
| 298 |
+
var h=(err!=null&&err>0)?Math.max(0.15,-Math.log(err)/Math.LN10):(err===0?16:0.15);
|
| 299 |
+
h=h*0.42; if(h>7)h=7;
|
| 300 |
+
var z=(ai-(arms.length-1)/2)*armGap;
|
| 301 |
+
var col=(COL[a.framework]!=null)?COL[a.framework]:0x8899bb, isSZL=(a.framework==="szl");
|
| 302 |
+
var geo=new THREE.BoxGeometry(barW,h,barW);
|
| 303 |
+
var bar=new THREE.Mesh(geo,new THREE.MeshStandardMaterial({color:col,emissive:col,emissiveIntensity:isSZL?0.55:0.28,metalness:0.3,roughness:0.35,transparent:true,opacity:isSZL?0.96:0.8}));
|
| 304 |
+
bar.position.set(x0+z,h/2,0); group.add(bar);
|
| 305 |
+
var wf=new THREE.LineSegments(new THREE.EdgesGeometry(geo),new THREE.LineBasicMaterial({color:col,transparent:true,opacity:0.55}));
|
| 306 |
+
wf.position.copy(bar.position); group.add(wf);
|
| 307 |
+
});
|
| 308 |
+
var pl=label(String(p.id||("problem "+(pi+1))).split("_")[0],"#d9b35c",2.7);
|
| 309 |
+
pl.position.set(x0,-0.55,1.25); group.add(pl);
|
| 310 |
+
});
|
| 311 |
+
(function(){
|
| 312 |
+
var arms0=(probs[0].arms||[]);
|
| 313 |
+
arms0.forEach(function(a,ai){
|
| 314 |
+
var z=(ai-(arms0.length-1)/2)*armGap;
|
| 315 |
+
var hex="#"+("000000"+((COL[a.framework]||0x8899bb)>>>0).toString(16)).slice(-6);
|
| 316 |
+
var sp=label(NAME[a.framework]||a.framework,hex,1.9);
|
| 317 |
+
sp.position.set(((-(nP-1)/2)*gap)+z-3.2,0.45,0); group.add(sp);
|
| 318 |
+
});
|
| 319 |
+
})();
|
| 320 |
+
var lg=document.getElementById("holoLegend");
|
| 321 |
+
if(lg){
|
| 322 |
+
lg.innerHTML='<b style="color:#e6c169">■ SZL</b> governed spectral · '
|
| 323 |
+
+'<b style="color:#5cc4bf">■ DeepXDE</b> · <b style="color:#9fe870">■ PhysicsNeMo</b>'
|
| 324 |
+
+' · height = −log₁₀(error), taller = more accurate.'
|
| 325 |
+
+(neuralDevice?(' · neural arms measured on our own <b>'+esc(neuralDevice)+'</b>.'):'')
|
| 326 |
+
+' The Poisson tower is machine-precision <b>by construction</b> (disclosed above), not a general-accuracy claim.';
|
| 327 |
+
}
|
| 328 |
+
var t0=Date.now();
|
| 329 |
+
(function loop(){
|
| 330 |
+
var t=(Date.now()-t0)/1000;
|
| 331 |
+
group.rotation.y=Math.sin(t*0.16)*0.5+t*0.05;
|
| 332 |
+
rnd.render(scene,cam); requestAnimationFrame(loop);
|
| 333 |
+
})();
|
| 334 |
+
window.addEventListener("resize",function(){
|
| 335 |
+
var w=canvas.clientWidth||900,h2=canvas.clientHeight||420;
|
| 336 |
+
cam.aspect=w/h2; cam.updateProjectionMatrix(); rnd.setSize(w,h2,false);
|
| 337 |
+
});
|
| 338 |
+
}
|
| 339 |
fetch("/api/a11oy/v1/pinn/bench",{headers:{accept:"application/json"}})
|
| 340 |
.then(function(r){ if(!r.ok) throw new Error("HTTP "+r.status); return r.json(); })
|
| 341 |
.then(render)
|