chipintegrity.org GitHub
chipintegrity.org / chips / amd-radeon-pro-5500m-mps-x86-64
CHIP RESULT, LAST TESTED 21 OCTOBER 2026

AMD Radeon Pro 5500M (MPS) x86_64

Across 1,190 compute runs, every repeat matched the first run bit for bit, and 140 results sat outside their proven bound while agreeing with every repeat, which is either a faulty unit or a software stack outside the arithmetic model; the step tables below say which steps, and the note under them what was measured about the cause. All 1,006,632,960 memory words read back correctly. The self-tests caught 186 of the 186 faults planted to prove the checks work.

Every number on this page is read from the result files listed at the bottom, written in the OCP Test and Validation format. New to this? Start with what a silent error is and how a chip is tested here.

5
probes run on this chip
1,190
compute runs checked element by element
1.0 billion
memory words written and read back
0
silent faults found
140
results outside the proven bound, all repeatable
186 of 186
planted faults caught in self-tests
HOW CLOSE IT CAME

Error budget used

Floating-point answers are never exact, so each check allows a rounding error and proves how large it can honestly be. The red line is that proven limit. A bar shows the largest error this chip produced, as a share of the limit, across every run. Anything past the line would be a wrong answer.

RoPE FP32
12059.7% of bound
RoPE FP16
759.5% of bound
GELU FP16
205.3% of bound
Layer norm FP16
185.3% of bound
FP16 data patterns
156.7% of bound
Softmax FP16
99.9% of bound
Attention FP16
57.5% of bound
FP16 matrix multiply
43.3% of bound
GELU FP32
22.8% of bound
FP32 data patterns
1.1% of bound
Softmax FP32
1.0% of bound
FP32 matrix multiply
0.1% of bound
Attention FP32
0.1% of bound
Layer norm FP32
under 0.1% of bound

Bars close to the line at FP16 and BF16 are expected: there the limit is dominated by the single rounding of the output, so a correct chip has almost nothing to spare. A bar past the line is a failed run.

PROOF THE CHECKS WORK

Every planted fault was caught

A clean result is only worth something if the tester would have seen a fault. So next to every clean run, the self-test plants faults on purpose, including the patterns NVIDIA measured at gate level, and every one must be caught. How the self-test works.

Compute probe
30 of 30 caught
Transformer kernel probe
30 of 30 caught
Checksum probe
12 of 12 caught
Data pattern probe
84 of 84 caught
Memory probe
30 of 30 caught
Device memory swept
3.75 GiB of 8.00 GiB
PROBE 1

Compute probe

Matrix multiplies at several shapes and precisions. Every output element is checked against an exact or float64 reference under a proven rounding-error bound, and every run is compared bit for bit with the first run.

No silent faults.
300 runs across 6 steps. The self-test caught 30 of 30 planted faults.

Tool v0.3.4, PyTorch 2.2.2, 21 October 2026. Result file · Self-test file

Error counters: no error counters.

Show all 18 steps from the result file
Step in the result fileSizeWorst error / boundVerdict
gemm_fp32_1024x1024x102450 runs0.001no-silent-errors
gemm_fp16_1024x1024x102450 runs0.433no-silent-errors
gemm_bf16_1024x1024x1024not supported on this device
gemm_int8_1024x1024x1024not supported on this device
gemm_fp8_1024x1024x1024not supported on this device
gemm_fp8fast_1024x1024x1024not supported on this device
gemm_fp32_4096x4096x409650 runsunder 0.001no-silent-errors
gemm_fp16_4096x4096x409650 runs0.071no-silent-errors
gemm_bf16_4096x4096x4096not supported on this device
gemm_int8_4096x4096x4096not supported on this device
gemm_fp8_4096x4096x4096not supported on this device
gemm_fp8fast_4096x4096x4096not supported on this device
gemm_fp32_32x4096x1100850 runsunder 0.001no-silent-errors
gemm_fp16_32x4096x1100850 runs0.056no-silent-errors
gemm_bf16_32x4096x11008not supported on this device
gemm_int8_32x4096x11008not supported on this device
gemm_fp8_32x4096x11008not supported on this device
gemm_fp8fast_32x4096x11008not supported on this device
PROBE 3

Transformer kernel probe

Softmax, layer norm, GELU, rotary embeddings and fused attention, each checked against a float64 reference under its own proven bound and against the first run bit for bit.

No silent faults. 100 results outside the proven bound, every run repeatable.
250 runs across 15 steps. The self-test caught 30 of 30 planted faults.

