Post

Local AI with Strix Halo & R9700

Local AI with Strix Halo & R9700

I was looking for a good way to run local AI for vulnerability research and a while back ended up buying a Geekom A9 Mega (a Strix Halo box with 128GB of unified memory). I preferred this over the DGX Spark at the time since it’s x86, so it also serves as a nice server. Some of the MoE models like Qwen 3.6 35B or Laguna S 2.1 run quite well, but they weren’t really good enough for meaningful research, and dense models like Qwen 3.6 27B were slow on the hardware. Then I came across a few posts from Lucebox where they attached an R9700 (AMD card with 32GB of VRAM and 640 GB/s) to a Strix Halo:

They didn’t just attach the GPU and use it separately but found a way to meaningfully combine the iGPU and the GPU, so ultimately 160GB VRAM can be used. Their approach puts the most-frequently-routed experts on the R9700’s fast 32GB while the Strix Halo holds the rest in its 128GB pool. For a sparse MoE model like DeepSeek V4 Flash 0731, where only a few experts fire per token, that split seems to map well onto the hardware.

So I thought it was worth a try and bought:

Except the GPU, most of it is pretty cheap. You could also connect the DEG1 via USB instead of M.2/PCIe, which would look much cleaner, but it’s slower (about 3 GB/s vs. 7-8 GB/s over the M.2 connector).

Build

Parts for the build: Corsair SF850 SFX PSU, the M.2-to-OCuLink adapter, and the case The parts: Corsair SF850 SFX power supply, the OCuLink adapter kit, and the R9700.

Opening up the A9 Mega, the adapter goes into one of the M.2 slots. It’s a small card that carries PCIe 4.0 out to a flat ribbon that ends in an OCuLink (SFF-8611) connector:

The M.2-to-OCuLink adapter card installed in the mini PC's NVMe slot The M.2 adapter seated in an internal NVMe slot.

The ribbon routes out through a gap in the chassis. Not elegant, but it works and the lid still closes:

The OCuLink ribbon cable exiting the GEEKOM A9 Mega OCuLink cable coming out of the underside of the A9 Mega.

On the other end, the R9700 sits in the Minisforum DEG1 dock, powered by its own Corsair SF850 SFX PSU (the mini PC can’t feed a card like this, so the GPU gets its own power). The R9700 is an ASRock Creator card (blower-style cooler):

The ASRock Radeon AI PRO R9700 in its box 32GB of RDNA4. The box makes a point of the “AI” branding.

Wired up, the whole thing looks like this - mini PC, OCuLink out to the GPU, GPU fed by the external PSU:

The assembled rig: mini PC connected via OCuLink to the external R9700 and SFX PSU The finished rig. The Mimic is optional but recommended.

Results

After booting into Ubuntu 26.04 with ROCm 7.2.3, both GPUs show up:

1
2
3
4
$ rocminfo | grep "Marketing Name"
  Marketing Name:          AMD RYZEN AI MAX+ 395 w/ Radeon 8060S
  Marketing Name:          AMD Radeon AI PRO R9700
  Marketing Name:          AMD Radeon Graphics

rocm-smi sees the R9700 with its full 32GB, alongside the Strix Halo iGPU:

1
2
3
$ rocm-smi -i
GPU[0]  : Device Name:  AMD Radeon AI PRO R9700
GPU[1]  : Device Name:  AMD Radeon Graphics

The discrete card is gfx1201 (RDNA4) and the iGPU is gfx1151.

OCuLink speed is okay (PCIe 4.0 x4) but not as fast as a normal mainboard slot (x16), so the link gets negotiated down:

1
2
3
$ lspci -vv -s c6:00.0 | grep -E "LnkCap|LnkSta"
  LnkCap: Speed 32GT/s, Width x16
  LnkSta: Speed 16GT/s (downgraded), Width x4 (downgraded)

For LLM inference this probably does not matter much because once the weights are in VRAM, the PCIe link mostly carries prompts and results. It could hurt for anything that streams data across the bus constantly, like offloading layers between the R9700 and host memory.

First Impressions

Using Vulkan and MTP we get about 50-80 t/s for Qwen 3.8 27B (Q4_K_XL weights with Q8 KV cache) on the R9700, depending on how well the prediction does and the context size - way better than the Strix Halo alone could do. Next I want to try DeepSeek V4 Flash 0731 (and other MoEs), similar to what Lucebox did, so both the iGPU and GPU are used together, and do some actual vulnerability research with both Qwen and DeepSeek offline. Let’s see if it can pay for itself.

This post is licensed under CC BY 4.0 by the author.