DGX Spark/Guides/TFLOPS measured
Performance · November 2026

DGX Spark TFLOPS measured: NVIDIA's 1 PFLOP FP4 figure against matmul, burn and prefill tests

By Samuel Seidel · Published November 7, 2026 · Sources checked November 7, 2026

NVIDIA's 1 PFLOP is FP4 with 2:4 sparsity, and a register-resident microbenchmark does reach it: nvfp4bench measured 973 to 1,022 TFLOPS sparse and 486 to 511 TFLOPS dense NVFP4 on Founders Edition, HP, ASUS and Lenovo GB10 units in June 2026. Real matrix multiplies land far lower, at 356 TFLOPS for a CUTLASS 4.4 NVFP4 GEMM, 188 for FP8, and 77 to 99 TFLOPS for a sustained PyTorch BF16 matmul. LLM prefill uses 24 to 166 TFLOPS by my calculation, about a fifth of an RTX 5090 on the same llama.cpp test.

PrecisionPeak, NVIDIA or derivedInstruction microbenchmarkReal GEMM or sustained runMain sources and dates
NVFP4, 2:4 sparse1,000 (NVIDIA)973 to 1,022none publishednvfp4bench thread, 2026-06-17
NVFP4, dense500 (half of sparse)486 to 511356 (CUTLASS 4.4.0 GEMM)CUTLASS thread, 2026-02-07
FP8, dense250 (derived)237 to 241 (clpeak)188 (CUTLASS GEMM)clpeak thread, 2026-06-25
BF16, dense tensor125 (derived)120.4 to 120.9 (clpeak, Vulkan)77 to 99 (PyTorch, 45 s)clock-check thread, 2026-10-26
FP32, CUDA cores29.7 (calc)29.7 to 30.6 (clpeak)n/aclpeak thread, 2026-06-25

TFLOPS on one GB10. NVIDIA's hardware documentation gives only "up to 1 PFLOP at FP4 precision with sparsity" and 6,144 CUDA cores. The FP8 and BF16 peaks are my derivation from the usual 4:2:1 ratio of FP4 to FP8 to 16-bit tensor rates; the FP32 peak is 6,144 cores x 2 operations x 2.418 GHz, the clock clpeak reports.

Does the DGX Spark really reach 1 PFLOP?

Yes, but only with packed NVFP4, 2:4 structured sparsity and no memory traffic at all. nvfp4bench runs back-to-back warp-level matrix instructions on values held in registers, so it measures the tensor cores alone. Owners posted results from four makers' units within three days:

UnitDriverByte-padded FP4 (mxf8f6f4), densePacked NVFP4 (mxf4nvf4), densePacked NVFP4, 2:4 sparse
Author's unit580.x, CUDA 13.0about 256about 5111,014 to 1,022
HP ZGX Nano G1nnot stated251.9503.91,007.8
Lenovo ThinkStation PGX580.159.03249.2498.4996.7
ASUS Ascent GX10580.x248.7497.5994.8
ASUS Ascent GX10610.43.02247.5494.9989.8
NVIDIA DGX Spark Founders Editionnot stated243.5486.3973.2
ASUS Ascent GX10, capped at 1.99 GHznot stated194.9389.8779.6

TFLOPS from nvfp4bench --peak, posted in the NVIDIA forum thread between 17 and 19 June 2026. The author reports the unit ran at about 2.6 GHz under load.

Three details from the thread matter if you write kernels. The headline needs the packed mxf4nvf4 instruction with two FP4 values per byte; the byte-padded mxf8f6f4 path most hand-written code starts from runs at exactly half rate, the same rate as FP8. GB10 has no tcgen05 instructions or tensor memory, so FP4 runs on the warp-level path that consumer Blackwell uses. And the build must pass -gencode=arch=compute_121a,code=sm_121a; the -arch=sm_121a shorthand can silently drop the "a" and lose the FP4 instructions. Tom's Hardware called the sparse figure "mostly marketing"; the silicon does reach it, but no LLM measurement on this site uses 2:4 sparse weights.

Dense, sparse and the precision ladder

