Brendan Lynskey

Verification

How I check the numbers

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.

Four checks, in pictures

Against RTL

Systolic Arrays Explained: the model against SystemVerilog

cycle-accurate model Python, TS port SV systolic array Verilator 5.020 = every edge 613 values, 0 mismatches cycle-accurate model Python, TS port = every edge 613 values, 0 mismatches SV systolic array Verilator 5.020
“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”

Source: systolic-arrays-explained.vercel.app/about#checked

Against LangGraph

Agent Orchestration Explained: the engine against real LangGraph

engine graph runtime Agent_Loop_Sim LangGraph 1.2.14 StateGraph = checkpoints 39 sessions, 71 ops engine graph runtime Agent_Loop_Sim = checkpoints 39 sessions, 71 ops LangGraph 1.2.14 StateGraph
“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

Against the official SDKs

Agent Protocols Explained: the engine against the MCP and A2A SDKs

engine protocol state machines official SDKs mcp 2.3.0, a2a-sdk 1.2.2 = messages 160 MCP, 56 A2A engine protocol state machines = messages 160 MCP, 56 A2A official SDKs mcp 2.3.0, a2a-sdk 1.2.2
“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”

Source: agent-protocols-explained.vercel.app/about#sdk

Against PyTorch

Transformer Decoder and Training: TypeScript against PyTorch

TS transformer in your browser PyTorch fixtures, float64 run ≤ 1e-5 op by op TS transformer in your browser ≤ 1e-5 op by op PyTorch fixtures, float64 run
“checked against PyTorch fixtures, operation by operation, to within 1e-5”
CheckMeasuredTolerance
Backward = PyTorch autograd, at initialisationmax err / (1 + max abs grad) 4.4e-17; loss diff 0.0e+001e-12
adamw = torch.optim over 25 stepsmax abs err 1.1e-161e-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

Exact ports, with fixtures in CI

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).

  • GPU Kernels Explained: “the unit tests require the port to reproduce all of them exactly, with no tolerance”. Source
  • Numerics Explained: “decodes every code of every format up to 16 bits and compares it with numpy (FP16) and ml_dtypes (BF16, FP8, FP6, FP4)”. Source
  • Inference Trade-offs Explained: “For every one of the 350 points, the vendored engine on the recorded workload reproduces the point's TTFT, TPOT and ITL percentiles exactly”. Source
  • LLM Inference Explained: “copied byte for byte from a pinned commit by a script that records the commit and the file’s SHA-256”. Source
  • Agent Evals Explained: “the TS port reproduces every fixture exactly, with no tolerance”. Source

Sourced specs, validation bands, and where the models miss

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.

  • AI Accelerators Explained: “The model is checked against 8 published figures it does not take as inputs” Source
  • AI Accelerators Explained: “MLPerf's eight H100s reached 19% of the compute ceiling” Source
  • AI Accelerators Explained: “The SRAM designs reached 0.13% to 8.2%. That miss is the model's main limit, and the chapters say so” Source
  • AI Racks Explained: “Across 27 checks the model is between 0.9874 and 1.0368 of the published value.” Source
  • LLM Architectures Explained: “is within 0.5% of the number of parameters in those weights, at the pinned commit” Source
  • LLM Architectures Explained: “Some parts are approximated and say so on their model pages” Source
  • Signal Integrity (an internal check: time domain against frequency domain):
    QuantityThis seriesReference valueDifference
    droop vs zpeak23.24124.876-6.57 %
    Source
  • Compute in Transit (the experiment's result): “a fixed band, which the module could compute, ends more than a nat above DeMo's top-k, so it is no substitute at this scale” Source

The hardware decks

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).

Every site's check

Each site's “How this is checked” line, as it appears on its landing page, with the link to the evidence.

SiteHow it is checkedEvidence
Transformer Decoder Explained 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
Transformer Training 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
GPU Kernels 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
Systolic Arrays 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
AI Accelerators 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
AI Racks 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
LLM Inference 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
LLM Architectures 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
Numerics 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
Inference Trade-offs 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 Harnesses 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
Agent Protocols 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
Agent Context 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
Agent Orchestration 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
Agent Evals 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
Agent Security 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
Compute in Transit 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
HW Design-Space Agent 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