NVIDIA Blackwell trat dem Schwarm bei
Eine GB10 Grace Blackwell berechnete echte 122B-Experten-FFN-Scheiben in CUDA und glich AMD ROCm bitgenau ab (cosine 1.0000000000) sowie die Grace ARM CPU innerhalb der Toleranz. Die Cross-Backend-Matrix ist vollständig.
Die Prämisse eines Schwarms ist *welche Hardware auch immer auftaucht*. Numerische Äquivalenz — der Beweis, dass CUDA-, ROCm-, Adreno- und CPU-Worker alle denselben Token ausgeben — war bereits auf ROCm, Smartphone-ARM und numpy gemessen. NVIDIA ist der voreingestellte und am besten optimierte Pfad im Standard-ggml/Inferenz-Engine, war aber das einzige Backend, auf dem die Matrix nicht geschlossen war. Echte Blackwell-Hardware laufen zu lassen schließt sie.
GB10 Blackwell CUDA ↔ MI250 ROCm gfx90a: cosine 1.0000000000 — max abs diff 3.5×10⁻¹⁰. Auf derselben echten Qwen3.5-122B-Layer-0-Expertenscheibe sind die zwei GPU-Backends praktisch bitidentisch.

Die Cross-Backend-Matrix
| Vergleich | Hardware | cosine | max abs |
|---|---|---|---|
| CUDA ↔ ROCm | GB10 Blackwell ↔ MI250 gfx90a | 1.0000000000 | 3.5e-10 |
| CUDA ↔ CPU | GB10 Blackwell ↔ Grace ARM | 0.9997525825 | 2.6e-05 |
| CPU ↔ ROCm | Grace ARM ↔ MI250 gfx90a | 0.9997525823 | 2.6e-05 |
Die zwei GPU-Backends (CUDA, ROCm) teilen sich Kernel-Quellen und landen daher praktisch bitidentisch (10⁻¹⁰). GPU↔CPU trägt durch eine andere Akkumulationsreihenfolge eine Störung von ~10⁻³ pro Op, bleibt aber bei cosine 0.99975 äquivalent — dasselbe Muster wie das frühere ROCm↔Smartphone-ARM 0.99992. Das Router-Autoritätsprinzip hält auch auf NVIDIA: die diskreten Entscheidungen (argmax, Expertenauswahl) sind über diese kontinuierliche Störung invariant.
Was lief, worauf
- Gerät — NVIDIA GB10 (Grace Blackwell), aarch64, compute 12.1 / sm_121a, 124,5 GB Unified Memory.
- Toolkit — CUDA 13.0.88 · gcc 13.3 · ggml 0.15.3; der reine ggml/gguf-Expert-Worker mit Blackwell-Kernels gebaut.
- Modell — Qwen3.5-122B-A10B-Q4_K_M, Layer-0 alle Experten (256 Experten, n_embd 3072, n_ff 1024, Q4_K/Q6_K).
- Methode — die 1,58-GB-L0-Scheibe MI250 → GB10 gestreamt (verlustfreier Vergleich); dieselbe Eingabe (h/ids) durch CUDA, CPU und ROCm; float32-Ausgabevektoren (36.864) per cosine, relativer L2 und max-abs verglichen.
Eine Echt-Hardware-Falle: die integrierte GPU des GB10 wird von ggml als Gerätetyp ACCEL klassifiziert, nicht GPU — also fand init_by_type(GPU) nichts. Behoben, indem statt eines hartkodierten GPU-Typs das erste Nicht-CPU-Gerät gewählt wird.
Die Matrix ist geschlossen
Damit heterogene Worker ein Modell servieren, müssen eine CUDA-Maschine und eine ROCm-Maschine austauschbar sein, und eine GPU und eine CPU müssen numerisch äquivalent sein. Mit gemessenem Blackwell gilt beides über die volle Backend-Matrix: CUDA↔ROCm-Worker sind gegeneinander austauschbar, und GPU↔CPU-Worker stimmen innerhalb einer beschränkten, gut konditionierten Toleranz überein. Der weltweit verbreitetste Beschleuniger ist nun ein verifizierter Schwarmbürger.