Dense FP4 is half the sparse figure, FP8 half of dense FP4, and 16-bit half of FP8, as far as the measurements show. clpeak's Vulkan cooperative-matrix tests read 240.7 TFLOPS in FP8 E4M3 and 120.9 in BF16 on driver 610, and its CUDA FP8 test 237 to 239. That matches the 125 TFLOPS dense BF16 that John Carmack assumed when he reported the Spark delivering about half of it, in a post quoted on the NVIDIA forum.

One outlier: mmapeak, run in a CUDA 13.0.2 container in November 2025, reported 212.9 TFLOPS for BF16 with FP32 accumulate and 427.3 for NVFP4 (NVIDIA forum). On an RTX 5090, main-horse found the same tool reporting 370.6 TFLOPS for that BF16 instruction with zero-filled inputs and 187.4 with random ones (main-horse, April 2025). My inference is that the GB10 BF16 figure is inflated the same way; the run does not say which inputs it used.

Off the tensor cores, clpeak measured 29.7 TFLOPS FP32 on OpenCL and 30.6 on CUDA, and about 485 GFLOPS FP64. The Arm CPU beats that FP64 figure in Linpack, as the planned GB10 CPU performance guide shows.

What do real matrix multiplies reach?

About 70 to 80% of the dense peak in the best tuned kernels, and much less in everyday frameworks. The measured results, by tool:

WorkloadTool and settingsTFLOPSShare of dense peakSourceDate
NVFP4 GEMM, 4096 x 14336 x 4096CUTLASS 4.4.0, CUDA 13.1, sm_121a patch35671% of 500NVIDIA forum2026-02-07
NVFP4 GEMM, favourable shapeCUTLASS 4.2.1 or later via nvfp4benchabout 37575% of 500NVIDIA forum2026-06-17
NVFP4 MoE grouped GEMM, 8 and 64 expertsCUTLASS 4.4.0, tile sweep within shared memory120 to 15424 to 31%NVIDIA forum2026-02-07
FP8 GEMM, largeCUTLASS 4.4.018875% of 250NVIDIA forum2026-02-07
BF16 torch.mm, 8192 cubed, 45 sgb10_clockcheck.py, 7 ASUS GX10 at 2,275 to 2,333 MHz, 89 to 92 W88.8 to 93.771 to 75% of 125NVIDIA forum2026-10-26
BF16 torch.mm, 8192 cubed, 45 ssame script, one DGX Spark Founders Editionabout 7762%NVIDIA forum2026-10-26
BF16 matmul after a power-limit resetDGX Spark reference unit, pl1 140 W98.679%NVIDIA forum2026-08-21
FP16 burn, 15 s, 8 units4 Founders Edition, 4 MSI EdgeXpert, before and after September firmware88.6 to 91.4, then 77.6 to 81.362 to 73%Petronella2026-09-26
Training, Qwen 0.6B, 2,048 contextNeMo Megatron, BF16 or FP826 to 27about 21%NVIDIA forum2026-05-07

Shares are my arithmetic against the dense peaks in the first table (500 FP4, 250 FP8, 125 BF16). The training row is model FLOPs utilization as the poster computed it.

The ceiling on real kernels is mostly shared memory. GB10 has 101,376 bytes per SM, the same as an RTX 4090, against 228 KB on datacenter Blackwell, so tiles must be smaller, and SGLang's default MoE configurations that request about 147 KB fail outright until replaced with tuned ones, per the CUTLASS thread. The nvfp4bench author adds that large square GEMMs of 8192 cubed and up throttle thermally, so his tool reports burst and sustained results separately.

Peak or sustained: power, clocks and stuck units

A healthy unit sustains about 80 to 99 BF16 TFLOPS for tens of seconds; a unit stuck in a low-power state delivers a tenth of that with no error. A forum reply that said NVIDIA was updating its documentation to match gave the GPU's power limit as 120 W, with the rest of the system allowed 100 W of the 240 W supply (November 2025). Healthy GX10 units ran the 45-second BF16 test at 89 to 92 W and about 2.3 GHz.

