Two Boxes, One Brain

A real distributed AI cluster on DGX Spark

Working

Under one dev tree runs a real distributed AI network — not a demo

Two NVIDIA DGX Spark GB10 boxes are fused into a single local LLM backend: a running cluster, marked IMPLEMENTED AND WORKING in its own transfer notes.

And the first question for any "running cluster" is: does it actually serve?

spark-1
DGX Spark · NVIDIA GB10
spark-2
DGX Spark · NVIDIA GB10

The cluster loads a 44.94 GiB model and answers in ~15 seconds

Running AWQ 4-bit Qwen3-Coder-Next via vLLM, the distributed run loads in ~6 minutes, holds tens of GiB of KV cache, and generates ~200 tokens in ~15s on a coding task.

Real numbers — so what hardware are they coming from?

44.94 GiB
Model loaded (~320s / ~6 min)
54.05 GiB
KV cache (590,240 tokens)
~15s
~200 tokens, coding task

spark-1 and spark-2: two GB10 boxes on a Tailscale mesh

Each DGX Spark node is an NVIDIA GB10 with 128GB unified memory on Ubuntu 24.04 aarch64. Both sit on a Tailscale mesh alongside a Windows dev machine — a topology read by Amplifier via fleet-awareness context.

Two capable boxes — but why does the model need both of them?

spark-1
100.123.54.55 · GB10 · 128GB
spark-2
100.77.120.35 · GB10 · 128GB
windows
100.92.254.41 · dev machine

One GB10 box isn't enough — and only AWQ even works

A single node can't serve the whole model cleanly, and the easy quantization shortcuts are closed: on GB10, FP8 produces garbage output and MXFP4 crashes on load. Only AWQ 4-bit is verified good.

If shortcuts are ruled out, the two boxes have to genuinely cooperate.

A Ray tensor-parallel cluster shards one model across both GPUs

The two nodes fuse over a 200Gbps QSFP direct link (ConnectX-7) into a single Ray cluster: tensor parallel size 2, one shard per GPU, ~256GB combined unified memory serving one model.

But someone still has to stand up that second node — by hand?

200Gbps
QSFP direct link (ConnectX-7)
TP 2
Tensor parallel, one shard per GPU
~256GB
Combined unified memory, 2 GPUs

The second node isn't stood up by hand

The cluster kit's install.sh installs head and worker roles, and auto-detects spark-2's worker address (from /etc/hosts, or by guessing the head IP + 1) before templating it into the configs.

Which sets up the real moment: one box reaching across to configure the other.

The first box provisions the second — over SSH, in commit history

spark-1's spark-mode script SSHes into spark-2, runs mkdir -p /etc/vllm, then writes node.env onto it — a genuine remote config write added in commit bbc9fe9, so the two GPUs come up serving one model.

The distributed part isn't just the inference — it's the setup itself.

# commit bbc9fe9 (2026-02-26) — spark-mode # spark-1 reaching across to spark-2: ssh2 "sudo mkdir -p /etc/vllm" ssh2 "sudo tee /etc/vllm/node.env"

A 655-line provider module lets Amplifier drive the cluster

The amplifier-module-provider-cluster speaks the OpenAI Chat Completions API to the vLLM endpoint, with a mount-time health check, tool calling, and Qwen3 thinking-token support — two self-provisioning boxes become one brain you can point work at.

That's the whole arc: two boxes, one usable brain behind Amplifier.

655
Lines of Python, provider module
2→1
Boxes serving one model as a backend
Sources

Research Methodology

Data as of: Local repos under /home/ramparte/dev/ANext and /home/ramparte/dgx-spark-cluster; latest cluster commit 2026-03-04.

Feature status: Distributed cluster WORKING (AWQ Qwen3-Coder-Next verified on spark-1/spark-2); provider module PRESENT and usable.

Commands run:

Gaps / unverified: Narrative framing found elsewhere — gaming pauses, spoken-goal builds, a Raspberry Pi "voicebox", port 8420, and autonomous agent-to-agent self-deploy — is presenter narration only and is NOT documented in any code, commit, or config; it is excluded from this deck. MoE parameter count is inconsistent across sources, so no count is asserted.

Primary contributors: Brian Krabach (dgx-spark-cluster kit, all 18 commits); Sam Schillace (dgx-spark-setup fleet tooling, all 6 commits).

More Amplifier Stories