Tool v0.2.3, PyTorch 2.2.2, 21 October 2026. Result file · Self-test file

Error counters: no error counters.

Show all 15 steps from the result file
Step in the result fileSizeWorst error / boundVerdict
softmax_fp3225 runs0.010no-silent-errors
softmax_fp1625 runs0.999no-silent-errors
softmax_bf16not supported on this device
layernorm_fp3225 runsunder 0.001no-silent-errors
layernorm_fp1625 runs1.853outside-error-bound
layernorm_bf16not supported on this device
gelu_fp3225 runs0.228no-silent-errors
gelu_fp1625 runs2.053outside-error-bound
gelu_bf16not supported on this device
rope_fp3225 runs120.597outside-error-bound
rope_fp1625 runs7.595outside-error-bound
rope_bf16not supported on this device
attention_fp3225 runs0.001no-silent-errors
attention_fp1625 runs0.575no-silent-errors
attention_bf16not supported on this device
PROBE 6

Checksum probe

A matrix multiply protected by row and column checksums (Huang and Abraham) with proven thresholds, so a wrong element is located to its exact row and column.

No silent faults.
80 runs across 6 steps. The self-test caught 12 of 12 planted faults.

Tool v0.1.0, PyTorch 2.2.2, 21 October 2026. Result file · Self-test file

Error counters: no error counters.

Show all 6 steps from the result file
Step in the result fileSizeWorst error / boundVerdict
abft_fp32_1024x1024x102420 runsno-silent-errors
abft_fp16_1024x1024x102420 runsno-silent-errors
abft_bf16_1024x1024x1024not supported on this device
abft_fp32_32x4096x1100820 runsno-silent-errors
abft_fp16_32x4096x1100820 runsno-silent-errors
abft_bf16_32x4096x11008not supported on this device
PROBE 9

Data pattern probe

Inputs built to reach particular bits (wide exponents, long mantissas, cancellation, alternating signs, sparse inputs, subnormals and values near the top of the range), fed through the same matrix multiply checks.

No silent faults. 40 results outside the proven bound, every run repeatable.
560 runs across 56 steps. The self-test caught 84 of 84 planted faults.

Tool v0.1.4, PyTorch 2.2.2, 21 October 2026. Result file · Self-test file

Error counters: no error counters.

Show all 56 steps from the result file
Step in the result fileSizeWorst error / boundVerdict
gemm_fp32_wide_1024x1024x102420 runs0.004no-silent-errors
gemm_fp32_mantissa_1024x1024x102420 runsunder 0.001no-silent-errors
gemm_fp32_cancel_1024x1024x102420 runsunder 0.001no-silent-errors
gemm_fp32_alternate_1024x1024x102420 runs0.011no-silent-errors
gemm_fp32_sparse_1024x1024x102420 runs0.001no-silent-errors
gemm_fp32_subnormal_1024x1024x102420 runsunder 0.001no-silent-errors
gemm_fp32_near_max_1024x1024x102420 runsunder 0.001no-silent-errors
gemm_fp16_wide_1024x1024x102420 runs1.152outside-error-bound
gemm_fp16_mantissa_1024x1024x102420 runs0.471no-silent-errors
gemm_fp16_cancel_1024x1024x102420 runsunder 0.001no-silent-errors
gemm_fp16_alternate_1024x1024x102420 runs0.791no-silent-errors
gemm_fp16_sparse_1024x1024x102420 runs1.567outside-error-bound
gemm_fp16_subnormal_1024x1024x102420 runs0.323no-silent-errors
gemm_fp16_near_max_1024x1024x102420 runs0.309no-silent-errors
gemm_bf16_wide_1024x1024x1024not supported on this device
gemm_bf16_mantissa_1024x1024x1024not supported on this device
gemm_bf16_cancel_1024x1024x1024not supported on this device
gemm_bf16_alternate_1024x1024x1024not supported on this device
gemm_bf16_sparse_1024x1024x1024not supported on this device
gemm_bf16_subnormal_1024x1024x1024not supported on this device
gemm_bf16_near_max_1024x1024x1024not supported on this device
gemm_int8_alternate_1024x1024x1024not supported on this device
gemm_int8_sparse_1024x1024x1024not supported on this device
gemm_int8_extremes_1024x1024x1024not supported on this device
gemm_fp8_alternate_1024x1024x1024not supported on this device
gemm_fp8_sparse_1024x1024x1024not supported on this device
gemm_fp8fast_alternate_1024x1024x1024not supported on this device
gemm_fp8fast_sparse_1024x1024x1024not supported on this device
gemm_fp32_wide_32x4096x1100820 runsunder 0.001no-silent-errors
gemm_fp32_mantissa_32x4096x1100820 runsunder 0.001no-silent-errors
gemm_fp32_cancel_32x4096x1100820 runsunder 0.001no-silent-errors
gemm_fp32_alternate_32x4096x1100820 runs0.001no-silent-errors
gemm_fp32_sparse_32x4096x1100820 runsunder 0.001no-silent-errors
gemm_fp32_subnormal_32x4096x1100820 runsunder 0.001no-silent-errors
gemm_fp32_near_max_32x4096x1100820 runsunder 0.001no-silent-errors
gemm_fp16_wide_32x4096x1100820 runs0.179no-silent-errors
gemm_fp16_mantissa_32x4096x1100820 runs0.072no-silent-errors
gemm_fp16_cancel_32x4096x1100820 runsunder 0.001no-silent-errors
gemm_fp16_alternate_32x4096x1100820 runs0.336no-silent-errors
gemm_fp16_sparse_32x4096x1100820 runs0.331no-silent-errors
gemm_fp16_subnormal_32x4096x1100820 runs0.042no-silent-errors
gemm_fp16_near_max_32x4096x1100820 runs0.040no-silent-errors
gemm_bf16_wide_32x4096x11008not supported on this device
gemm_bf16_mantissa_32x4096x11008not supported on this device
gemm_bf16_cancel_32x4096x11008not supported on this device
gemm_bf16_alternate_32x4096x11008not supported on this device
gemm_bf16_sparse_32x4096x11008not supported on this device
gemm_bf16_subnormal_32x4096x11008not supported on this device
gemm_bf16_near_max_32x4096x11008not supported on this device
gemm_int8_alternate_32x4096x11008not supported on this device
gemm_int8_sparse_32x4096x11008not supported on this device
gemm_int8_extremes_32x4096x11008not supported on this device
gemm_fp8_alternate_32x4096x11008not supported on this device
gemm_fp8_sparse_32x4096x11008not supported on this device
gemm_fp8fast_alternate_32x4096x11008not supported on this device
gemm_fp8fast_sparse_32x4096x11008not supported on this device
PROBE 2

