NVIDIA Blackwell se unió al enjambre

Una GB10 Grace Blackwell computó rebanadas reales de FFN de expertos del 122B en CUDA e igualó a AMD ROCm bit a bit (cosine 1.0000000000), y a la Grace ARM CPU dentro de tolerancia. La matriz entre backends está completa.

La premisa de un enjambre es *el hardware que aparezca*. La equivalencia numérica — la prueba de que los workers CUDA, ROCm, Adreno y CPU emiten todos el mismo token — ya se había medido en ROCm, ARM de teléfono y numpy. NVIDIA es la ruta por defecto y mejor optimizada en el ggml/motor de inferencia de serie, pero era el único backend en el que la matriz no se había cerrado. Correr hardware Blackwell real la cierra.

GB10 Blackwell CUDA ↔ MI250 ROCm gfx90a: cosine 1.0000000000 — max abs diff 3.5×10⁻¹⁰. Sobre la misma rebanada real de expertos de layer-0 del Qwen3.5-122B, los dos backends de GPU son efectivamente bit-idénticos.

A new GPU docking into an almost-complete matrix of backend-comparison cells, its waveform snapping into overlap with a red GPU's
Medido · Qwen3.5-122B-A10B real, rebanada de expertos de layer-0

La matriz entre backends

ComparaciónHardwarecosinemax abs
CUDA ↔ ROCmGB10 Blackwell ↔ MI250 gfx90a1.00000000003.5e-10
CUDA ↔ CPUGB10 Blackwell ↔ Grace ARM0.99975258252.6e-05
CPU ↔ ROCmGrace ARM ↔ MI250 gfx90a0.99975258232.6e-05

Los dos backends de GPU (CUDA, ROCm) comparten fuentes de kernel, así que caen efectivamente bit-idénticos (10⁻¹⁰). GPU↔CPU arrastra una perturbación de ~10⁻³ por operación por un orden de acumulación distinto, pero se mantiene equivalente en cosine 0.99975 — el mismo patrón que el anterior ROCm↔ARM-de-teléfono 0.99992. El principio de autoridad del router se sostiene de nuevo en NVIDIA: las decisiones discretas (argmax, selección de expertos) son invariantes sobre esta perturbación continua.

Montaje

Qué corrió, sobre qué

  • Dispositivo — NVIDIA GB10 (Grace Blackwell), aarch64, compute 12.1 / sm_121a, 124.5 GB de memoria unificada.
  • Toolkit — CUDA 13.0.88 · gcc 13.3 · ggml 0.15.3; el expert-worker de ggml/gguf puro compilado con kernels Blackwell.
  • Modelo — Qwen3.5-122B-A10B-Q4_K_M, todos los expertos de layer-0 (256 expertos, n_embd 3072, n_ff 1024, Q4_K/Q6_K).
  • Método — la rebanada L0 de 1.58 GB transmitida MI250 → GB10 (comparación sin pérdidas); la misma entrada (h/ids) corrida por CUDA, CPU y ROCm; vectores de salida float32 (36.864) comparados por cosine, L2 relativa y max-abs.

Un tropiezo en hardware real: la GPU integrada del GB10 se clasifica como tipo de dispositivo ggml ACCEL, no GPU — así que init_by_type(GPU) no encontró nada. Arreglado seleccionando el primer dispositivo no-CPU en vez de codificar el tipo GPU.

Por qué importa

La matriz está cerrada

Para que workers heterogéneos sirvan un modelo, una caja CUDA y una caja ROCm deben ser intercambiables, y una GPU y una CPU deben ser numéricamente equivalentes. Con Blackwell medido, ambas cosas se cumplen en toda la matriz de backends: los workers CUDA↔ROCm pueden sustituirse entre sí, y los workers GPU↔CPU concuerdan dentro de una tolerancia acotada y bien condicionada. El acelerador más común de la tierra es ahora un ciudadano verificado del enjambre.