Two failure states are documented. Two of eight GX10 units in one cluster ran at 851 MHz, 20.7 W and 42.5 TFLOPS for days, with no throttle reason reported (October 2026). A DGX Spark reference unit sat at 507 MHz, 35 W board power and 9.4 TFLOPS until a reboot raised its readable power limits from 20 W to 140 W and it measured 98.6 TFLOPS, 10.5 times more (August 2026).

Firmware also moves the burn number. After the September 2026 update, Petronella's eight units fell about 11% on a 15-second FP16 burn while Qwen3.8-27B NVFP4 decode rose 4 to 8%. Compute and decode answer to different limits. Long-run thermals by maker are the topic of the planned sustained performance by OEM guide.

How does measured compute show up in prefill?

Prefill is the compute-bound phase, and engines use between 24 and 166 TFLOPS of it, by my calculation. A forward pass costs about 2 FLOPs per active parameter per token, so effective TFLOPS is 2 x active parameters x prefill tok/s. Attention adds a few percent at these prompt lengths, so these figures slightly understate the work.

Model, formatEngine, promptPrefill tok/sEffective TFLOPS (calc)SourceDate
Qwen3 14B, NVFP4TensorRT-LLM, 2,048 in5,928.95166NVIDIA blog2025-10-24
Llama 3.1 8B, NVFP4TensorRT-LLM, 2,048 in10,256.9164NVIDIA blog2025-10-24
Llama 3.1 8B, FP8SGLang7,991128LMSYS2025-10-13
Llama 3.3 70B, AWQ 4-bitvLLM 0.27.1, 8,192 in39155GPUwerk-measured2026-09-02
Nemotron-3-Super-120B-A12B, NVFP4vLLM cu130 nightly, 7,234 in1,88445vLLM blog2026-06-01
Llama 2 7B, Q4_0llama.cpp CUDA, pp512, no FA3,062.3143CUDA scoreboardread 2026-11-07
Llama 3.3 70B, Q4_K_Mllama.cpp build 7129, pp512284.0740Jeff Geerling2025-11-22
Qwen3-Coder-30B-A3B, AWQ 4-bitvLLM 0.27.1, 8,192 in5,70534GPUwerk-measured2026-09-02
gpt-oss-120b, MXFP4llama.cpp build 7941, pp20482,443.9124llama.cpp2026-02-05

Active parameters are the nominal sizes in the model names (A3B = 3B, A12B = 12B, about 5B for gpt-oss-120b per Dendro Logic). My arithmetic, not a measurement of utilization.

The pattern is about the kernel path more than the chip. TensorRT-LLM computing in NVFP4 uses about a third of the 500 TFLOPS dense FP4 peak, and SGLang in FP8 about half of the 250 FP8 peak. AWQ in vLLM typically runs Marlin kernels that dequantize 4-bit weights and multiply in 16-bit, and llama.cpp multiplies its quantized types in 8-bit integers; both land at 34 to 55 TFLOPS-equivalent, under half the 125 TFLOPS 16-bit peak and under a quarter of the 242 TOPS INT8 rate clpeak measured. Mixture-of-experts models land lowest; in my reading, routing splits the work into small grouped GEMMs, the same effect as the 120 to 154 TFLOPS grouped-GEMM row above. Prefill also slows with depth, as the long-context guide shows, and the format-by-format speeds are in the planned quantization speed guide.

How do the RTX 5090 and RTX PRO 6000 compare by the same tests?

The RTX 5090 has two to five times the usable compute, depending on the test, and the RTX PRO 6000 slightly more again on prefill.

TestDGX Spark (GB10)RTX 5090RTX PRO 6000Sources
NVIDIA sparse FP4 rating1,000 TFLOPS3,352 AI TOPS4,000 AI TOPSNVIDIA, NVIDIA, NVIDIA
mmapeak, NVFP4 mma 16x8x64427.31,474.2not foundforum (2025-11-23), main-horse (2025-04-12)
PyTorch BF16 matmul, 8192 cubed77 to 99 (torch.mm, 45 s)220.5 (torch.matmul)not foundforum (2026-10-26), main-horse
llama.cpp pp512, Llama 2 7B Q4_0, no FA3,062 tok/s14,073 tok/s14,855 tok/sCUDA scoreboard (read 2026-11-07)
FP32, CUDA cores29.7 to 30.6 (clpeak)not found125 (NVIDIA spec)forum, NVIDIA

