Download build/webgpu/test.json from webgpu-kernels/com.microsoft.BiasGelu: direct link, hf CLI and curl.
- Browser
- Download file 10 kB
-
https://huggingface.co/kernels/webgpu-kernels/com.microsoft.BiasGelu/resolve/v1/build/webgpu/test.json
- Command line
-
hf download hf://webgpu-kernels/com.microsoft.BiasGelu@v1/build/webgpu/test.json
-
curl -L -o test.json https://huggingface.co/kernels/webgpu-kernels/com.microsoft.BiasGelu/resolve/v1/build/webgpu/test.json
10 kB
| { | |
| "cases": [ | |
| { | |
| "name": "dispatch_cliff_vec4_f32", | |
| "requires": { "limits": { "maxBufferSize": 268435488, "maxStorageBufferBindingSize": 268435488 } }, | |
| "provenance": { | |
| "notes": "Its largest tensor is 268435488 bytes, so the case needs an adapter whose maxBufferSize and maxStorageBufferBindingSize both reach it — declared, because the WebGPU guaranteed minimums (256 MiB / 128 MiB) do not, and a device at them must report the case inapplicable rather than fail allocating it." | |
| }, | |
| "inputs": { | |
| "A": { "dtype": "float32", "shape": [8388609, 8], "data": { "kind": "linspace", "start": -2.0, "end": 2.0 } }, | |
| "B": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "values", "values": [0.25, -0.25, 0.5, -0.5, 0.1, -0.1, 0.0, 1.0] } | |
| } | |
| }, | |
| "outputs": { "C": { "dtype": "float32", "shape": [8388609, 8], "tolerance": 0.0001 } } | |
| }, | |
| { | |
| "name": "ort_float32_rank2_bias_vector", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/element_wise_ops_test.cc", | |
| "test": "BiasGeluTest.Float", | |
| "notes": "Small deterministic rank-2 instance of ORT's bias-vector GELU coverage." | |
| }, | |
| "inputs": { | |
| "A": { | |
| "dtype": "float32", | |
| "shape": [2, 4], | |
| "data": { "kind": "values", "values": [-1.5, -0.5, 0.5, 1.5, 2.0, -2.0, 0.25, -0.25] } | |
| }, | |
| "B": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.25, -0.25, 0.5, -0.5] } } | |
| }, | |
| "outputs": { | |
| "C": { | |
| "dtype": "float32", | |
| "shape": [2, 4], | |
| "tolerance": 0.000001, | |
| "data": { | |
| "kind": "values", | |
| "values": [-0.13206221, -0.16997051, 0.8413447, 0.8413447, 2.222495, -0.02750505, 0.5800295, -0.16997051] | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "ort_float16_rank2_bias_vector", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/element_wise_ops_test.cc", | |
| "test": "BiasGeluTest.MLFloat16", | |
| "notes": "Compact deterministic f16 projection of ORT's bias-vector GELU coverage." | |
| }, | |
| "inputs": { | |
| "A": { | |
| "dtype": "float16", | |
| "shape": [2, 4], | |
| "data": { "kind": "values", "values": [-1.5, -0.5, 0.5, 1.5, 2.0, -2.0, 0.25, -0.25] } | |
| }, | |
| "B": { "dtype": "float16", "shape": [4], "data": { "kind": "values", "values": [0.25, -0.25, 0.5, -0.5] } } | |
| }, | |
| "outputs": { | |
| "C": { | |
| "dtype": "float16", | |
| "shape": [2, 4], | |
| "tolerance": 0.001, | |
| "data": { | |
| "kind": "values", | |
| "values": [-0.1320623, -0.16997046, 0.8413447, 0.8413447, 2.222495, -0.02750498, 0.58002954, -0.16997046] | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "ort_float32_rank3_bias_vector", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/element_wise_ops_test.cc", | |
| "test": "BiasGeluTest.Float", | |
| "notes": "Small deterministic rank-3 instance of ORT's bias-vector GELU coverage." | |
| }, | |
| "inputs": { | |
| "A": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 3], | |
| "data": { "kind": "values", "values": [-1.0, 0.0, 1.0, 2.0, -2.0, 0.5, -0.5, 0.25, -0.25, 3.0, -3.0, 0.0] } | |
| }, | |
| "B": { "dtype": "float32", "shape": [3], "data": { "kind": "values", "values": [0.5, -0.5, 0.25] } } | |
| }, | |
| "outputs": { | |
| "C": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 3], | |
| "tolerance": 0.000001, | |
| "data": { | |
| "kind": "values", | |
| "values": [-0.15426877, -0.15426877, 1.1179378, 2.4844761, -0.015524104, 0.58002949, 0.0, -0.10032342, 0.0, 3.4991858, -0.00081422925, 0.14967658] | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "ort_float32_rank4_bias_vector", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/element_wise_ops_test.cc", | |
| "test": "BiasGeluTest.Float", | |
| "notes": "Small deterministic rank-4 instance of ORT's bias-vector GELU coverage." | |
| }, | |
| "inputs": { | |
| "A": { | |
| "dtype": "float32", | |
| "shape": [1, 2, 2, 3], | |
| "data": { "kind": "values", "values": [-1.0, 0.0, 1.0, 2.0, -2.0, 0.5, -0.5, 0.25, -0.25, 3.0, -3.0, 0.0] } | |
| }, | |
| "B": { "dtype": "float32", "shape": [3], "data": { "kind": "values", "values": [0.25, -0.25, 0.5] } } | |
| }, | |
| "outputs": { | |
| "C": { | |
| "dtype": "float32", | |
| "shape": [1, 2, 2, 3], | |
| "tolerance": 0.000001, | |
| "data": { | |
| "kind": "values", | |
| "values": [-0.16997051, -0.10032342, 1.3997892, 2.2224948, -0.027505063, 0.8413447, -0.10032342, 0.0, 0.14967658, 3.2481246, -0.0018753314, 0.34573123] | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "ort_float32_empty_middle_dim", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/element_wise_ops_test.cc", | |
| "test": "BiasGeluTest.Float", | |
| "notes": "Additional edge: empty tensors should preserve shape and produce no values." | |
| }, | |
| "inputs": { | |
| "A": { "dtype": "float32", "shape": [2, 0, 4], "data": { "kind": "values", "values": [] } }, | |
| "B": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.25, -0.25, 0.5, -0.5] } } | |
| }, | |
| "outputs": { "C": { "dtype": "float32", "shape": [2, 0, 4], "data": { "kind": "values", "values": [] } } } | |
| }, | |
| { | |
| "name": "empty_zero_hidden", | |
| "provenance": { | |
| "notes": "Zero-length last (bias-broadcast) axis: the bias vector itself is empty, so no kernel may size a binding from the hidden extent." | |
| }, | |
| "inputs": { | |
| "A": { "dtype": "float32", "shape": [2, 0], "data": { "kind": "values", "values": [] } }, | |
| "B": { "dtype": "float32", "shape": [0], "data": { "kind": "values", "values": [] } } | |
| }, | |
| "outputs": { "C": { "dtype": "float32", "shape": [2, 0], "data": { "kind": "values", "values": [] } } } | |
| }, | |
| { | |
| "name": "f32_subnormal_linear_region_zero_bias_vec4_gpu_gap", | |
| "skipGpu": { | |
| "category": "permanent", | |
| "reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero (f32 and f16); the kernel cannot preserve denormal inputs/outputs bit-exactly." | |
| }, | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/element_wise_ops_test.cc", | |
| "test": "BiasGeluTest.Float", | |
| "notes": "BiasGelu with zero bias reduces to exact erf-form GELU; finite subnormal inputs should produce the x/2 linear-region tail through the vec4 bias path." | |
| }, | |
| "inputs": { | |
| "A": { | |
| "dtype": "float32", | |
| "shape": [1, 4], | |
| "data": { "kind": "values", "values": [1e-40, -1e-40, 1e-38, -1e-38] } | |
| }, | |
| "B": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.0, 0.0, 0.0, 0.0] } } | |
| }, | |
| "outputs": { | |
| "C": { | |
| "dtype": "float32", | |
| "shape": [1, 4], | |
| "tolerance": 2e-45, | |
| "data": { | |
| "kind": "values", | |
| "values": [4.99997305055738e-41, -4.99997305055738e-41, 4.999999675228202e-39, -4.999999675228202e-39] | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "f32_subnormal_linear_region_zero_bias_scalar_gpu_gap", | |
| "skipGpu": { | |
| "category": "permanent", | |
| "reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero (f32 and f16); the kernel cannot preserve denormal inputs/outputs bit-exactly." | |
| }, | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/element_wise_ops_test.cc", | |
| "test": "BiasGeluTest.Float", | |
| "notes": "Zero bias isolates subnormal linear-region behavior on the scalar path." | |
| }, | |
| "inputs": { | |
| "A": { "dtype": "float32", "shape": [1, 3], "data": { "kind": "values", "values": [1e-40, -1e-40, 1e-38] } }, | |
| "B": { "dtype": "float32", "shape": [3], "data": { "kind": "values", "values": [0.0, 0.0, 0.0] } } | |
| }, | |
| "outputs": { | |
| "C": { | |
| "dtype": "float32", | |
| "shape": [1, 3], | |
| "tolerance": 2e-45, | |
| "data": { "kind": "values", "values": [4.99997305055738e-41, -4.99997305055738e-41, 4.999999675228202e-39] } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "scalar_dispatch_cliff_2d_fold", | |
| "inputs": { | |
| "A": { "dtype": "float32", "shape": [8388609, 3], "data": { "kind": "linspace", "start": -2.0, "end": 2.0 } }, | |
| "B": { "dtype": "float32", "shape": [3], "data": { "kind": "values", "values": [0.1, -0.1, 0.3] } } | |
| }, | |
| "outputs": { "C": { "dtype": "float32", "shape": [8388609, 3], "tolerance": 0.0001 } } | |
| }, | |
| { | |
| "name": "scalar_rank1_odd_hidden_bias_broadcast", | |
| "inputs": { | |
| "A": { "dtype": "float32", "shape": [3], "data": { "kind": "values", "values": [1.5, -1.5, 0.7] } }, | |
| "B": { "dtype": "float32", "shape": [3], "data": { "kind": "values", "values": [0.2, -0.2, 0.3] } } | |
| }, | |
| "outputs": { | |
| "C": { | |
| "dtype": "float32", | |
| "shape": [3], | |
| "tolerance": 0.000001, | |
| "data": { "kind": "values", "values": [1.62423876, -0.07576124, 0.84134474] } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "scalar_numel_div4_but_last_dim_not", | |
| "inputs": { | |
| "A": { | |
| "dtype": "float32", | |
| "shape": [4, 3], | |
| "data": { "kind": "values", "values": [-1.0, 0.5, 2.0, 1.5, -0.5, -1.5, 0.0, 1.0, -2.0, 0.25, -0.25, 0.75] } | |
| }, | |
| "B": { "dtype": "float32", "shape": [3], "data": { "kind": "values", "values": [0.2, -0.3, 0.1] } } | |
| }, | |
| "outputs": { "C": { "dtype": "float32", "shape": [4, 3], "tolerance": 0.000001 } } | |
| } | |
| ] | |
| } | |