๐Ÿ–ฅ๏ธ

Tinybox
DIY Ultimate Guide

From hardware selection to open-source optimization, build your 6x RX 7900 XTX AI monster step by step

144GB
Total VRAM
ยฅ45K
Actual Cost
6x
GPU Count
ยฅ4K+
Saved
Start Building Software Config
๐ŸŽฏ

Why DIY Tinybox?

โšก

Ultimate Value

~ยฅ48,000 for 144GB VRAM (saved ยฅ4,000+ with owned hardware)

๐Ÿ”“

Fully Open Source

From ROCm to tinygrad, embrace the open-source ecosystem

๐Ÿ”Œ

Future Ready

Potential upgrade path to UALink interconnect standard

GPU Cluster

This guide replicates the core philosophy of George Hotz (geohot)'s Tinybox Red, incorporating community best practices and comprehensive open-source optimization. Whether you're an AI researcher, deep learning engineer, or hardcore DIY enthusiast, this guide will help you build your own AI powerhouse.

โš™๏ธ

Hardware Selection & BOM

Motherboard

We recommend the EPYC server platform for unmatched stability and PCIe bandwidth. Below is the complete BOM list.

Component Model Qty Subtotal (ยฅ) Status
Mobo+CPU Bundle ROMED8-2T + EPYC 7532 1 ยฅ4,599 Purchased
Memory Samsung + SK Hynix DDR4 ECC 192GB ยฅ6,000 Owned
GPUs (6x) XFX 7900XTX Overseas Pro 6 ยฅ25,144 Purchased
โ”œ GPU 1 XFX 7900XTX Overseas Pro 1 ยฅ4,088 Purchased
โ”œ GPU 2 XFX 7900XTX Overseas Pro (99% new) 1 ยฅ4,270 Purchased
โ”œ GPU 3 XFX 7900XTX Overseas Pro 1 ยฅ4,150 Purchased
โ”œ GPU 4 XFX 7900XTX Overseas Pro 1 ยฅ4,287 Purchased
โ”œ GPU 5 XFX 7900XTX Overseas Pro (Boxed) 1 ยฅ4,129 Purchased
โ”” GPU 6 XFX 7900XTX Overseas Pro 1 ยฅ4,220 Purchased
Power System Dual PSU (2000W + 850W) 1 ยฅ1,860 Purchased
โ”œ PSU 1 (Main) 2000W PSU 1 ยฅ1,600 Owned
โ”œ PSU 2 (Secondary) Cougar GEX850W Gold 1 ยฅ240 Purchased
โ”” Sync Cable 24-pin Dual PSU Adapter 1 ยฅ20 Purchased
Storage 1TB SSD + 500GB Backup 1 ยฅ2,000 Owned
Case + Cooling Open Bench + 2U Cooler 1 ยฅ50 To Buy
Water Cooling Mod DIY 3D Print Design 1 ยฅ5,000 Optional
โ”œ 3D Printed Parts Water blocks/brackets custom 1 ยฅ1,500 Pending
โ”œ Radiators 480mm Dual 480 Radiators 2 ยฅ600 To Buy
โ”œ Radiator Fans 120mm Fans 8 ยฅ400 To Buy
โ”œ Pumps D5 Pumps 2 ยฅ500 To Buy
โ”œ Reservoir Pump-Reservoir Combo 1 ยฅ200 To Buy
โ”œ Tubing Soft tubes + Fittings 1 ยฅ400 To Buy
โ”œ Coolant DIY Coolant 1 ยฅ60 To Buy
โ”œ Drain Valve Drain Valve 1 ยฅ30 To Buy
โ”œ Nippers Jiuyang 629 1 ยฅ47 Purchased
โ”” Misc O-rings/Screws etc 1 ยฅ263 To Buy
Total Cost ยฅ44,653 excl. water cooling

โœ… Your Existing Hardware

Memory

192GB DDR4 ECC

4ร—32GB Samsung + 4ร—16GB SK Hynix

System Disk

Intel DC S3520 480GB

Enterprise SATA SSD

Backup Storage

Toshiba 500GB + Portable HDD

For model backup/cold storage

๐Ÿ’พ Storage Advice

Your existing Intel 480GB SSD is sufficient for Ubuntu + tinygrad. If running 70B models later, consider adding a 1TB NVMe SSD (~ยฅ400).

๐ŸŒ€ Cooling Tips

Open bench frames offer the best airflow. Ensure spacing between GPUs and add extra case fans - critical for the 7900XTX.

๐Ÿ”ง

Assembly & Configuration Guide

01 Physical Assembly

Platform Setup: Install EPYC CPU and 8 RAM sticks on ROMED8-2T. Test POST with 1 GPU direct to mobo.

Rack Mounting: Secure motherboard to bottom of open bench. Mount 6 GPUs on top bar.

Risers: Connect 6 PCIe extension cables from mobo x16 slots to GPUs.

02 Dual PSU Wiring (2000W + 850W)

Use 2000W Main + 850W Secondary. Must use sync cable for simultaneous startup.

Sync cable has 3 heads:

  • Head A 24pin Male (more wires) โ†’ Plug into Motherboard
  • Head B 24pin Female (more wires) โ†’ Connect to PSU 1 (2000W)
  • Head C 24pin Female (fewer wires) โ†’ Connect to PSU 2 (850W)
