Skip to content
FujitsuPolycomPublic

About

Low-latency collective transport and distributed LLM serving stack for switchless GB10 clusters.

Resources

Contributing

Security policy

Stars

102 stars

Watchers

4 watching

Forks

Latest commit

 

History

1,944 Commits

Folders and files

Repository files navigation

SparkRing

SparkRing's profiles run three models created by Local Inference Lab, Inc. and licensed under the Local Inference Lab License, Version 1.0: GLM-5.3-Flash-NVFP4-MXFP8-CSF-QAD (glm53-flash-tp2, glm53-flash-tp4, glm53-flash-tp2-dcp2), GLM-5.3-NVFP4-CSF (glm53-nvfp4-csf-tp6, glm53-nvfp4-csf-tp8) and Qwen3.8-Flash-Next-NVFP4-MXFP8-CSF-QAD (qwen38-flash-next-tp2). https://local-inference-lab.ai/

SparkRing serves large language models on two to eight NVIDIA DGX Sparks cabled directly over ConnectX-7, with no switch. One command installs a model on all of them, or several models on separate groups of them.

Quick start

  1. Cable two to eight Sparks directly: a pair from p0 to p0, or a line or ring from each Spark's p0 to the next Spark's p1 (requirements).
  2. Pick a --profile from the table below, or build the commands in the Install Builder.
  3. On the Spark connected to your network, run:
curl -fsSL https://fujitsupolycom.github.io/sparkring/install.sh | bash -s -- --profile PROFILE

This installs the release the Install Builder describes; the pinned install command installs main or another commit.

The installer asks before it changes anything: --plan previews and --yes approves, and running it again updates or switches models. --on 0-3 places a model on part of the Sparks. Node A restarts a model that stops serving; --no-auto-recover turns that off.

More: documentation · commands · status dashboard · Docker Compose files · pinned install command

SIRCL

SIRCL, the Switchless Inference RDMA Collective Layer, carries the model's collectives between Sparks, including Sparks reached through another Spark's ConnectX-7 relay (architecture). net-sircl brings it to any NCCL application as a network plugin (research-only).

Profiles

Model Checkpoint Sparks --profile value Context KV tokens Thinking
Qwen3.8-Flash-Next CSF (NVFP4/MXFP8), Local Inference Lab 2 qwen38-flash-next-tp2 262K 2.5M on · xhigh
Qwen3.8-Flash-Next NVFP4 QAD, Local Inference Lab 4 qwen38-flash-next-tp4 262K 2.8M on · xhigh
GLM-5.3-Flash CSF (NVFP4/MXFP8) 2 glm53-flash-tp2 1M 1.5M always · high
GLM-5.3-Flash CSF (NVFP4/MXFP8), DCP2 2 glm53-flash-tp2-dcp2 1M 4.1M always · high
GLM-5.3-Flash CSF (NVFP4/MXFP8) 4 glm53-flash-tp4 1M 5.7M always · high
GLM-5.3 NVFP4, Local Inference Lab 8 glm53-nvfp4-tp8 1M 3.4M always · high
MiMo-V2.6-Flash-MOPD Xiaomi MiMo 2 mimo-v26-flash-mopd-tp2 262K 656K on
MiMo-V2.6-Flash-MOPD Xiaomi MiMo 4 mimo-v26-flash-mopd-tp4 262K 2.2M on
DeepSeek-V4.1-Flash FP8/MXFP4, DeepSeek 4 deepseek-v41-flash-tp4 1M 12.8M on · high
Swift-1.5-Qwen3.8-Flash-Next NVFP4 experts/BF16, UkisAI 2 swift15-qwen38-flash-next-tp2 262K 2.9M on · xhigh
Swift-1.5-Qwen3.8-Flash-Next NVFP4 experts/BF16, UkisAI 4 swift15-qwen38-flash-next-tp4 262K 3.1M on · xhigh

glm53-flash-tp2-dcp2 splits the KV cache across the pair (decode-context parallelism 2). It, glm53-nvfp4-tp8 and swift15-qwen38-flash-next-tp4 are research-only; the other rows are implemented. The six-Spark GLM-5.3 profile glm53-nvfp4-csf-tp6 runs on positions 0-5 of an eight-Spark ring (research-only). More profiles and options: profile catalog.

Speed

Output tok/s, measured with llm-inference-bench 0.7.6 at temperature 1 on release 2026.10.2's image, one start per profile installed without research options; decode and prefill at 32K context. The default image, release 2026.10.5's, has no speed record of its own, nor has its parent, release 2026.10.4's. Records: every cell's raw source, rings of four, ring of eight, paths of four.

Model Checkpoint Sparks --profile Decode, 1 / 4 / 8 streams Prefill, 32K prompt Coding peak Layout
DeepSeek-V4.1-Flash FP8/MXFP4 8 deepseek-v41-flash-tp8 74 / 174 / 259 4,851 134 ring of eight
DeepSeek-V4.1-Flash FP8/MXFP4 4 deepseek-v41-flash-tp4 71 / 137 / 194 4,388 102 ring of four
DeepSeek-V4.1-Flash FP8/MXFP4 4 deepseek-v41-flash-tp4 70 / 139 / 198 4,426 102 path of four
GLM-5.3 NVFP4 8 glm53-nvfp4-tp8 46 / 94 / 129 1,387 51 ring of eight
GLM-5.3-Flash CSF 4 glm53-flash-tp4 68 / 135 / 204 3,165 80 path of four
GLM-5.3-Flash CSF 2 glm53-flash-tp2 38 / 83 / 113 2,420 49 pair
Qwen3.8-Flash-Next QAD step 5500 4 qwen38-flash-next-tp4 73 / 204 / 288 4,553 112 ring of four
Qwen3.8-Flash-Next QAD step 5500 4 qwen38-flash-next-tp4 78 / 210 / 274 4,377 111 path of four
Qwen3.8-Flash-Next CSF 2 qwen38-flash-next-tp2 68 / 150 / 219 3,716 91 pair

Documentation

Acknowledgements

SparkRing builds on Local Inference Lab (GitHub · Hugging Face · Discord): the B12X kernel library, the Qwen3.8-Flash-Next and GLM-5.3-Flash Spark NVFP4 checkpoints, llm-inference-bench and their vLLM fork.

SparkRing includes software derived from RoCEnante (b12x/comm/roce, Local Inference Lab), written by Jason (original-el8) in local-inference-lab/b12x PR 295, with dual-rail striping and graph-collective work by Luke Alonso (lukealonso), licensed under Apache-2.0; b12x now lives in FlashInfer at flashinfer/experimental/b12x (provenance).

SparkRing's NCCL patches follow Joseph Rose's nccl-spark-switchless. Thanks to Eugene Rakhmatulin for the eugr/spark-vllm-b12x base image, and to the vLLM, NVIDIA NCCL and ExLlamaV3 contributors. The third-party notices give origins and licenses.

License

SparkRing code is Apache-2.0. Model weights and bundled components keep their own terms; check the model cards and third-party notices.

About

Low-latency collective transport and distributed LLM serving stack for switchless GB10 clusters.

Resources

Contributing

Security policy

Stars

102 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages