Two DGX Sparks: Memory Over Speed

Two DGX Sparks: Memory Over Speed

Adding two DGX Sparks to the lab: what they are, which models fit on one or need both, and how two of them share a model.

AI InfrastructureDGX SparkUnified MemoryTensor ParallelismHardware

The lab so far is the 4090 and a spare MacBook. Now it has two NVIDIA DGX Sparks, connected with a QSFP cable.

Two DGX Sparks standing upright side by side on a white shelf

What a Spark is

A DGX Spark is a small box built around NVIDIA's GB10 chip. The CPU and the GPU share 128 GB of memory, like on the Mac. It also has a ConnectX-7 network card with a 200 Gb/s port, which is what the QSFP cable plugs into. I measured 196 Gb/s across it.

With the Sparks, the lab has three kinds of memory:

MachineMemoryMemory bandwidth
RTX 409024 GBabout 1,000 GB/s
M1 Max64 GB400 GB/s
DGX Spark128 GB273 GB/s
Two Sparks256 GB273 GB/s each

Each step down the table holds more and reads slower. A Spark can hold models the 4090 cannot load at all, but it reads them at about a quarter of the speed.

One Spark or two

There are three common ways to run a model on this pair.

TP=1, one model per Spark. If a model fits in 128 GB, it runs on one box. The other Spark is free for a second model, or a second copy of the same one.

TP=2, tensor parallel. Every layer of the model is split in half, and each Spark holds one half of every layer. For each token, both boxes read their half of the weights at the same time, so together they read at up to 546 GB/s. The cost is that the two halves have to exchange results after every layer, many times per token. That traffic is what the 200 Gb/s link is for. This is how most people run a model across two Sparks.

PP=2, pipeline parallel. The model is cut by layers instead. The first Spark holds the first half of the layers, the second holds the rest, and the work passes across the cable once per step. It needs much less traffic than TP=2, but for one user each Spark waits while the other works, so it adds memory, not speed. It is mostly a fallback for when TP=2 does not work well.

What runs on them

Here are some of the open models available right now, with their approximate size at 4-bit:

ModelTypeWeights at 4-bitRuns on
Qwen3.5-35B-A3BMoE, 3B activeabout 20 GBone Spark
Qwen3.5-27Bdenseabout 15 GBone Spark
gpt-oss-120bMoE, 5B activeabout 65 GBone Spark
Qwen3.5-122B-A10BMoE, 10B activeabout 65 GBone Spark
Qwen3.5-397B-A17BMoE, 17B activeabout 210 GBtwo Sparks, TP=2

A 4090 can run only the first two of these.

Most of the list is mixture of experts (MoE), and that is not a coincidence. A MoE model is large in total, but each token only reads the experts it uses. That suits a machine with a lot of memory and modest bandwidth.

The bandwidth arithmetic from the 4090 post shows the difference. Qwen3.5-27B at 16-bit is about 54 GB, and it is dense, so every token reads all of it. At 273 GB/s that is about 0.2 seconds per token, or 5 tokens per second at best. Qwen3.5-122B-A10B is more than four times larger, but each token reads only about 5 GB of active weights at 4-bit. The same arithmetic gives an upper limit of about 50 tokens per second.

These are limits on paper, not measurements. But they show which models this machine is built for: big, sparse ones, and the biggest of those need both Sparks.