# MakeMachine Hardware BOM Settled 2026-05-23. Top-of-line host platform; GPUs are fungible and live on the EveryCycle GPU thread (see `~/Code/everycycle/docs/roadmap.md`). The substrate is built once and kept stable; GPU experimentation happens above it without revisiting motherboard, CPU, or RAM. ## Component list | Component | Choice | Approx cost | Notes | |---|---|---|---| | CPU | AMD Threadripper Pro 7975WX | $3,900 | 32 cores, 5.3 GHz boost, 8-channel DDR5. Same memory controller and PCIe lanes as bigger SKUs; cores past ~32 starve on memory bandwidth for inference. | | Motherboard | ASRock Rack WRX90D8-2L/2T | $1,200 | 7× PCIe 5.0 ×16, 8 DIMM slots, **ASPEED AST2600 BMC (OpenBMC-friendly)**, dual 10 GbE, 4× M.2 + 4× SlimSAS. | | RAM | 8× 64 GB DDR5-5600 ECC RDIMM (512 GB total) | $2,500 | One DIMM per channel — 2 DIMMs per channel forces DDR5 down to ~4400 MT/s on WRX90, costing ~20% memory bandwidth (real impact on CPU-offload layers). Brand: Micron or Hynix off the board QVL. | | Storage 1 | 4 TB Gen5 NVMe (Samsung 9100 Pro or Crucial T705) | $600 | ZFS root pool: OS, models, Sando state, logs. | | Storage 2 | 4 TB Gen5 NVMe (same) | $600 | **Raw XFS kv-scratch.** Not ZFS — ZFS caps Gen5 throughput; scratch is by definition disposable. EveryCycle uses this for kv-cache overflow. | | PSU | 2000 W Titanium-class (Super Flower Leadex Titanium or equivalent) | $600 | Headroom for any GPU combination the loose-parts experimentation hits. | | Chassis | 4U rackmount with ≥4 dual-slot GPU bays (Sliger CX4712 or similar) | $400 | Matches the eventual EveryCycle reference inference box; rackable from day one. | | CPU cooler | Silverstone XE360-TR5 (air) or Noctua NH-U14S TR5-SP6 | $200 | Air, not AIO — pump failure on a 24/7 box is worse than fan failure. | | Case fans | 6× 140 mm Noctua industrial | $200 | Front-to-back airflow; GPUs in a 4U breathe through these. | | Boot GPU | Nvidia GT 1030 (low-profile) | $80 | WRX90 has no iGPU; need a tiny card for console/boot. Also used as console GPU when datacenter cards (no display output) are installed. GT 710 originally specced but effectively EOL retail in 2026; GT 1030 is the current floor. Alternative: skip entirely if WRX90 BMC serial-over-LAN proves reliable. | | **Host subtotal** | | **~$10,280** | Before any compute GPU. | ## First compute GPU (Thread A1) | Component | Choice | Approx cost | Notes | |---|---|---|---| | GPU | 1× Nvidia Tesla P40 | $200 | 24 GB GDDR5, Pascal (cc 6.1). On-thesis: Pascal is the next architecture facing CUDA-legacy transition. | | Cooling adapter | 3D-printed or commercial fan shroud for P40 | $25 | Server card; passive cooling needs chassis airflow OR a strapped-on fan. | | Power adapter | EPS 8-pin to PCIe (or proper EPS routing) | $10 | P40 uses CPU-style 8-pin, not standard PCIe 8-pin. | | **GPU subtotal at A1** | | **~$235** | | ## Total | | | |---|---| | Host platform | ~$10,280 | | First GPU (A1) | ~$235 | | **MakeMachine v0 (assembled, runnable)** | **~$10,515** | Budget originally specced at $14–16K for the previous spec. Net savings: ~$4–5K. The savings are the GPU experimentation budget for advancing the GPU thread through A4–A5 over time. ## BIOS settings worth confirming at first boot - **Above 4G Decoding: enabled.** Required for datacenter cards with large BARs (Tesla P40, MI50, etc.). - **Resizable BAR: enabled.** Same reason. - **IOMMU: enabled.** Required for podman + CDI GPU passthrough. - **SR-IOV: as needed.** Not critical at A1; revisit at A5. - **Memory speed: DDR5-5600 (JEDEC).** Not pushed past spec. - **PCIe lane bifurcation: leave default initially; revisit for multi-GPU configurations.** ## Why this spec, summarized - **Threadripper Pro WRX90 platform** chosen over consumer TRX50 for the 7× PCIe 5.0 ×16 slots and the AST2600 BMC. EveryCycle's `bmc-agent` crate needs a real BMC to talk to. - **512 GB RAM** lets a 405B Q4 model fit fully in RAM if ever wanted; the immediate need is comfortable headroom for kv-cache experiments. - **Two Gen5 NVMes with different filesystems** because ZFS root is the right answer for the OS and model store, but ZFS would cap Gen5 bandwidth on the kv-scratch where bandwidth is the whole point. - **2000 W PSU** is sized for the worst-case 4-GPU configuration on the GPU thread, not for A1 alone. - **4U rackmount chassis** because it doubles as a prototype of the eventual EveryCycle reference appliance form factor. ## Sourcing notes Most of the spine is specialist channels; Microcenter covers the commodity parts. | Part | Channel | |---|---| | TR Pro 7975WX | Newegg, ShopBLT, Provantage | | WRX90D8-2L/2T | ASRock Rack direct, ShopBLT (longest lead — order first) | | DDR5-5600 ECC RDIMM (Micron/Hynix off board QVL) | Nemix, ServerSupply, Newegg | | Sliger CX4712 | Sliger direct (~6 wk historical lead). Fallback: Rosewill RSV-L4500U from Newegg if waiting is unacceptable. | | Tesla P40 + EPS-to-PCIe adapter + fan shroud | eBay | | 2× 4 TB Gen5 NVMe (9100 Pro / T705) | Microcenter | | PSU | Microcenter if Super Flower Leadex Titanium 2000 W in stock; otherwise Seasonic PRIME TX-1600 is the MC-reliable alternative (sufficient for A1–A3, marginal at A4 4-GPU). | | Noctua NF-A14 industrialPPC-3000 fans | Microcenter | | NH-U14S TR5-SP6 cooler | Noctua direct or Newegg; Microcenter rarely stocks | | GT 1030 boot GPU, paste, cables, M.2 heatsinks | Microcenter | Suggested order of operations: board first (longest lead) → CPU + RAM kit together (QVL match) → chassis → Microcenter run for commodity parts → P40 last (cheapest, most fungible). ## Open considerations (not blocking purchase) - **PSU redundancy.** Single 2000 W Titanium is fine for v0. Dual-redundant CRPS (e.g. FSP Twins) is the server-class move for v1. - **Cooler headroom.** NH-U14S TR5-SP6 is adequate for the 7975WX's 350 W TDP, not generous. XE360-TR5 (listed alt) gives more headroom for sustained all-core + GPU host load. Both are air. - **Boot GPU skip.** If WRX90 BMC serial-over-LAN proves reliable, GT 1030 line item is removable and a slot is reclaimed. - **kv-scratch PLP.** Consumer 9100 Pro / T705 have no power-loss protection. Fine for disposable scratch; revisit if EveryCycle ever checkpoints kv-cache through it. ## What this BOM deliberately does not include - **Multiple compute GPUs at purchase time.** Each GPU thread milestone is a discrete add; advancing the thread is its own decision moment. - **Liquid cooling.** More maintenance overhead than a single-operator shop should carry. - **Optane / SLC drives.** Optane is discontinued; Gen5 TLC is the right answer now. - **128-core CPU.** Memory-bandwidth-starved for inference; ~$6K extra for no inference gain. - **A second NIC card.** The 2× 10 GbE onboard is enough for v0.