Page Overview: Complete operational chronicle, physical slot mapping, Docker configuration, and upgrade roadmap for server smallpieces.
Server smallpieces originated as a budget multi-GPU prebuilt mining rig frame designed to process Folding@Home Work Units across cost-effective mid-tier graphics cards. Over time, it underwent a complete transformation from a memory-constrained Haswell system (smallpieces v1) to a high-density, 12-slot custom chassis built on Kaby Lake hardware (smallpieces v2).
smallpieces v1 Era (Feb 2026 – Jun 29, 2026) |
➔ | smallpieces v2 Era (Jun 30, 2026 – Present) |
|---|---|---|
| • GPNE Mining Rig Frame Case | • Octominer X12 Ultra 12-Slot Chassis | |
| • AX-B85M-ETH Motherboard | • Intel Core i7-7700 (Kaby Lake 4C/8T) | |
| • Intel Core i7-4790 (Upgraded from Celeron) | • Intel Core i7-7700 (Kaby Lake 4C/8T) | |
| • 8GB DDR3 SODIMM (Upgraded from 4GB) | • 32GB DDR3L SODIMM (2x 16GB, Upgraded) | |
| • Noctua NH-L9x65 Cooler | • Noctua NH-L9i Cooler | |
| • 2400W Mining Power Supply | • 4x Quad Octominer HPE 750W PSUs | |
• zswap Compression + Secondary SATA SSD |
• Dedicated 240V / 30A Electrical Circuit | |
| • Mixed GPUs (GTX 1070 / 2060 / 3060 Ti) | • 1x RTX 4070 + 4x RTX 5060 Ti (5 Live) |
smallpieces v1 Era (Feb 2026 – June 2026)zswap Hackzswap Compression Hack:zswap in-RAM compressed swap allocation.500fc1e1.., bb7dfb34..).38366633..).neumon and fahnalysis against AMD ROCm / OpenCL GPU architectures.smallpieces v2 Migration & Octominer Discovery (June 27 – June 30, 2026)Build Component Summary (smallpieces v2):
├── Chassis: Octominer X12 Ultra Custom 12-Slot Server Rig ($249.00)
├── Electrical Circuit: Dedicated 240V / 30A AC Circuit
├── CPU: Intel Core i7-7700 (Kaby Lake 4-Core / 8-Thread, 3.6 GHz) ($127.00)
├── CPU Cooler: Noctua NH-L9i Low-Profile Cooler (Thermalright AXP90-X53 was too tall)
├── Memory: 32GB (2x 16GB) DDR3L-1600MHz PC3-12800 SODIMM ($249.00)
├── Power Delivery: 4x (Quad) Octominer HPE 750W 200V-277V Platinum Plus PSUs
└── Cables & Hardware: C13/C14 14AWG 15A/250V power extension cords ($64.00)
1. Cooler Swap (Noctua NH-L9i): The planned Thermalright AXP90-X53 Full Copper cooler exceeded the lid clearance of the OX12U chassis. The system ran temporarily on a re-pasted stock cooler before permanent installation of the low-profile Noctua NH-L9i.
2. RAM Bottleneck Eliminated: Upgraded to 32GB DDR3L (2x 16GB SODIMM), completely removing the legacy 8GB Haswell swap constraint.
3. Quad Power Supply Array: Powered by 4x (quad) Octominer HPE 750W Platinum Plus PSUs running on 240V input for optimal power distribution across 12 slots.
Current Live GPU Topology (smallpieces - July 2026):
├── Slot 01:00.0: 1x NVIDIA GeForce RTX 5060 Ti (8GB VRAM, 150W cap) [GPU-56d10701]
├── Slot 02:00.0: 1x NVIDIA GeForce RTX 4070 (12GB VRAM, 145W cap) [GPU-d65f3411]
├── Slot 04:00.0: 1x NVIDIA GeForce RTX 5060 Ti (8GB VRAM, 150W cap) [GPU-2e4a1d96]
├── Slot 05:00.0: 1x NVIDIA GeForce RTX 5060 Ti (8GB VRAM, 150W cap) [GPU-a83e55f9]
└── Slot 06:00.0: 1x NVIDIA GeForce RTX 5060 Ti (8GB VRAM, 150W cap) [GPU-8854baa9]
The physical slot designations are silk-screened on the Octominer X12 Ultra motherboard.
Slot 1 is the CPU-adjacent physical/electrical PCIe Gen3 x16 slot.Slots 2 through 12 are physical x16 slots that are electrically PCIe Gen3 x1.| Motherboard Slot | GPU Model | PCI Bus ID | NVIDIA Index | GPU UUID | Target Container | Port | Notes |
|---|---|---|---|---|---|---|---|
| Slot 1 (x16) | MSI RTX 5060 Ti 8G SHADOW #1 | 0000:01:00.0 |
0 |
GPU-a83e55f9-8d3c-4770-8faf-cc15567610cd |
foldingathome |
7396 |
Active (CPU-tied slot) |
| Slot 2 (x1) | MSI RTX 5060 Ti 8G VENTUS | 0000:05:00.0 |
3 |
GPU-56d10701-aced-b504-06b0-0d0fc856686d |
foldingathome |
7396 |
Active |
| Slot 3 (x1) | Empty | — | — | — | — | — | Empty |
| Slot 4 (x1) | MSI RTX 5060 Ti 8G SHADOW #2 | 0000:06:00.0 |
4 |
GPU-8854baa9-8a40-a186-cef9-38b66e867190 |
foldingathome |
7396 |
Active |
| Slot 5 (x1) | Empty | — | — | — | — | — | Empty |
| Slot 6 (x1) | Empty | — | — | — | — | — | Empty |
| Slot 7 (x1) | Empty | — | — | — | — | — | Empty |
| Slot 8 (x1) | Empty | — | — | — | — | — | Empty |
| Slot 9 (x1) | Empty | — | — | — | — | — | Empty |
| Slot 10 (x1) | Zotac Blower RTX 4070 | 0000:03:00.0 |
2 |
GPU-d65f3411-caf4-41a8-0248-0dcf200dee35 |
foldingathome |
7396 |
Active (12GB GDDR6X) |
| Slot 11 (x1) | Empty | — | — | — | — | — | Empty |
| Slot 12 (x1) | PNY RTX 5060 Ti 16GB VERTO | 0000:02:00.0 |
1 |
GPU-2e4a1d96-f5b4-0b5a-c5e2-91c467224a00 |
foldingathome |
7396 |
Active (16GB Dual Fan) |
device_ids)These assignments require the environment variables CUDA_DEVICE_ORDER=PCI_BUS_ID and OpenCL_DEVICE_ORDER=PCI_BUS_ID to be configured inside the container so that they align exactly with the driver's PCIe indexing:
foldingathome: device_ids: ['0', '1', '2', '3', '4'] (All 5 live GPUs consolidated into a single service)To prevent orphaned slot bindings or phantom "unsupported" devices in F@H v8 client.db when replacing physical GPU cards:
1. Finish WUs: In the F@H UI, set the container to Finish so active simulations complete cleanly without fetching new units.
2. Unselect Devices: Once all units finish, unselect all active GPUs from the allowed devices list in the UI.
3. Shutdown & Swap: Stop the compose service (docker compose down), execute the physical card swaps, and update device_ids: in docker-compose.yaml.
4. Boot & Go: Start the container. F@H will dynamically re-enumerate the fresh hardware complement without phantom entries. Select all 5 GPUs in the UI and press Fold.
1. Phase 1 (Slot Swap - Zero Cost): Move RTX 5060 Ti from Slot 1 (x16) to Slot 10 (x1 riser), move RTX 4070 from Slot 10 to Slot 1 (x16). Verify system stability (~+2.18M PPD net gain).
2. Phase 2 (Net New 5060 Ti): Acquire net new RTX 5060 Ti and install in Slot 8 (x1 riser). Verify system stability (~+4.65M PPD addition).
3. Phase 3 (RTX 5070 Slot 1 Upgrade): Acquire RTX 5070 (under 300mm length constraint), move RTX 4070 from Slot 1 to Slot 6 (x1 riser), install RTX 5070 in Slot 1 (x16). Verify system stability (~+8.20M PPD addition; smallpieces total ~41.85M PPD).