PSU 1 (2000W Main) PSU 2 (850W Sec) โ”‚ โ”‚ โ”‚ 24pin Cable โ”‚ 24pin Cable โ–ผ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Head Bโ”‚ โ”‚ Head Cโ”‚ โ”‚(Female)โ”‚ โ”‚(Female)โ”‚ โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ” โ”‚ Head Aโ”‚ โ”‚ (Male)โ”‚ โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ”‚ โ–ผ Motherboard (24pin Socket)

โšก PSU 1 (2000W) handles:

  • 24pin motherboard power (via sync cable)
  • 8pin + 4pin CPU power
  • GPU 1, 2, 3, 4 power cables
  • HDDs, fans, etc.

โšก PSU 2 (850W) handles:

  • 24pin to sync cable (NOT directly to mobo!)
  • GPU 5, 6 power cables
  • Optional: 6pin to mobo GFX_12V1

Boot Test:

  1. Plug in both PSUs, turn both switches ON
  2. Press motherboard power button
  3. Both PSUs should start simultaneously (fans spin together)
  4. If PSU 2 doesn't start โ†’ Check sync cable connection

โš ๏ธ Safety Warning: Both PSUs must be plugged into the SAME well-grounded power strip to share ground and prevent voltage differential damage!

03 BIOS Configuration

Setting Recommended Purpose
Above 4G Decoding Enabled Enable >4GB BAR addressing
Resizable BAR Enabled Allow CPU to access all VRAM at once
IOMMU Enabled Better P2P communication
๐Ÿ“Ÿ

Software Setup - Choose One

Software Terminal
Recommended

Option A: Pure Tinygrad

Bypass the full ROCm stack, use tinygrad's userspace driver directly. Lighter and more stable.

1. Configure Kernel Parameters

GRUB
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=on iommu=pt"

Edit /etc/default/grub then run sudo update-grub and reboot

2. Install Tinygrad

BASH
sudo apt update && sudo apt install -y git python3-pip git clone https://github.com/tinygrad/tinygrad.git cd tinygrad pip install -e .

3. Verify Installation

BASH
# First run, tinygrad handles driver automatically AMD=1 python3 -c "from tinygrad import Tensor; print(Tensor.zeros(2,2).numpy())" # Verify multi-GPU AMD=1 python3 -c "from tinygrad.runtime.ops_amd import AMDDevice; print(AMDDevice.device_ids)"

Option B: Full ROCm Stack

Better compatibility for PyTorch, TensorFlow, and other mainstream frameworks.

1. Configure Kernel Parameters

Same as Option A

2. Install ROCm

BASH
# Download amdgpu-install script from official site wget https://repo.radeon.com/amdgpu-install/6.0/ubuntu/jammy/amdgpu-install_6.0.60000-1_all.deb sudo apt install ./amdgpu-install*.deb # Install ROCm amdgpu-install --usecase=rocm --accept-eula # Verify installation rocm-smi

If you can see info for all 6 cards, installation was successful.

โšก

Ultimate Open-Source Optimization

๐Ÿ”ง Power & Thermal Optimization (LACT)

LACT is the most comprehensive GUI tool for managing GPU power limits and fan curves across all cards.

BASH
# Recommended via Flatpak flatpak install flathub io.github.ilya_zlobintsev.LACT
  • Set power limit to 280W-300W per card
  • Set aggressive fan curve, keep temps under 85ยฐC under load

โš™๏ธ Performance Environment Variables

Add these environment variables to your ~/.bashrc file:

BASH
# --- ROCm Performance Optimization --- export HSA_FORCE_FINE_GRAIN_PCIE=1 export HSA_ENABLE_PEER_SDMA=1 export HIP_FORCE_DEV_KERNARG=1 export NCCL_MIN_NCHANNELS=32 # --- Tinygrad Specific --- export AMD=1 export BEAM=4 export DEFAULT_FLOAT=HALF

โšก FlashAttention

If using PyTorch, compile and install the ROCm version of FlashAttention from source to dramatically improve Transformer performance.

๐Ÿ“Š Real-time Monitoring

During training, use amdgpu_top to monitor all GPUs in real-time including temperature, power, and VRAM usage.

โš ๏ธ

Common Issues & Solutions

โš ๏ธ

PCIe AER Error

Cause: Poor signal quality from PCIe 4.0 riser cables

  • Replace with higher quality risers (Linkup, ADT-Link)
  • Downgrade PCIe to Gen3 in BIOS
  • Add pci=noaer parameter to GRUB
โš ๏ธ

P2P Mapping Failure

Cause: IOMMU misconfiguration

  • Ensure IOMMU is enabled in BIOS
  • Check kernel parameters: amd_iommu=on iommu=pt
  • Use rocm-bandwidth-test tool to diagnose
โš ๏ธ

Power Shutdown Under Load

Cause: Instantaneous peak power exceeds capacity

  • Use LACT to limit each card to 280W
  • Check home circuit capacity (need 16A outlet)
  • Ensure dual PSU is configured correctly
๐Ÿ“š

Open Source Resources