Download build/webgpu/test.json from webgpu-kernels/com.microsoft.SkipLayerNormalization: direct link, hf CLI and curl.
- Browser
- Download file 94.5 kB
-
https://huggingface.co/kernels/webgpu-kernels/com.microsoft.SkipLayerNormalization/resolve/v1/build/webgpu/test.json
- Command line
-
hf download hf://webgpu-kernels/com.microsoft.SkipLayerNormalization@v1/build/webgpu/test.json
-
curl -L -o test.json https://huggingface.co/kernels/webgpu-kernels/com.microsoft.SkipLayerNormalization/resolve/v1/build/webgpu/test.json
94.5 kB
| { | |
| "fixtureArrays": { | |
| "ort_batch2_bias_flattened_tokens_input_skipT": [0.1, -0.2, 0.3, 1, 0.5, 0.1, 0.4, 1.6, 1.8, -0.3, 0, 1, -0.5, 0.4, 0.8, -0.6], | |
| "ort_batch2_flattened_tokens_input_inputT": [0.8, -0.5, 0, 1, 0.5, 0.2, 0.3, -0.6, 0.8, -0.5, 0, 1, 0.5, 0.2, 0.3, -0.6], | |
| "ort_batch2_skip_broadcast_no_batch_size_output_outputT": [0.2843385934829712, -0.17090578377246857, -0.9289716482162476, 4.692415237426758, 0.4611165225505829, -0.21333980560302734, -0.29631003737449646, 3.5148544311523438, 0.2843385934829712, -0.17090578377246857, -0.9289716482162476, 4.692415237426758, 0.4611165225505829, -0.21333980560302734, -0.29631003737449646, 3.5148544311523438] | |
| }, | |
| "cases": [ | |
| { | |
| "name": "rank3_exact_skip_shape", | |
| "provenance": { | |
| "source": "onnxruntime/contrib_ops/cpu/bert/skip_layer_norm.cc", | |
| "notes": "Pins the public rank-3 same-shape skip mode independently of the two documented broadcast forms." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 2, 4], "data": { "kind": "linspace", "start": -1.5, "end": 1.5 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 2, 4], "data": { "kind": "linspace", "start": 0.75, "end": -0.25 } }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [1.0, 0.5, 1.5, -0.25] } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.1, -0.2, 0.3, -0.4] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [2, 2, 4], "tolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "no_bias", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13, "scale": 0.1 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.00002 }, | |
| "residualT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "f32_epsilon_zero_explicit_tiny_variance", | |
| "attrs": { "epsilon": 0 }, | |
| "provenance": { | |
| "source": "onnxruntime/contrib_ops/webgpu/bert/skip_layer_norm.h", | |
| "test": "GetAttrOrDefault epsilon semantics", | |
| "notes": "An explicit epsilon=0.0 must be honored, not replaced by the 1e-12 schema default via a truthiness fallback. The 1e-7-scale rows make that difference numerically observable." | |
| }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 1e-7 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23, "scale": 1e-7 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13, "scale": 0.1 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.0001 }, | |
| "residualT": { "dtype": "float32", "shape": [3, 8], "tolerance": 1e-9 } | |
| } | |
| }, | |
| { | |
| "name": "bias", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13, "scale": 0.1 } | |
| }, | |
| "biasT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.29, "cosStep": 0.17, "scale": 0.08 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.00002 }, | |
| "residualT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "zero_variance_returns_beta", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [2, 4], | |
| "data": { "kind": "values", "values": [5.0, 5.0, 5.0, 5.0, -3.0, -3.0, -3.0, -3.0] } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [2, 4], | |
| "data": { "kind": "values", "values": [1.0, 1.0, 1.0, 1.0, 7.0, 7.0, 7.0, 7.0] } | |
| }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [10.0, -2.0, 3.0, 4.0] } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.5, -1.0, 2.0, -3.0] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 4], "tolerance": 0.000001 }, | |
| "residualT": { "dtype": "float32", "shape": [2, 4], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "hidden_size_one_bias_path", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [3, 1], "data": { "kind": "values", "values": [2.0, -4.0, 0.5] } }, | |
| "skipT": { "dtype": "float32", "shape": [3, 1], "data": { "kind": "values", "values": [3.0, 1.0, -0.5] } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [7.0] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-2.0] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.25] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [3, 1], "tolerance": 0.000001 }, | |
| "residualT": { "dtype": "float32", "shape": [3, 1], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "hidden_size_one_bias_output_only", | |
| "provenance": { | |
| "notes": "Pins the scalar hidden-size-one closed form when the optional residual sum is not requested." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [1, 1], "data": { "kind": "values", "values": [2.0] } }, | |
| "skipT": { "dtype": "float32", "shape": [1, 1], "data": { "kind": "values", "values": [3.0] } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [7.0] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-2.0] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.25] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [1, 1], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "hidden_size_one_no_beta_output_only", | |
| "provenance": { | |
| "notes": "Pins the supported no-beta hidden-size-one closed form: every centered value is zero, so the output is zero." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [1, 1], "data": { "kind": "values", "values": [2.0] } }, | |
| "skipT": { "dtype": "float32", "shape": [1, 1], "data": { "kind": "values", "values": [3.0] } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [7.0] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [1, 1], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "hidden_size_one_bias_rows65535_dispatch_edge", | |
| "provenance": { | |
| "notes": "Hidden size 1 across 65,535 rows exercises the maximum single-dimension workgroup count with one value per normalization row." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [65535, 1], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.017, "cosStep": 0.031 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [65535, 1], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.011, "cosStep": 0.023 } | |
| }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [65535, 1], "tolerance": 0.000001 }, | |
| "residualT": { "dtype": "float32", "shape": [65535, 1], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "large_mean_small_variance_centered", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [1, 4], | |
| "data": { "kind": "values", "values": [40000.0, 40001.0, 40002.0, 40003.0] } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [1, 4], | |
| "data": { "kind": "values", "values": [-39999.0, -39999.5, -40000.0, -40000.5] } | |
| }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [1.0, 2.0, -1.0, 0.5] } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.0, 0.5, -0.25, 1.0] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 4], "tolerance": 0.000001 }, | |
| "residualT": { "dtype": "float32", "shape": [1, 4], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "ort_zero_tokens_null_input", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/skiplayernorm_op_test.cc", | |
| "test": "SkipLayerNormTest.SkipLayerNormNullInput", | |
| "notes": "ORT shape [1, 0, 4] is represented as lowered token rows [0, 4]." | |
| }, | |
| "attrs": { "epsilon": 1e-12 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [0, 4], "data": { "kind": "values", "values": [] } }, | |
| "skipT": { "dtype": "float32", "shape": [0, 4], "data": { "kind": "values", "values": [] } }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.3, 0.2, 4.0, 2.2] } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.2, 0.1, 0.4, 1.6] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [0, 4], "tolerance": 0 }, | |
| "residualT": { "dtype": "float32", "shape": [0, 4], "tolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "ort_batch1_flattened_tokens", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/skiplayernorm_op_test.cc", | |
| "test": "SkipLayerNormTest.SkipLayerNormBatch1", | |
| "notes": "This package flattens ORT shape [1, 2, 4] to two four-wide token rows. Epsilon is omitted to exercise the schema default of 1e-12." | |
| }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [2, 4], | |
| "data": { "kind": "values", "values": [0.8, -0.5, 0.0, 1.0, 0.5, 0.2, 0.3, -0.6] } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [2, 4], | |
| "data": { "kind": "values", "values": [0.1, -0.2, 0.3, 1.0, 0.5, 0.1, 0.4, 1.6] } | |
| }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.3, 0.2, 4.0, 2.2] } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.2, 0.1, 0.4, 1.6] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 4], "tolerance": 0.00002 }, | |
| "residualT": { "dtype": "float32", "shape": [2, 4], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "ort_batch2_bias_flattened_tokens", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/skiplayernorm_op_test.cc", | |
| "test": "SkipLayerNormTest.SkipLayerNormBatch2_Bias", | |
| "notes": "This package flattens ORT shape [2, 2, 4] to four four-wide token rows." | |
| }, | |
| "attrs": { "epsilon": 1e-12 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [4, 4], | |
| "data": { | |
| "kind": "values", | |
| "values": [0.7, -0.4, -0.2, 1.2, 0.4, 0.3, 0.1, -0.4, 0.7, -0.4, -0.2, 1.2, 0.4, 0.3, 0.1, -0.4] | |
| } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [4, 4], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/ort_batch2_bias_flattened_tokens_input_skipT" } | |
| } | |
| }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.3, 0.2, 4.0, 2.2] } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.2, 0.1, 0.4, 1.6] } }, | |
| "biasT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.1, -0.1, 0.2, -0.2] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [4, 4], "tolerance": 0.00002 }, | |
| "residualT": { "dtype": "float32", "shape": [4, 4], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "ort_batch2_flattened_tokens", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/skiplayernorm_op_test.cc", | |
| "test": "SkipLayerNormTest.SkipLayerNormBatch2", | |
| "notes": "This package flattens ORT shape [2, 2, 4] to four four-wide token rows." | |
| }, | |
| "attrs": { "epsilon": 1e-12 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [4, 4], | |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_batch2_flattened_tokens_input_inputT" } } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [4, 4], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/ort_batch2_bias_flattened_tokens_input_skipT" } | |
| } | |
| }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.3, 0.2, 4.0, 2.2] } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.2, 0.1, 0.4, 1.6] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [4, 4], "tolerance": 0.00002 }, | |
| "residualT": { "dtype": "float32", "shape": [4, 4], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "large_hidden_320_no_bias", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [2, 320], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.017, "cosStep": 0.031 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [2, 320], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.011, "cosStep": 0.023 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [320], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "offset": 1.0, "sinStep": 0.007, "cosStep": 0.041 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [320], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "sinStep": 0.019, "cosStep": 0.013 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 320], "tolerance": 0.0002 }, | |
| "residualT": { "dtype": "float32", "shape": [2, 320], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "large_hidden_320_bias", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [2, 320], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.029 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [2, 320], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.019, "cosStep": 0.037 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [320], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "offset": 1.0, "sinStep": 0.029, "cosStep": 0.017 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [320], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "sinStep": 0.023, "cosStep": 0.011 } | |
| }, | |
| "biasT": { | |
| "dtype": "float32", | |
| "shape": [320], | |
| "data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.007 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 320], "tolerance": 0.0002 }, | |
| "residualT": { "dtype": "float32", "shape": [2, 320], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "ort_batch2_skip_broadcast_no_batch_size", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/skiplayernorm_op_test.cc", | |
| "test": "SkipLayerNormTest.SkipLayerNormBatch2_Skip_Broadcast_No_Batch_Size" | |
| }, | |
| "attrs": { "epsilon": 1e-12 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 4], | |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_batch2_flattened_tokens_input_inputT" } } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [2, 4], | |
| "data": { "kind": "values", "values": [0.1, -0.2, 0.3, 1.0, 0.5, 0.1, 0.4, 1.6] } | |
| }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.3, 0.2, 4.0, 2.2] } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.2, 0.1, 0.4, 1.6] } } | |
| }, | |
| "outputs": { | |
| "outputT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 4], | |
| "tolerance": 0.00002, | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/ort_batch2_skip_broadcast_no_batch_size_output_outputT" } | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "ort_batch1_no_beta_flattened_tokens", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/skiplayernorm_op_test.cc", | |
| "test": "SkipLayerNormTest.SkipLayerNormBatch1_NoBeta", | |
| "notes": "ORT shape [1, 2, 4] is represented as [2, 4] tokens by this lowered fixture, with beta omitted." | |
| }, | |
| "attrs": { "epsilon": 1e-12 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [2, 4], | |
| "data": { "kind": "values", "values": [0.8, -0.5, 0.0, 1.0, 0.5, 0.2, 0.3, -0.6] } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [2, 4], | |
| "data": { "kind": "values", "values": [0.1, -0.2, 0.3, 1.0, 0.5, 0.1, 0.4, 1.6] } | |
| }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.3, 0.2, 4.0, 2.2] } } | |
| }, | |
| "outputs": { | |
| "outputT": { | |
| "dtype": "float32", | |
| "shape": [2, 4], | |
| "tolerance": 0.00002, | |
| "data": { | |
| "kind": "values", | |
| "values": [0.0843385934829712, -0.27090578377246854, -1.3289716482162477, 3.092415237426758, 0.2611165225505829, -0.3133398056030273, -0.6963100373744965, 1.9148544311523439] | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "no_beta_output_only_hidden6_unaligned_row", | |
| "provenance": { | |
| "notes": "Beta and optional outputs are omitted; hidden size six exercises a non-four-aligned row." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [2, 6], "tolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "beta_no_bias_output_only", | |
| "provenance": { | |
| "notes": "Exercises beta with all three optional auxiliary outputs absent, using a vec4-aligned hidden size of 8." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.1 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "beta_no_bias_output_only_hidden6_unaligned_row", | |
| "provenance": { | |
| "notes": "Beta is present, bias and optional outputs are omitted, and hidden size 6 leaves a partial four-element storage group." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.37 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.43 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.1 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [2, 6], "tolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "beta_bias_output_only", | |
| "provenance": { | |
| "notes": "bias + beta with no optional outputs uses six storage buffers instead of the nine required when all optional outputs are present. It therefore remains valid at WebGPU's guaranteed minimum of eight storage buffers." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.1 } | |
| }, | |
| "biasT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.47, "scale": 0.3 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "beta_bias_output_only_hidden6_unaligned_row", | |
| "provenance": { | |
| "notes": "Row-kernel arm of beta_bias_output_only: hidden=6 fails vec4Aligned. 6 storage buffers." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.37 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.43 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.1 } | |
| }, | |
| "biasT": { | |
| "dtype": "float32", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.47, "scale": 0.3 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [2, 6], "tolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "ort_batch2_skip_broadcast_batch_size_one", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/skiplayernorm_op_test.cc", | |
| "test": "SkipLayerNormTest.SkipLayerNormBatch2_Skip_Broadcast_Batch_Size_1" | |
| }, | |
| "attrs": { "epsilon": 1e-12 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 4], | |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_batch2_flattened_tokens_input_inputT" } } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [1, 2, 4], | |
| "data": { "kind": "values", "values": [0.1, -0.2, 0.3, 1.0, 0.5, 0.1, 0.4, 1.6] } | |
| }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.3, 0.2, 4.0, 2.2] } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.2, 0.1, 0.4, 1.6] } } | |
| }, | |
| "outputs": { | |
| "outputT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 4], | |
| "tolerance": 0.00002, | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/ort_batch2_skip_broadcast_no_batch_size_output_outputT" } | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "f16_hidden768_bias_residual", | |
| "requires": { "features": ["shader-f16"] }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float16", | |
| "shape": [4, 768], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.017, "cosStep": 0.031 } | |
| }, | |
| "skipT": { | |
| "dtype": "float16", | |
| "shape": [4, 768], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.011, "cosStep": 0.023 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float16", | |
| "shape": [768], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "offset": 1.0, "sinStep": 0.007, "cosStep": 0.041 } | |
| }, | |
| "betaT": { | |
| "dtype": "float16", | |
| "shape": [768], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "sinStep": 0.019, "cosStep": 0.013 } | |
| }, | |
| "biasT": { | |
| "dtype": "float16", | |
| "shape": [768], | |
| "data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.007 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [4, 768], "tolerance": 0.01 }, | |
| "residualT": { "dtype": "float16", "shape": [4, 768], "tolerance": 0.005 } | |
| } | |
| }, | |
| { | |
| "name": "f32_hidden768_no_bias_residual", | |
| "provenance": { | |
| "notes": "A compact hidden-size-768 residual normalization exercises the subgroup route and its reduced-tier fallback without bias." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [4, 768], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.017, "cosStep": 0.031 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [4, 768], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.011, "cosStep": 0.023 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [768], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "offset": 1.0, "sinStep": 0.007, "cosStep": 0.041 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [768], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "sinStep": 0.019, "cosStep": 0.013 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [4, 768], "tolerance": 0.0002 }, | |
| "residualT": { "dtype": "float32", "shape": [4, 768], "tolerance": 0.000002 } | |
| } | |
| }, | |
| { | |
| "name": "f32_hidden2048_bias_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [2, 2048], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.029 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [2, 2048], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.019, "cosStep": 0.037 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [2048], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "offset": 1.0, "sinStep": 0.029, "cosStep": 0.017 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [2048], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "sinStep": 0.023, "cosStep": 0.011 } | |
| }, | |
| "biasT": { | |
| "dtype": "float32", | |
| "shape": [2048], | |
| "data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.007 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 2048], "tolerance": 0.0005 }, | |
| "residualT": { "dtype": "float32", "shape": [2, 2048], "tolerance": 0.000002 } | |
| } | |
| }, | |
| { | |
| "name": "f32_hidden1025_bias_residual", | |
| "provenance": { | |
| "notes": "A compact hidden-size-1025 normalization exercises the unaligned two-pass path with bias and residual output." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [3, 1025], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.029 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [3, 1025], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.019, "cosStep": 0.037 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [1025], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "offset": 1.0, "sinStep": 0.029, "cosStep": 0.017 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [1025], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "sinStep": 0.023, "cosStep": 0.011 } | |
| }, | |
| "biasT": { | |
| "dtype": "float32", | |
| "shape": [1025], | |
| "data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.007 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [3, 1025], "tolerance": 0.0005 }, | |
| "residualT": { "dtype": "float32", "shape": [3, 1025], "tolerance": 0.000002 } | |
| } | |
| }, | |
| { | |
| "name": "f32_hidden770_unaligned_beta_bias_scalar_subgroup", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [3, 770], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.017, "cosStep": 0.031 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [3, 770], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.011, "cosStep": 0.023 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [770], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "offset": 1.0, "sinStep": 0.007, "cosStep": 0.041 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [770], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "sinStep": 0.019, "cosStep": 0.013 } | |
| }, | |
| "biasT": { | |
| "dtype": "float32", | |
| "shape": [770], | |
| "data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.007 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [3, 770], "tolerance": 0.0002 }, | |
| "residualT": { "dtype": "float32", "shape": [3, 770], "tolerance": 0.000002 } | |
| } | |
| }, | |
| { | |
| "name": "f32_rows1_hidden4096_decode", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [1, 4096], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.017, "cosStep": 0.031 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [1, 4096], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.011, "cosStep": 0.023 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [4096], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "offset": 1.0, "sinStep": 0.007, "cosStep": 0.041 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [4096], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "sinStep": 0.019, "cosStep": 0.013 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 4096], "tolerance": 0.0005 }, | |
| "residualT": { "dtype": "float32", "shape": [1, 4096], "tolerance": 0.000002 } | |
| } | |
| }, | |
| { | |
| "name": "empty_tokens_bias_residual_twopass", | |
| "attrs": { "epsilon": 1e-12 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [0, 4], "data": { "kind": "values", "values": [] } }, | |
| "skipT": { "dtype": "float32", "shape": [0, 4], "data": { "kind": "values", "values": [] } }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.3, 0.2, 4.0, 2.2] } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.2, 0.1, 0.4, 1.6] } }, | |
| "biasT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.1, -0.1, 0.2, -0.2] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [0, 4], "tolerance": 0 }, | |
| "residualT": { "dtype": "float32", "shape": [0, 4], "tolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "rows65537_hidden3_fold_lastrow_guard", | |
| "provenance": { | |
| "notes": "Pins the two-dimensional dispatch fold and final-row guard with 65,537 hidden-size-3 rows; near-constant rows exercise float32 one-pass variance while the residual sum remains exact." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [65537, 3], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.017, "cosStep": 0.031 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [65537, 3], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.011, "cosStep": 0.023 } | |
| }, | |
| "gammaT": { "dtype": "float32", "shape": [3], "data": { "kind": "values", "values": [1.0, 2.0, -1.0] } }, | |
| "betaT": { "dtype": "float32", "shape": [3], "data": { "kind": "values", "values": [0.5, -0.25, 1.0] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [65537, 3], "tolerance": 0.0021 }, | |
| "residualT": { "dtype": "float32", "shape": [65537, 3], "tolerance": 0.000002 } | |
| } | |
| }, | |
| { | |
| "name": "hidden_size_one_bias_many_rows", | |
| "provenance": { "notes": "Many hidden-size-one rows exercise the variance-zero bias path at a compact scale." }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [257, 1], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.017, "cosStep": 0.031 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [257, 1], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.011, "cosStep": 0.023 } | |
| }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.25] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.5] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [257, 1], "tolerance": 0.000001 }, | |
| "residualT": { "dtype": "float32", "shape": [257, 1], "tolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "rank3_no_bias_residual", | |
| "provenance": { | |
| "notes": "Rank-3 activation shape carrying the residual output, the form ONNX Runtime's transformer fusion emits when the pre-normalization sum feeds the next block." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [1, 4, 768], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.017, "cosStep": 0.031 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [1, 4, 768], | |
| "data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.011, "cosStep": 0.023 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [768], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "offset": 1.0, "sinStep": 0.007, "cosStep": 0.041 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [768], | |
| "data": { "kind": "fillFloat32", "scale": 0.1, "sinStep": 0.019, "cosStep": 0.013 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 4, 768], "tolerance": 0.0002 }, | |
| "residualT": { "dtype": "float32", "shape": [1, 4, 768], "tolerance": 0.000002 } | |
| } | |
| }, | |
| { | |
| "name": "rank3_beta_no_bias_output_only_hidden6_unaligned_row", | |
| "provenance": { | |
| "notes": "Rank-3 at a hidden size that is not a multiple of four, so the scalar row route serves it." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [1, 2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.37 } | |
| }, | |
| "skipT": { | |
| "dtype": "float32", | |
| "shape": [1, 2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.43 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float32", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float32", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.1 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [1, 2, 6], "tolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "f16_rank3_beta_bias_output_only", | |
| "provenance": { | |
| "notes": "Half-precision beta and bias at a rank-3 activation shape, the ordinary on-device inference form." | |
| }, | |
| "requires": { "features": ["shader-f16"] }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float16", | |
| "shape": [1, 3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 } | |
| }, | |
| "skipT": { | |
| "dtype": "float16", | |
| "shape": [1, 3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float16", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float16", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.1 } | |
| }, | |
| "biasT": { | |
| "dtype": "float16", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.47, "scale": 0.3 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [1, 3, 8], "tolerance": 0.01 } } | |
| }, | |
| { | |
| "name": "f16_beta_bias_output_only_hidden6_unaligned_row", | |
| "provenance": { "notes": "Half precision at an unaligned hidden size, which the scalar row route serves." }, | |
| "requires": { "features": ["shader-f16"] }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float16", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.37 } | |
| }, | |
| "skipT": { | |
| "dtype": "float16", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.43 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float16", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float16", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.1 } | |
| }, | |
| "biasT": { | |
| "dtype": "float16", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.47, "scale": 0.3 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [2, 6], "tolerance": 0.01 } } | |
| }, | |
| { | |
| "name": "f16_beta_no_bias_output_only", | |
| "provenance": { "notes": "Half precision with beta and no bias." }, | |
| "requires": { "features": ["shader-f16"] }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float16", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 } | |
| }, | |
| "skipT": { | |
| "dtype": "float16", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float16", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float16", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.1 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [3, 8], "tolerance": 0.01 } } | |
| }, | |
| { | |
| "name": "f16_beta_no_bias_output_only_hidden6_unaligned_row", | |
| "provenance": { "notes": "Half precision with beta, no bias, at an unaligned hidden size." }, | |
| "requires": { "features": ["shader-f16"] }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float16", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.37 } | |
| }, | |
| "skipT": { | |
| "dtype": "float16", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.43 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float16", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| }, | |
| "betaT": { | |
| "dtype": "float16", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.1 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [2, 6], "tolerance": 0.01 } } | |
| }, | |
| { | |
| "name": "f16_no_beta_output_only_hidden6_unaligned_row", | |
| "provenance": { "notes": "Half precision with neither beta nor bias, at an unaligned hidden size." }, | |
| "requires": { "features": ["shader-f16"] }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float16", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 } | |
| }, | |
| "skipT": { | |
| "dtype": "float16", | |
| "shape": [2, 6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float16", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [2, 6], "tolerance": 0.002 } } | |
| }, | |
| { | |
| "name": "f16_no_beta_output_only", | |
| "provenance": { | |
| "notes": "Half precision with neither beta nor bias at an aligned hidden size, which is the vec4 arm of that pair." | |
| }, | |
| "requires": { "features": ["shader-f16"] }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float16", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 } | |
| }, | |
| "skipT": { | |
| "dtype": "float16", | |
| "shape": [3, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 } | |
| }, | |
| "gammaT": { | |
| "dtype": "float16", | |
| "shape": [8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41, "scale": 0.2 } | |
| } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [3, 8], "tolerance": 0.002 } } | |
| }, | |
| { | |
| "name": "independent_rows_float32_257x1_option0_wgdefault_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [257, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float32", "shape": [257, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [257, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float32_257x1_option1_wgdefault_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [257, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float32", "shape": [257, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.25] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [257, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float32_257x1_option2_wgdefault_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [257, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float32", "shape": [257, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [257, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float32_3x31x1_option2_wg1_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "tunables": { "MAX_WORKGROUP_SIZE": 1 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float32", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [3, 31, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float32_3x31x1_option2_wg8_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "tunables": { "MAX_WORKGROUP_SIZE": 8 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float32", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [3, 31, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float32_3x31x1_option2_wg64_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "tunables": { "MAX_WORKGROUP_SIZE": 64 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float32", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [3, 31, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float32_3x31x1_option2_wg128_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "tunables": { "MAX_WORKGROUP_SIZE": 128 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float32", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [3, 31, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float32_524289x1_option3_wg8_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "tunables": { "MAX_WORKGROUP_SIZE": 8 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [524289, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float32", "shape": [524289, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [524289, 1], "tolerance": 0, "allowNaN": false }, | |
| "residualT": { "dtype": "float32", "shape": [524289, 1], "tolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "independent_rows_float32_257x1_option2_wgdefault_epsilon0", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [257, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float32", "shape": [257, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [257, 1], "tolerance": 0, "allowNaN": true } } | |
| }, | |
| { | |
| "name": "independent_rows_float16_257x1_option0_wgdefault_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [257, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float16", "shape": [257, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [1.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [257, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float16_257x1_option1_wgdefault_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [257, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float16", "shape": [257, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [-0.25] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [257, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float16_257x1_option2_wgdefault_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [257, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float16", "shape": [257, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [257, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float16_3x31x1_option2_wg1_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "tunables": { "MAX_WORKGROUP_SIZE": 1 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float16", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [3, 31, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float16_3x31x1_option2_wg8_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "tunables": { "MAX_WORKGROUP_SIZE": 8 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float16", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [3, 31, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float16_3x31x1_option2_wg64_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "tunables": { "MAX_WORKGROUP_SIZE": 64 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float16", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [3, 31, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float16_3x31x1_option2_wg128_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "tunables": { "MAX_WORKGROUP_SIZE": 128 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float16", "shape": [3, 31, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [3, 31, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float16_524289x1_option2_wg8_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "tunables": { "MAX_WORKGROUP_SIZE": 8 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [524289, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float16", "shape": [524289, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [524289, 1], "tolerance": 0, "allowNaN": false } } | |
| }, | |
| { | |
| "name": "independent_rows_float16_257x1_option2_wgdefault_epsilon0", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [257, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float16", "shape": [257, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float16", "shape": [257, 1], "tolerance": 0, "allowNaN": true } } | |
| }, | |
| { | |
| "name": "independent_rows_float32_257x1_option3_wgdefault_epsilon0.00001", | |
| "provenance": { | |
| "notes": "One-element normalization has an intrinsically uniform result. Uniform inputs pin its closed-form value, workgroup tails, optional outputs, and epsilon behavior; the GPU row-coverage test checks poisoned outputs and varying residuals separately." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [257, 1], "data": { "kind": "constant", "value": 1.25 } }, | |
| "skipT": { "dtype": "float32", "shape": [257, 1], "data": { "kind": "constant", "value": 0.5 } }, | |
| "gammaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.125] } }, | |
| "betaT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.25] } }, | |
| "biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [257, 1], "tolerance": 0, "allowNaN": false }, | |
| "residualT": { "dtype": "float32", "shape": [257, 1], "tolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "ort_skip_layer_norm_large_magnitude_row", | |
| "attrs": { "epsilon": 1e-12 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [1, 4], | |
| "data": { "kind": "values", "values": [10000.0, 10001.0, 9999.0, 10000.0] } | |
| }, | |
| "skipT": { "dtype": "float32", "shape": [1, 4], "data": { "kind": "values", "values": [0.0, 0.0, 0.0, 0.0] } }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [1.0, 1.0, 1.0, 1.0] } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.0, 0.0, 0.0, 0.0] } } | |
| }, | |
| "outputs": { "outputT": { "dtype": "float32", "shape": [1, 4], "tolerance": 0.0001 } } | |
| }, | |
| { | |
| "name": "stats_mean_plain", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_mean_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_mean_beta", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "betaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_mean_beta_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "betaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_mean_bias", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_mean_bias_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002 } | |
| } | |
| }, | |
| { | |
| "name": "stats_mean_bias_beta", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } }, | |
| "betaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_mean_bias_beta_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } }, | |
| "betaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002 } | |
| } | |
| }, | |
| { | |
| "name": "stats_inv_plain", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_inv_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_inv_beta", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "betaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_inv_beta_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "betaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_inv_bias", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_inv_bias_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002 } | |
| } | |
| }, | |
| { | |
| "name": "stats_inv_bias_beta", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } }, | |
| "betaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_inv_bias_beta_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } }, | |
| "betaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002 } | |
| } | |
| }, | |
| { | |
| "name": "stats_both_plain", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_both_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_both_beta", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "betaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_both_beta_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float32", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "betaT": { "dtype": "float32", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float32", "shape": [2, 3, 5], "tolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_both_bias", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_both_bias_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002 } | |
| } | |
| }, | |
| { | |
| "name": "stats_both_bias_beta", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } }, | |
| "betaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 } | |
| } | |
| }, | |
| { | |
| "name": "stats_both_bias_beta_residual", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [2, 3, 5], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } }, | |
| "betaT": { "dtype": "float16", "shape": [5], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "meanT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [2, 3, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float16", "shape": [2, 3, 5], "tolerance": 0.002 } | |
| } | |
| }, | |
| { | |
| "name": "ort_saved_statistics", | |
| "provenance": { | |
| "source": "onnxruntime/test/contrib_ops/skiplayernorm_op_test.cc", | |
| "test": "SkipLayerNormStatistics" | |
| }, | |
| "attrs": { "epsilon": 1e-12 }, | |
| "inputs": { | |
| "inputT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 4], | |
| "data": { "kind": "values", "values": [10000.0, 10001.0, 9999.0, 10000.0] } | |
| }, | |
| "skipT": { "dtype": "float32", "shape": [1, 1, 4], "data": { "kind": "constant", "value": 0.0 } }, | |
| "gammaT": { "dtype": "float32", "shape": [4], "data": { "kind": "constant", "value": 1.0 } }, | |
| "betaT": { "dtype": "float32", "shape": [4], "data": { "kind": "constant", "value": 0.0 } } | |
| }, | |
| "outputs": { | |
| "outputT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 4], | |
| "tolerance": 0.000001, | |
| "data": { "kind": "values", "values": [0.0, 1.4142135, -1.4142135, 0.0] } | |
| }, | |
| "meanT": { "dtype": "float32", "shape": [1, 1, 1], "data": { "kind": "values", "values": [10000.0] } }, | |
| "invStdT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 1], | |
| "tolerance": 0.000001, | |
| "data": { "kind": "values", "values": [1.4142135] } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "stats_single_element_row", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [1, 1, 1], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [1, 1, 1], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [1], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } }, | |
| "betaT": { "dtype": "float16", "shape": [1], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [1, 1, 1], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "meanT": { "dtype": "float32", "shape": [1, 1, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "invStdT": { "dtype": "float32", "shape": [1, 1, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float16", "shape": [1, 1, 1], "tolerance": 0.002 } | |
| } | |
| }, | |
| { | |
| "name": "stats_single_element_mean", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [1, 1, 1], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [1, 1, 1], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [1], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } }, | |
| "betaT": { "dtype": "float16", "shape": [1], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [1, 1, 1], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "meanT": { "dtype": "float32", "shape": [1, 1, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float16", "shape": [1, 1, 1], "tolerance": 0.002 } | |
| } | |
| }, | |
| { | |
| "name": "stats_single_element_inverse", | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "inputT": { "dtype": "float16", "shape": [1, 1, 1], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }, | |
| "skipT": { "dtype": "float16", "shape": [1, 1, 1], "data": { "kind": "linspace", "start": 0.4, "end": -0.7 } }, | |
| "gammaT": { "dtype": "float16", "shape": [1], "data": { "kind": "linspace", "start": 0.5, "end": 1.5 } }, | |
| "biasT": { "dtype": "float16", "shape": [1], "data": { "kind": "linspace", "start": -0.2, "end": 0.3 } }, | |
| "betaT": { "dtype": "float16", "shape": [1], "data": { "kind": "linspace", "start": 0.2, "end": -0.3 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [1, 1, 1], "tolerance": 0.002, "relTolerance": 0.002 }, | |
| "invStdT": { "dtype": "float32", "shape": [1, 1, 1], "tolerance": 0.00001, "relTolerance": 0.00001 }, | |
| "residualT": { "dtype": "float16", "shape": [1, 1, 1], "tolerance": 0.002 } | |
| } | |
| } | |
| ] | |
| } | |