Memory probe

Most of the device memory written with six patterns, left to dwell, and read back word by word.

No silent faults.
1,006,632,960 memory words read back. The self-test caught 30 of 30 planted faults.

Tool v0.1.3, 21 October 2026. Result file · Self-test file

Error counters: no error counters.

Show all 1 steps from the result file
Step in the result fileSizeWorst error / boundVerdict
memory_sweep_pass13.75 GiBno-memory-errors
EVIDENCE

Setup and files

The chip

Name, as the driver reports it
AMD Radeon Pro 5500M (MPS) x86_64
Device memory
8.00 GiB
Error counters
no error counters

The software

PyTorch
2.2.2
Probe versions
Compute probe v0.3.4, Transformer kernel probe v0.2.3, Checksum probe v0.1.0, Data pattern probe v0.1.4, Memory probe v0.1.3

The test

Dates tested
21 October 2026
Result files
10 files in the OCP Test and Validation format

The discrete GPU of a 2019 16-inch MacBook Pro (Intel Core i9-9980HK), driven through Apple's Metal Performance Shaders by PyTorch 2.2.2, the last PyTorch built for Intel Macs; 8 GB of GPU memory as system_profiler reports it. On this backend bf16, int8 and FP8 matrix multiplies do not exist and were skipped. The results outside the bound are all repeatable, and for RoPE the probe measured the backend's own sin and cos at 1.22e-4 absolute error against the model's 9.5e-7 allowance, so there the cause is the function library; see the finding on Metal through PyTorch 2.2.2 for what was measured about the other steps.

Result files

READ BEFORE RELYING ON IT

What this result shows

These numbers describe one unit of this chip, tested on the dates above. A clean result means no silent error showed up in these runs under these checks. It cannot rule out a fault that appears under other workloads, temperatures or ages, and another unit of the same model can behave differently. What a PASS means explains the limits in full.

TAKE PART

Run it on your chip

The same tests on your own hardware, in one command. Every result file it writes can be published here as a new row.

pip install ai-chip-integrity
chip-integrity run --name amd-radeon-pro-5500m-mps-x86-64

Cite the tool as: Yasha Khandelwal, ai-chip-integrity, version 0.4.3, 2026, https://doi.org/10.5281/zenodo.23505677

ALL CHIPS

Other chips measured