{
 "name": "lives stepped on a GPU: the same world, and does it reach 1e9 life-months per second?",
 "registered": "2026-10-05",
 "target": "docs/LIVES.md target 1 (1e9 life-months/s on stated hardware, outputs equal to the monthly engine within twice the Monte Carlo SE). The CPU result (2.2e8 on one 48-thread server) stands as published; this is a new test of a new engine.",
 "engine": "experiment/lives/gpu/lives.cu: the monthly step of src/lifecourse/lives.ts (Lives.step) on one GPU. The same counter-based draw (seed, life, month, event) and the same order of events within a month (deaths, separations, births, departures, then partnerships). Where two partners' events interact within a month, each recomputes the other's draw instead of reading shared state. Births take their indices from a scan in life order. Partnerships: seekers sorted on the GPU (women by band then life, men by band then their pick draw, stable), then the engine's greedy pass in band order on the host over unified memory.",
 "hardware": "one NVIDIA GB10 (unified memory) and its host CPU. NOT dedicated: the GPU is shared with a resident inference service; free memory, load and GPU use at start are reported with the result. The process runs at nice 19.",
 "equivalence": {
  "world": "as calendar.json: UK 2019 tables (uk2019.json; partnership, separation and leaving home as the stated placeholders), 200,000 lives, ages drawn uniformly 0-89, 32 places, 120 months",
  "replicates": "10 seeds, 20261004 + r; the monthly engine (TypeScript) and the GPU engine from the same initial lives for each seed",
  "counts": "births, deaths, partnerships, separations, departures over the 120 months, and lives alive at the end",
  "rule": "for each count, |mean gpu - mean monthly| <= 2 * sqrt(se_gpu^2 + se_monthly^2)",
  "also": "whether each seed's counts are identical between the engines"
 },
 "throughput": {
  "world": "the same world builder, 250,000,000 lives, 12 months",
  "measure": "lives alive at the start of each month summed over the 12 months, divided by the wall time of the 12 months (world construction reported apart)",
  "also": "the same at 1,000,000,000 lives if at least 60 GB of memory is free at the start"
 },
 "decision": "target 1 is met on stated hardware only if every count is equivalent AND throughput at 250,000,000 lives is at least 1e9 life-months per second; reported whatever happens"
}
