Where every number was produced: machines, pinned software, seeds and byte-verified inputs.
| Role | Machine | Used for |
|---|---|---|
| Local development | Apple M1 Max (CPU) | jutari conformance sweeps + jaxtari CPU baseline (~60k env-steps/s asymptote, batched) |
| GPU benchmark A | NVIDIA GeForce GTX 1080 Ti | soft-mode throughput sweep — results/gpu/gtx1080ti.json |
| GPU benchmark B | NVIDIA Quadro RTX 5000 | soft-mode throughput sweep — results/gpu/q5000.json |
| Cluster (Paper 2) | LME SLURM cluster, /cluster/maier | Phase A/B/C batteries: CPU array 4 cores / 16 GB / 4 h; GPU jobs 4 cores / 32 GB / 8 h; concurrency throttled to 10 jobs (user QOS) |
| Component | Version | Pin |
|---|---|---|
| Julia | 1.12.x (jutari authoring; CI on 1.10) | jutari/Project.toml + Manifest.toml (pinned) |
| Python | 3.13 (CI); ≥ 3.10 required | jaxtari/pyproject.toml (pinned) |
| JAX | 0.10.1 (GPU benchmark); ≥ 0.4.30 required | recorded in results/gpu/*.json env block |
| CUDA | 12 (jax[cuda12] on the cluster) | tools/cluster/xai_gpu.sbatch |
tools/xitari_conformance_seed.patch); otherwise it seeds from time(NULL) and elevator_action’s attract demo is non-reproducible.f<start>+<window> (e.g. f120+30 = boot to frame 120, then a 30-frame window) — always inside the Paper-1 bit-exact horizon (~30-frame RAM / ~60-frame screen).ROMs are not redistributed (copyright). They are obtained via AutoROM and verified by SHA-256 so an auditor confirms byte-identical inputs.
| Game | Size | SHA-256 (prefix) |
|---|---|---|
pong | 2048 B | 41623e3c2614… |
breakout | 2048 B | 376323f051c3… |
space_invaders | 4096 B | 7224b17462b9… |
seaquest | 4096 B | fbc29f4678f6… |
ms_pacman | 8192 B | dde0b43c5dee… |
qbert | 4096 B | 3257221832a7… |
Full table: tools/xai_study/repro/rom_hash_table.csv · verify with
python3 tools/xai_study/repro/make_hash_tables.py --verify.