Download build/webgpu/test.json from webgpu-kernels/com.microsoft.GatedRMSNorm: direct link, hf CLI and curl.
- Browser
- Download file 34.9 kB
-
https://huggingface.co/kernels/webgpu-kernels/com.microsoft.GatedRMSNorm/resolve/v1/build/webgpu/test.json
- Command line
-
hf download hf://webgpu-kernels/com.microsoft.GatedRMSNorm@v1/build/webgpu/test.json
-
curl -L -o test.json https://huggingface.co/kernels/webgpu-kernels/com.microsoft.GatedRMSNorm/resolve/v1/build/webgpu/test.json
34.9 kB
| { | |
| "cases": [ | |
| { | |
| "name": "ort_float_per_head", | |
| "provenance": { | |
| "source": "ORT: onnxruntime/test/contrib_ops/linear_attention_gates_op_test.cc", | |
| "test": "ContribOpGatedRMSNormTest.Float_PerHead", | |
| "notes": "Upstream draws its tensors from a seeded mt19937 and recomputes the expectation in the test body, so the geometry and epsilon transfer but the values do not. Batch 1, sequence 4, 32 heads of 128." | |
| }, | |
| "attrs": { "epsilon": 0.000001 }, | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [1, 4, 4096], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [1, 4, 4096], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.19, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [1, 4, 4096], "tolerance": 0.000002, "relTolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "ort_float_single_group", | |
| "provenance": { | |
| "source": "ORT: onnxruntime/test/contrib_ops/linear_attention_gates_op_test.cc", | |
| "test": "ContribOpGatedRMSNormTest.Float_SingleGroup", | |
| "notes": "One normalization group per row (H = 1), the case where a per-channel and a shared-group weight index agree, so it cannot distinguish them on its own." | |
| }, | |
| "attrs": { "epsilon": 0.00001 }, | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [2, 3, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [2, 3, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.43, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [2, 3, 512], "tolerance": 0.000002, "relTolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "ort_float16_per_head", | |
| "provenance": { | |
| "source": "ORT: onnxruntime/test/contrib_ops/linear_attention_gates_op_test.cc", | |
| "test": "ContribOpGatedRMSNormTest.Float16_PerHead" | |
| }, | |
| "attrs": { "epsilon": 0.000001 }, | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [1, 4, 4096], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float16", | |
| "shape": [128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [1, 4, 4096], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.19, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [1, 4, 4096], "tolerance": 0.0005, "relTolerance": 0.002 } } | |
| }, | |
| { | |
| "name": "ort_float16_prefill", | |
| "provenance": { | |
| "source": "ORT: onnxruntime/test/contrib_ops/linear_attention_gates_op_test.cc", | |
| "test": "ContribOpGatedRMSNormTest.Float16_Prefill", | |
| "notes": "Batch 2, sequence 17: an odd token count so the row count is not a multiple of the rows a workgroup carries." | |
| }, | |
| "attrs": { "epsilon": 0.000001 }, | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [2, 17, 4096], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.061, "cosStep": 0.257 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float16", | |
| "shape": [128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [2, 17, 4096], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.09, "cosStep": 0.23, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [2, 17, 4096], "tolerance": 0.0005, "relTolerance": 0.002 } } | |
| }, | |
| { | |
| "name": "ort_float16_small_norm_size", | |
| "provenance": { | |
| "source": "ORT: onnxruntime/test/contrib_ops/linear_attention_gates_op_test.cc", | |
| "test": "ContribOpGatedRMSNormTest.Float16_SmallNormSize", | |
| "notes": "A 48-element span: a multiple of four but not of the lane group a wide row would use, so the trailing lanes of the group fold nothing." | |
| }, | |
| "attrs": { "epsilon": 0.000001 }, | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [1, 4, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.33 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float16", | |
| "shape": [48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.41, "cosStep": 0.07, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [1, 4, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.27, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [1, 4, 384], "tolerance": 0.0005, "relTolerance": 0.002 } } | |
| }, | |
| { | |
| "name": "ort_float16_large_norm_size", | |
| "provenance": { | |
| "source": "ORT: onnxruntime/test/contrib_ops/linear_attention_gates_op_test.cc", | |
| "test": "ContribOpGatedRMSNormTest.Float16_LargeNormSize" | |
| }, | |
| "attrs": { "epsilon": 0.000001 }, | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [1, 2, 3072], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.053 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float16", | |
| "shape": [1536], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.029, "cosStep": 0.013, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [1, 2, 3072], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.037, "cosStep": 0.071, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [1, 2, 3072], "tolerance": 0.0008, "relTolerance": 0.003 } } | |
| }, | |
| { | |
| "name": "rank1_decode_row", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.21, "cosStep": 0.39 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.47, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [128], "tolerance": 0.000002, "relTolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "rank2_many_rows", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [512, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.043, "cosStep": 0.121 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [512, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.083, "cosStep": 0.151, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [512, 256], "tolerance": 0.000002, "relTolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "rank4_batched_multi_group", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [2, 3, 4, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.067, "cosStep": 0.139 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float16", | |
| "shape": [64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.29, "cosStep": 0.17, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [2, 3, 4, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.101, "cosStep": 0.211, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [2, 3, 4, 256], "tolerance": 0.0005, "relTolerance": 0.002 } } | |
| }, | |
| { | |
| "name": "scale_spelled_leading_one", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [8, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.31, "cosStep": 0.09 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [1, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [8, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.15, "cosStep": 0.53, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [8, 128], "tolerance": 0.000002, "relTolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "scale_spelled_trailing_one", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [8, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.31, "cosStep": 0.09 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [128, 1], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [8, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.15, "cosStep": 0.53, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [8, 128], "tolerance": 0.000002, "relTolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "span_six_scalar_route", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [5, 12], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.27, "cosStep": 0.61 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [6], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.44, "cosStep": 0.22, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [5, 12], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.35, "cosStep": 0.14, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [5, 12], "tolerance": 0.000002, "relTolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "span_one_single_lane_fold", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [3, 4], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.51, "cosStep": 0.13 } | |
| }, | |
| "scaleT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.75] } }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [3, 4], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.63, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [3, 4], "tolerance": 0.000002, "relTolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "span_four_single_word", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [16, 4], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.47, "cosStep": 0.23 } | |
| }, | |
| "scaleT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.5, 1.25, -0.75, 2.0] } }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [16, 4], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.29, "cosStep": 0.71, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [16, 4], "tolerance": 0.000002, "relTolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "span_four_single_word_f16", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [16, 4], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.47, "cosStep": 0.23 } | |
| }, | |
| "scaleT": { "dtype": "float16", "shape": [4], "data": { "kind": "values", "values": [0.5, 1.25, -0.75, 2.0] } }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [16, 4], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.29, "cosStep": 0.71, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [16, 4], "tolerance": 0.0005, "relTolerance": 0.002 } } | |
| }, | |
| { | |
| "name": "epsilon_dominates_statistic", | |
| "attrs": { "epsilon": 100 }, | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [4, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.33, "cosStep": 0.77 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.21, "cosStep": 0.49, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [4, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.57, "cosStep": 0.17, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [4, 16], "tolerance": 0.000002, "relTolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "gate_saturating_tails", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [4, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.25, "cosStep": 0.55 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.15, "cosStep": 0.35, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [4, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.45, "cosStep": 0.85, "scale": 12.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [4, 64], "tolerance": 0.000002, "relTolerance": 0.00002 } } | |
| }, | |
| { | |
| "name": "span_2048_two_words_per_lane", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [4, 2048], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.047 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [2048], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.007, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [4, 2048], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.023, "cosStep": 0.059, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [4, 2048], "tolerance": 0.000004, "relTolerance": 0.00004 } } | |
| }, | |
| { | |
| "name": "span_16384_streaming_route", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [2, 16384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.0031, "cosStep": 0.0079 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [16384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.0011, "cosStep": 0.0023, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [2, 16384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.0043, "cosStep": 0.0017, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [2, 16384], "tolerance": 0.00001, "relTolerance": 0.0001 } } | |
| }, | |
| { | |
| "name": "span_16384_streaming_route_f16", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [2, 16384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.0031, "cosStep": 0.0079 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float16", | |
| "shape": [16384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.0011, "cosStep": 0.0023, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [2, 16384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.0043, "cosStep": 0.0017, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [2, 16384], "tolerance": 0.0008, "relTolerance": 0.003 } } | |
| }, | |
| { | |
| "name": "wide_subgroup_span_1026_rows_3_wg_256", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [3, 1026], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.047 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [1026], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.007, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [3, 1026], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.023, "cosStep": 0.059, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [3, 1026], "tolerance": 0.000004, "relTolerance": 0.00004 } }, | |
| "tunables": { "WORKGROUP_SIZE": 256 } | |
| }, | |
| { | |
| "name": "wide_subgroup_span_1028_rows_3_wg_256", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [3, 1028], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.047 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [1028], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.007, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [3, 1028], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.023, "cosStep": 0.059, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [3, 1028], "tolerance": 0.000004, "relTolerance": 0.00004 } }, | |
| "tunables": { "WORKGROUP_SIZE": 256 } | |
| }, | |
| { | |
| "name": "wide_subgroup_span_2050_rows_3_wg_64", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [3, 2050], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.047 } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [2050], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.007, "scale": 0.5, "offset": 1.0 } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [3, 2050], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.023, "cosStep": 0.059, "scale": 2.0 } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [3, 2050], "tolerance": 0.000004, "relTolerance": 0.00004 } }, | |
| "tunables": { "WORKGROUP_SIZE": 64 } | |
| }, | |
| { | |
| "name": "short_scalar_float32_c1_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [257, 1], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [1], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [257, 1], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [257, 1], "tolerance": 0.000002, "relTolerance": 0.00002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float32_c2_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [257, 2], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [2], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [257, 2], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [257, 2], "tolerance": 0.000002, "relTolerance": 0.00002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float32_c3_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [257, 3], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [3], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [257, 3], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [257, 3], "tolerance": 0.000002, "relTolerance": 0.00002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float32_c5_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [257, 5], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [5], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [257, 5], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [257, 5], "tolerance": 0.000002, "relTolerance": 0.00002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float32_c6_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [257, 6], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [6], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [257, 6], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [257, 6], "tolerance": 0.000002, "relTolerance": 0.00002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float32_c7_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [257, 7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [257, 7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [257, 7], "tolerance": 0.000002, "relTolerance": 0.00002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float32_c8_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [257, 8], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [8], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [257, 8], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [257, 8], "tolerance": 0.000002, "relTolerance": 0.00002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float32_c9_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [257, 9], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [9], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [257, 9], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [257, 9], "tolerance": 0.000002, "relTolerance": 0.00002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float16_c3_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [257, 3], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float16", | |
| "shape": [3], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [257, 3], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [257, 3], "tolerance": 0.0005, "relTolerance": 0.002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float16_c5_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [257, 5], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float16", | |
| "shape": [5], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [257, 5], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [257, 5], "tolerance": 0.0005, "relTolerance": 0.002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float16_c6_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [257, 6], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float16", | |
| "shape": [6], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [257, 6], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [257, 6], "tolerance": 0.0005, "relTolerance": 0.002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float16_c7_r257", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [257, 7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float16", | |
| "shape": [7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [257, 7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [257, 7], "tolerance": 0.0005, "relTolerance": 0.002 } }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float32_c7_r65_wg64_words4", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [65, 7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [65, 7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [65, 7], "tolerance": 0.000002, "relTolerance": 0.00002 } }, | |
| "tunables": { "WORKGROUP_SIZE": 64, "LANE_WORDS": 4 }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float16_c7_r65_wg64_words4", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float16", | |
| "shape": [65, 7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float16", | |
| "shape": [7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float16", | |
| "shape": [65, 7], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float16", "shape": [65, 7], "tolerance": 0.0005, "relTolerance": 0.002 } }, | |
| "tunables": { "WORKGROUP_SIZE": 64, "LANE_WORDS": 4 }, | |
| "provenance": { | |
| "notes": "Short scalar row schedule: mixed magnitudes, signed and zero scale, SiLU tails, and rows on either side of a workgroup boundary, with float32 intermediates at the default dtype tolerances; spans eight/nine cover the staging boundary." | |
| } | |
| }, | |
| { | |
| "name": "short_scalar_float32_c6_r3_wg1_words1", | |
| "inputs": { | |
| "xT": { | |
| "dtype": "float32", | |
| "shape": [3, 6], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_x" } } | |
| }, | |
| "scaleT": { | |
| "dtype": "float32", | |
| "shape": [6], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_scale" } } | |
| }, | |
| "gateT": { | |
| "dtype": "float32", | |
| "shape": [3, 6], | |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/short_scalar_gate" } } | |
| } | |
| }, | |
| "outputs": { "yT": { "dtype": "float32", "shape": [3, 6], "tolerance": 0.000002, "relTolerance": 0.00002 } }, | |
| "tunables": { "WORKGROUP_SIZE": 1, "LANE_WORDS": 1 }, | |
| "provenance": { | |
| "notes": "Three rows of 6 float32 channels each, processed one lane per row; checks correctness at the smallest possible per-row lane allocation, below the width where multiple lanes would cooperate on one row." | |
| } | |
| } | |
| ], | |
| "fixtureArrays": { | |
| "short_scalar_x": [-0.0009765625, 0.5, -1, 2, 8, -16, 64], | |
| "short_scalar_scale": [-1, 0, 0.125, 1.5, -2], | |
| "short_scalar_gate": [-80, -4, -1, 0, 1, 4, 80] | |
| } | |
| } | |