Ratios by my arithmetic: 3.45 times on mmapeak NVFP4, 2.2 to 2.9 times on the BF16 matmul, 4.6 times (RTX 5090) and 4.9 times (RTX PRO 6000) on llama.cpp prefill. The two matmul scripts differ in name and in run length, so read the BF16 row as a range. I found no fetchable matmul measurement for the RTX PRO 6000.

The prefill ratio is the one that shows up in daily use: a 4.6 times faster prompt phase on an RTX 5090, provided the model fits in its 32 GB. The comparisons on DGX Spark vs RTX 5090 and DGX Spark vs RTX PRO 6000 weigh that against the Spark's 128 GB.

My verdict: plan with about 100 TFLOPS BF16 and 350 TFLOPS NVFP4 for well-tuned kernels, not 1 PFLOP. For prefill-heavy work such as long-document extraction, pick a model with an NVFP4 checkpoint and an engine that computes in FP4, because the format path moves effective compute by three to four times on this chip. If prompt processing dominates and the model fits in 32 GB, an RTX 5090 is the faster tool.

FAQ

Does the DGX Spark really do 1 PFLOP?

Only in FP4 with 2:4 sparsity, and only in a register-resident microbenchmark. nvfp4bench measured 973 to 1,022 TFLOPS sparse and 486 to 511 TFLOPS dense NVFP4 on Founders Edition, HP, ASUS and Lenovo GB10 units in June 2026. A real CUTLASS NVFP4 matrix multiply reached 356 TFLOPS, and a sustained BF16 PyTorch matmul 77 to 99 TFLOPS.

How many BF16 TFLOPS does a DGX Spark have?

NVIDIA publishes no BF16 figure. clpeak's Vulkan cooperative-matrix test measured 120.4 to 120.9 TFLOPS, which fits half of the FP8 rate. Sustained PyTorch BF16 matmuls of 8192 by 8192 ran at 88.8 to 93.7 TFLOPS on seven ASUS GX10 units and about 77 on one Founders Edition over 45 seconds (October 2026 forum test).

What is the DGX Spark FP32 performance?

About 30 TFLOPS on the CUDA cores. By calculation, 6,144 CUDA cores times 2 operations times 2.418 GHz is 29.7 TFLOPS, and clpeak measured 29.7 TFLOPS on OpenCL and 30.6 on CUDA (June 2026). FP64 is about 485 GFLOPS on the GPU, below the 675 GFLOPS the Arm CPU reached in HPL.

How does DGX Spark compute compare with an RTX 5090?

The RTX 5090 has roughly two to five times the usable compute. A BF16 PyTorch matmul at 8192 cubed ran at 220.5 TFLOPS on an RTX 5090 against 77 to 99 on GB10, and llama.cpp prefill on Llama 2 7B Q4_0 is 14,073 tok/s against 3,062. NVIDIA rates the RTX 5090 at 3,352 sparse FP4 AI TOPS and GB10 at 1,000.

Why is DGX Spark prefill slower than its TFLOPS suggest?

Because engines rarely run prefill on the fastest tensor path. By my calculation, TensorRT-LLM's NVFP4 prefill in NVIDIA's own tests uses about 164 to 166 TFLOPS, a third of the 500 dense FP4 peak, and AWQ or GGUF models, which run 16-bit or 8-bit integer kernels, use 34 to 55 TFLOPS. GB10 also has 101,376 bytes of shared memory per SM, which limits matrix tile sizes.

Sources

Every figure above is attributed to its source in the sentence or table where it appears. Pages were read on 7 November 2026 unless a date says otherwise.

First top-up: pay $20, get $30 in credit

Measure the compute you would get.

Rent a Spark at $0.79 per hour, billed per minute, run a 45-second BF16 matmul in PyTorch and a prefill test on your own prompt length.

A dedicated DGX Spark in the EU, $0.79/hour, billed per minute. $30 of credit is about 37 hours of compute.

Create account See the DGX Spark benchmarks