Click here to download the Blitz Browser!

WPT

This page compares scores on the Web Platform Tests across web engines, using the latest master runs from wpt.fyi and Blitz's own test runner.


wpt / webnn / validation_tests

Spec: Web Neural Network API ↗

Runs: Chrome 155.0.8039.0 (wpt@6ec9fd59f, 2026-09-03) | Firefox 157.0a1 (wpt@6ec9fd59f, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-795e1 (wpt@7e3d005d7, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)

Sort areas: alphabetical | by subtest count

AreaChromeFirefoxSafariLadybirdServoBlitz
Total99.5%3168/31830.1%3/31830.0%0/31830.1%3/31830.1%3/31830.0%0/3183
TestChromeFirefoxSafariLadybirdServoBlitz
argMinMax.https.any.html?cpu17/170/170/170/170/17NOT RUN
argMinMax.https.any.html?gpu17/170/170/170/170/17NOT RUN
argMinMax.https.any.html?npu17/170/170/170/170/17NOT RUN
batchNormalization.https.any.html?cpu23/230/230/230/230/23NOT RUN
batchNormalization.https.any.html?gpu23/230/230/230/230/23NOT RUN
batchNormalization.https.any.html?npu23/230/230/230/230/23NOT RUN
build-more-than-once.https.any.html?cpu9/90/90/90/90/9NOT RUN
build-more-than-once.https.any.html?gpu9/90/90/90/90/9NOT RUN
build-more-than-once.https.any.html?npu9/90/90/90/90/9NOT RUN
cast.https.any.html?cpu3/30/30/30/30/3NOT RUN
cast.https.any.html?gpu3/30/30/30/30/3NOT RUN
cast.https.any.html?npu3/30/30/30/30/3NOT RUN
clamp.https.any.html?cpu10/100/100/100/100/10NOT RUN
clamp.https.any.html?gpu10/100/100/100/100/10NOT RUN
clamp.https.any.html?npu10/100/100/100/100/10NOT RUN
concat.https.any.html?cpu15/150/150/150/150/15NOT RUN
concat.https.any.html?gpu15/150/150/150/150/15NOT RUN
concat.https.any.html?npu15/150/150/150/150/15NOT RUN
constant-changed-buffer.https.any.html?cpu4/40/40/40/40/4NOT RUN
constant-changed-buffer.https.any.html?gpu4/40/40/40/40/4NOT RUN
constant-changed-buffer.https.any.html?npu4/40/40/40/40/4NOT RUN
constant.https.any.html?cpu44/440/440/440/440/44NOT RUN
constant.https.any.html?gpu44/440/440/440/440/44NOT RUN
constant.https.any.html?npu44/440/440/440/440/44NOT RUN
conv2d.https.any.html?cpu60/600/600/600/600/60NOT RUN
conv2d.https.any.html?gpu60/600/600/600/600/60NOT RUN
conv2d.https.any.html?npu60/600/600/600/600/60NOT RUN
convTranspose2d.https.any.html?cpu57/570/570/570/570/57NOT RUN
convTranspose2d.https.any.html?gpu57/570/570/570/570/57NOT RUN
convTranspose2d.https.any.html?npu57/570/570/570/570/57NOT RUN
createContext.https.any.html?cpu10/101/100/101/101/10NOT RUN
createContext.https.any.html?gpu10/101/100/101/101/10NOT RUN
createContext.https.any.html?npu10/101/100/101/101/10NOT RUN
cumulativeSum.https.any.html?cpu9/90/90/90/90/9NOT RUN
cumulativeSum.https.any.html?gpu9/90/90/90/90/9NOT RUN
cumulativeSum.https.any.html?npu9/90/90/90/90/9NOT RUN
dequantizeLinear.https.any.html?cpu16/160/160/160/160/16NOT RUN
dequantizeLinear.https.any.html?gpu16/160/160/160/160/16NOT RUN
dequantizeLinear.https.any.html?npu16/160/160/160/160/16NOT RUN
destroyContext.https.any.html?cpu11/110/110/110/110/11NOT RUN
destroyContext.https.any.html?gpu11/110/110/110/110/11NOT RUN
destroyContext.https.any.html?npu11/110/110/110/110/11NOT RUN
destroyGraph.https.any.html?cpu3/30/30/30/30/3NOT RUN
destroyGraph.https.any.html?gpu3/30/30/30/30/3NOT RUN
destroyGraph.https.any.html?npu3/30/30/30/30/3NOT RUN
elementwise-binary.https.any.html?op=add&device=cpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=add&device=gpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=add&device=npu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=div&device=cpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=div&device=gpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=div&device=npu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=max&device=cpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=max&device=gpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=max&device=npu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=min&device=cpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=min&device=gpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=min&device=npu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=mul&device=cpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=mul&device=gpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=mul&device=npu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=pow&device=cpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=pow&device=gpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=pow&device=npu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=sub&device=cpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=sub&device=gpu11/110/110/110/110/11NOT RUN
elementwise-binary.https.any.html?op=sub&device=npu11/110/110/110/110/11NOT RUN
elementwise-logical.https.any.html?op=equal&device=cpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=equal&device=gpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=equal&device=npu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=greater&device=cpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=greater&device=gpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=greater&device=npu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=greaterOrEqual&device=cpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=greaterOrEqual&device=gpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=greaterOrEqual&device=npu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=isInfinite&device=cpu2/20/20/20/20/2NOT RUN
elementwise-logical.https.any.html?op=isInfinite&device=gpu2/20/20/20/20/2NOT RUN
elementwise-logical.https.any.html?op=isInfinite&device=npu2/20/20/20/20/2NOT RUN
elementwise-logical.https.any.html?op=isNaN&device=cpu2/20/20/20/20/2NOT RUN
elementwise-logical.https.any.html?op=isNaN&device=gpu2/20/20/20/20/2NOT RUN
elementwise-logical.https.any.html?op=isNaN&device=npu2/20/20/20/20/2NOT RUN
elementwise-logical.https.any.html?op=lesser&device=cpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=lesser&device=gpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=lesser&device=npu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=lesserOrEqual&device=cpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=lesserOrEqual&device=gpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=lesserOrEqual&device=npu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=logicalAnd&device=cpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=logicalAnd&device=gpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=logicalAnd&device=npu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=logicalNot&device=cpu2/20/20/20/20/2NOT RUN
elementwise-logical.https.any.html?op=logicalNot&device=gpu2/20/20/20/20/2NOT RUN
elementwise-logical.https.any.html?op=logicalNot&device=npu2/20/20/20/20/2NOT RUN
elementwise-logical.https.any.html?op=logicalOr&device=cpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=logicalOr&device=gpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=logicalOr&device=npu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=logicalXor&device=cpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=logicalXor&device=gpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=logicalXor&device=npu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=notEqual&device=cpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=notEqual&device=gpu5/50/50/50/50/5NOT RUN
elementwise-logical.https.any.html?op=notEqual&device=npu5/50/50/50/50/5NOT RUN
elementwise-unary.https.any.html?cpu46/460/460/460/460/46NOT RUN
elementwise-unary.https.any.html?gpu46/460/460/460/460/46NOT RUN
elementwise-unary.https.any.html?npu46/460/460/460/460/46NOT RUN
elu.https.any.html?cpu7/70/70/70/70/7NOT RUN
elu.https.any.html?gpu7/70/70/70/70/7NOT RUN
elu.https.any.html?npu7/70/70/70/70/7NOT RUN
expand.https.any.html?cpu12/120/120/120/120/12NOT RUN
expand.https.any.html?gpu12/120/120/120/120/12NOT RUN
expand.https.any.html?npu12/120/120/120/120/12NOT RUN
gather.https.any.html?cpu12/120/120/120/120/12NOT RUN
gather.https.any.html?gpu12/120/120/120/120/12NOT RUN
gather.https.any.html?npu12/120/120/120/120/12NOT RUN
gatherElements.https.any.html?cpu10/100/100/100/100/10NOT RUN
gatherElements.https.any.html?gpu10/100/100/100/100/10NOT RUN
gatherElements.https.any.html?npu10/100/100/100/100/10NOT RUN
gatherND.https.any.html?cpu9/90/90/90/90/9NOT RUN
gatherND.https.any.html?gpu9/90/90/90/90/9NOT RUN
gatherND.https.any.html?npu9/90/90/90/90/9NOT RUN
gelu.https.any.html?cpu4/40/40/40/40/4NOT RUN
gelu.https.any.html?gpu4/40/40/40/40/4NOT RUN
gelu.https.any.html?npu4/40/40/40/40/4NOT RUN
gemm.https.any.html?cpu20/200/200/200/200/20NOT RUN
gemm.https.any.html?gpu20/200/200/200/200/20NOT RUN
gemm.https.any.html?npu20/200/200/200/200/20NOT RUN
gru.https.any.html?cpu26/260/260/260/260/26NOT RUN
gru.https.any.html?gpu26/260/260/260/260/26NOT RUN
gru.https.any.html?npu26/260/260/260/260/26NOT RUN
gruCell.https.any.html?cpu30/300/300/300/300/30NOT RUN
gruCell.https.any.html?gpu30/300/300/300/300/30NOT RUN
gruCell.https.any.html?npu30/300/300/300/300/30NOT RUN
hardSigmoid.https.any.html?cpu7/70/70/70/70/7NOT RUN
hardSigmoid.https.any.html?gpu7/70/70/70/70/7NOT RUN
hardSigmoid.https.any.html?npu7/70/70/70/70/7NOT RUN
hardSwish.https.any.html?cpu4/40/40/40/40/4NOT RUN
hardSwish.https.any.html?gpu4/40/40/40/40/4NOT RUN
hardSwish.https.any.html?npu4/40/40/40/40/4NOT RUN
input.https.any.html?cpu9/90/90/90/90/9NOT RUN
input.https.any.html?gpu9/90/90/90/90/9NOT RUN
input.https.any.html?npu9/90/90/90/90/9NOT RUN
instanceNormalization.https.any.html?cpu19/190/190/190/190/19NOT RUN
instanceNormalization.https.any.html?gpu19/190/190/190/190/19NOT RUN
instanceNormalization.https.any.html?npu19/190/190/190/190/19NOT RUN
invalid-rank.https.any.html?cpu2/20/20/20/20/2NOT RUN
invalid-rank.https.any.html?gpu2/20/20/20/20/2NOT RUN
invalid-rank.https.any.html?npu2/20/20/20/20/2NOT RUN
layerNormalization.https.any.html?cpu21/210/210/210/210/21NOT RUN
layerNormalization.https.any.html?gpu21/210/210/210/210/21NOT RUN
layerNormalization.https.any.html?npu21/210/210/210/210/21NOT RUN
leakyRelu.https.any.html?cpu7/70/70/70/70/7NOT RUN
leakyRelu.https.any.html?gpu7/70/70/70/70/7NOT RUN
leakyRelu.https.any.html?npu7/70/70/70/70/7NOT RUN
linear.https.any.html?cpu7/70/70/70/70/7NOT RUN
linear.https.any.html?gpu7/70/70/70/70/7NOT RUN
linear.https.any.html?npu7/70/70/70/70/7NOT RUN
lstm.https.any.html?cpu26/260/260/260/260/26NOT RUN
lstm.https.any.html?gpu26/260/260/260/260/26NOT RUN
lstm.https.any.html?npu26/260/260/260/260/26NOT RUN
lstmCell.https.any.html?cpu38/380/380/380/380/38NOT RUN
lstmCell.https.any.html?gpu38/380/380/380/380/38NOT RUN
lstmCell.https.any.html?npu38/380/380/380/380/38NOT RUN
matmul.https.any.html?cpu15/150/150/150/150/15NOT RUN
matmul.https.any.html?gpu15/150/150/150/150/15NOT RUN
matmul.https.any.html?npu15/150/150/150/150/15NOT RUN
opSupportLimits.https.any.html?cpu5/50/50/50/50/5NOT RUN
opSupportLimits.https.any.html?gpu5/50/50/50/50/5NOT RUN
opSupportLimits.https.any.html?npu5/50/50/50/50/5NOT RUN
pad.https.any.html?cpu12/120/120/120/120/12NOT RUN
pad.https.any.html?gpu12/120/120/120/120/12NOT RUN
pad.https.any.html?npu12/120/120/120/120/12NOT RUN
pooling-and-reduction-keep-dims.https.any.html?cpu3/30/30/30/30/3NOT RUN
pooling-and-reduction-keep-dims.https.any.html?gpu3/30/30/30/30/3NOT RUN
pooling-and-reduction-keep-dims.https.any.html?npu3/30/30/30/30/3NOT RUN
pooling.https.any.html?cpu44/480/480/480/480/48NOT RUN
pooling.https.any.html?gpu44/480/480/480/480/48NOT RUN
pooling.https.any.html?npu44/480/480/480/480/48NOT RUN
prelu.https.any.html?cpu10/100/100/100/100/10NOT RUN
prelu.https.any.html?gpu10/100/100/100/100/10NOT RUN
prelu.https.any.html?npu10/100/100/100/100/10NOT RUN
quantizeLinear.https.any.html?cpu15/150/150/150/150/15NOT RUN
quantizeLinear.https.any.html?gpu15/150/150/150/150/15NOT RUN
quantizeLinear.https.any.html?npu15/150/150/150/150/15NOT RUN
reduction.https.any.html?cpu61/610/610/610/610/61NOT RUN
reduction.https.any.html?gpu61/610/610/610/610/61NOT RUN
reduction.https.any.html?npu61/610/610/610/610/61NOT RUN
relu.https.any.html?cpu4/40/40/40/40/4NOT RUN
relu.https.any.html?gpu4/40/40/40/40/4NOT RUN
relu.https.any.html?npu4/40/40/40/40/4NOT RUN
resample2d.https.any.html?cpu28/280/280/280/280/28NOT RUN
resample2d.https.any.html?gpu28/280/280/280/280/28NOT RUN
resample2d.https.any.html?npu28/280/280/280/280/28NOT RUN
reshape.https.any.html?cpu11/110/110/110/110/11NOT RUN
reshape.https.any.html?gpu11/110/110/110/110/11NOT RUN
reshape.https.any.html?npu11/110/110/110/110/11NOT RUN
reverse.https.any.html?cpu6/60/60/60/60/6NOT RUN
reverse.https.any.html?gpu6/60/60/60/60/6NOT RUN
reverse.https.any.html?npu6/60/60/60/60/6NOT RUN
scatterElements.https.any.html?cpu15/150/150/150/150/15NOT RUN
scatterElements.https.any.html?gpu15/150/150/150/150/15NOT RUN
scatterElements.https.any.html?npu15/150/150/150/150/15NOT RUN
scatterND.https.any.html?cpu10/100/100/100/100/10NOT RUN
scatterND.https.any.html?gpu10/100/100/100/100/10NOT RUN
scatterND.https.any.html?npu10/100/100/100/100/10NOT RUN
sigmoid.https.any.html?cpu4/40/40/40/40/4NOT RUN
sigmoid.https.any.html?gpu4/40/40/40/40/4NOT RUN
sigmoid.https.any.html?npu4/40/40/40/40/4NOT RUN
slice.https.any.html?cpu13/130/130/130/130/13NOT RUN
slice.https.any.html?gpu13/130/130/130/130/13NOT RUN
slice.https.any.html?npu13/130/130/130/130/13NOT RUN
softmax.https.any.html?cpu7/70/70/70/70/7NOT RUN
softmax.https.any.html?gpu7/70/70/70/70/7NOT RUN
softmax.https.any.html?npu7/70/70/70/70/7NOT RUN
softplus.https.any.html?cpu4/40/40/40/40/4NOT RUN
softplus.https.any.html?gpu4/40/40/40/40/4NOT RUN
softplus.https.any.html?npu4/40/40/40/40/4NOT RUN
softsign.https.any.html?cpu4/40/40/40/40/4NOT RUN
softsign.https.any.html?gpu4/40/40/40/40/4NOT RUN
softsign.https.any.html?npu4/40/40/40/40/4NOT RUN
split.https.any.html?cpu13/130/130/130/130/13NOT RUN
split.https.any.html?gpu13/130/130/130/130/13NOT RUN
split.https.any.html?npu13/130/130/130/130/13NOT RUN
tanh.https.any.html?cpu4/40/40/40/40/4NOT RUN
tanh.https.any.html?gpu4/40/40/40/40/4NOT RUN
tanh.https.any.html?npu4/40/40/40/40/4NOT RUN
tile.https.any.html?cpu8/90/90/90/90/9NOT RUN
tile.https.any.html?gpu8/90/90/90/90/9NOT RUN
tile.https.any.html?npu8/90/90/90/90/9NOT RUN
transpose.https.any.html?cpu8/80/80/80/80/8NOT RUN
transpose.https.any.html?gpu8/80/80/80/80/8NOT RUN
transpose.https.any.html?npu8/80/80/80/80/8NOT RUN
triangular.https.any.html?cpu3/30/30/30/30/3NOT RUN
triangular.https.any.html?gpu3/30/30/30/30/3NOT RUN
triangular.https.any.html?npu3/30/30/30/30/3NOT RUN
unprintableNames.https.any.html?cpuPASSERRORERRORERRORERRORNOT RUN
unprintableNames.https.any.html?gpuPASSERRORERRORERRORERRORNOT RUN
unprintableNames.https.any.html?npuPASSERRORERRORERRORERRORNOT RUN
where.https.any.html?cpu13/130/130/130/130/13NOT RUN
where.https.any.html?gpu13/130/130/130/130/13NOT RUN
where.https.any.html?npu13/130/130/130/130/13NOT RUN