Systolic Arrays Explained: the model against SystemVerilog
“compares every accumulator after every clock edge with the model: 613 values, 0 mismatches”
“compares every pipeline register after every edge: 11,079 values, 0 mismatches”
Verification
Every number on the sites comes from tested code or a cited, dated source, and every model is checked against something independent of it: RTL, a real framework, an official SDK, PyTorch or a published figure.
The quotes below are copied from each site's About page, its README or its results.md, and a script checks that every quote still appears, word for word, on the page it links to.
“compares every accumulator after every clock edge with the model: 613 values, 0 mismatches”
“compares every pipeline register after every edge: 11,079 values, 0 mismatches”
“every one of 39 sessions is built as a real StateGraph”
“After each of the 71 operations”
“the whole checkpoint history is compared with the engine's”
Where it is not exact, the site says so: “One LangGraph detail turned out not to be deterministic”; that one field is left out on both sides.
Source: agent-orchestration-explained.vercel.app/about#langgraph
“A small server written with the official MCP Python SDK (mcp 2.3.0) and the SDK's own client play 18 sessions over stdio while a tee records every line”
“the engine must produce the same 160 messages, compared as JSON with request IDs renumbered”
“the engine's agent must send the same 56 messages once IDs and timestamps are normalised”
“checked against PyTorch fixtures, operation by operation, to within 1e-5”
| Check | Measured | Tolerance |
|---|---|---|
| Backward = PyTorch autograd, at initialisation | max err / (1 + max abs grad) 4.4e-17; loss diff 0.0e+00 | 1e-12 |
| adamw = torch.optim over 25 steps | max abs err 1.1e-16 | 1e-12 |
Training: two rows of the correctness table in results.md (all its checks and tolerances are there).
Source: transformer-decoder-explained.vercel.app/about#checked
Each site's browser code is a TypeScript port of a Python reference. The reference writes JSON fixtures, and the site's unit tests require the port to reproduce them; for most sites exactly, with no tolerance. On GPU Kernels Explained, for example, “CI fails if the fixtures are out of date.” (source).
The hardware sites take every specification from a dated source and never use vendor claims as inputs. Their models are then checked against published figures that they do not take as inputs, and the misses are reported, not hidden.
| Quantity | This series | Reference value | Difference |
|---|---|---|---|
| droop vs zpeak | 23.241 | 24.876 | -6.57 % |
Signal Integrity. 20 of the series' results are cross-checked against independently published values (Cohn 1955, Hall & Heck, Johnson & Graham); the largest difference is 2.44 %. Its README lists every check, internal ones included (the table).
RTL challenges. Parsing is not simulating: “Nineteen challenges: six did not compile, eleven compiled but failed when first run”. Today: “All nineteen pass (nine in Verilator, ten in xsim)” (source).
Each site's “How this is checked” line, as it appears on its landing page, with the link to the evidence.
| Site | How it is checked | Evidence |
|---|---|---|
| The TypeScript transformer in your browser is checked against PyTorch, operation by operation, to within 1e-5, and the animations' frames against a float64 PyTorch run of the same seeded weights. | Evidence for Transformer Decoder Explained | |
| A NumPy reference of the trainer matches PyTorch autograd (to 1e-12) and torch.optim, and the trainer in your browser matches that reference step for step. | Evidence for Transformer Training Explained | |
| The GPU model is checked against the CUDA Programming Guide's worked examples (coalescing, bank conflicts, occupancy), and its TypeScript port reproduces the Python reference exactly. | Evidence for GPU Kernels Explained | |
| The cycle-accurate model's output-stationary frames match a SystemVerilog array simulated in Verilator 5.020 on every accumulator after every clock edge: 613 values, 0 mismatches. | Evidence for Systolic Arrays Explained | |
| Every specification carries its source and the date it was read, vendor claims are never used as inputs, and the model is checked against published capacity, throughput and latency figures. | Evidence for AI Accelerators Explained | |
| Every hardware figure carries its source and the date it was read, and the model is checked against published rack, switch and fabric totals that it does not take as inputs. | Evidence for AI Racks Explained | |
| The serving simulator in chapters 11–14 is Disaggregated_Inference_Sim's own engine, copied byte for byte from a pinned commit, and CI requires every request's timestamps to match its Python original; the tiny model's cached logits are bit-identical to full recomputation. | Evidence for LLM Inference Explained | |
| Every value links to its source, and the modelled parameter count of 80 of the 86 open models whose published weights can be counted is within 0.5% of those weights at a pinned commit. | Evidence for LLM Architectures Explained | |
| Every code of every format up to 16 bits is checked against numpy and ml_dtypes, and the TypeScript port in your browser reproduces the Python reference exactly. | Evidence for Numerics Explained | |
| For every one of the 350 sweep points, the simulator's JavaScript engine (the one the what-if runs in your browser) reproduces the recorded TTFT, TPOT and ITL percentiles of the Python run exactly. | Evidence for Inference Trade-offs Explained | |
| Agent_Loop_Sim's Python reference and the TypeScript port in your browser produce the same events, token for token and float for float, and three recorded runs of a small open-weights model are replayed token for token. | Evidence for Agent Harnesses Explained | |
| The engine sends the same 160 messages as the official MCP Python SDK (mcp 2.3.0) over 18 recorded sessions, and the same 56 as the official A2A SDK (a2a-sdk 1.2.2), compared as JSON. | Evidence for Agent Protocols Explained | |
| Every retrieval number is measured on 200 SQuAD questions with real MiniLM embeddings and recorded reranker scores, and the TypeScript engine in your browser reproduces the Python reference exactly, with no tolerance. | Evidence for Agent Context Explained | |
| Each of 39 sessions also runs in real LangGraph 1.2.14, and after every one of 71 operations its whole checkpoint history equals the engine's. | Evidence for Agent Orchestration Explained | |
| The estimators are tested against scipy and statsmodels on a synthetic benchmark whose truth is known, and the TypeScript engine in your browser reproduces every Python fixture bit for bit. | Evidence for Agent Evals Explained | |
| The trifecta check agrees with an exhaustive search on all 256 tool subsets, and the TypeScript engine in your browser reproduces the Python reference's fixtures exactly. | Evidence for Agent Security Explained | |
| Every vendored file is its source byte for byte at a pinned commit, the TypeScript port reproduces every cell of the simulation's results.md that it can, character for character, and the loss curves are recomputed from the run logs. | Evidence for Compute in Transit | |
| Every number comes from a recorded run of the agent, vendored byte for byte with its hashes; the TypeScript ports of its golden model and cost model match the Python reference exactly, and CI fails if anything drifts. | Evidence for HW Design-Space Agent |