Xenova's picture
Xenova HF Staff
sync 2e7068faf55e
df3596d verified
Raw
History Blame
42.1 kB
{
"op": "ai.onnx.ReduceSumSquare",
"fixtureArrays": {
"rank3_axis1_middle_no_keepdims_input_x": [-1, 2, -3, 4, 0.5, -0.5, 1.5, -1.5, 5, -6, 7, -8, -2, 0, 3, -4, 9, -10, 0.25, -0.75, -1.25, 2.25, -3.25, 4.25]
},
"cases": [
{
"name": "int32_axis0_splitk_8192x2",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "dtype": "int32", "shape": [8192, 2], "data": { "kind": "cycle", "values": [1, -1, 2, -2] } } },
"outputs": { "y": { "dtype": "int32", "shape": [2], "tolerance": 0 } }
},
{
"name": "all_axes_flat_rank1_boundary_8192",
"provenance": {
"notes": "The parallel full-reduction threshold must supersede the rank1 serial and row-reduction fallbacks."
},
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [8192], "data": { "kind": "constant", "value": 1.0 } } },
"outputs": { "y": { "dtype": "float32", "shape": [], "tolerance": 0 } }
},
{
"name": "all_axes_flat_fullreduce_32x32x32_keepdims",
"attrs": { "keepdims": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [32, 32, 32],
"data": { "kind": "fillFloat32", "sinStep": 0.013, "cosStep": 0.027, "scale": 0.5 }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1], "tolerance": 0.1, "relTolerance": 0.0001 } }
},
{
"name": "dispatch_cliff_axis1_rank2",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [16776961, 1],
"data": { "kind": "fillFloat32", "sinStep": 0.0009765625, "cosStep": 0.00048828125, "scale": 0.25 }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [16776961], "tolerance": 0.0001 } }
},
{
"name": "axis0",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3],
"data": { "kind": "values", "values": [-1.0, 2.0, -3.0, 4.0, -5.0, 6.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0.000001 } }
},
{
"name": "axis0_tiled_64x32",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [64, 32],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [32], "tolerance": 0.00002 } }
},
{
"name": "f32_normal_inputs_subnormal_square_sum_axis0_tilecols_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare",
"notes": "Tiled axis-0 companion: 64 normal tiny inputs produce a finite subnormal square-sum per column."
},
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [64, 16], "data": { "kind": "constant", "value": 1e-20 } } },
"outputs": {
"y": { "dtype": "float32", "shape": [16], "tolerance": 5e-44, "data": { "kind": "constant", "value": 6.4e-39 } }
}
},
{
"name": "axis1",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3],
"data": { "kind": "values", "values": [-1.0, 2.0, -3.0, 4.0, -5.0, 6.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2], "tolerance": 0.000001 } }
},
{
"name": "f32_normal_inputs_subnormal_square_sum_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare",
"notes": "Inputs are normal float32 values, but their squares and row sums are finite subnormals; the square/reduction path must preserve them."
},
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3],
"data": { "kind": "values", "values": [1e-20, -1e-20, 0.0, 2e-20, -2e-20, 1e-20] }
}
},
"outputs": {
"y": {
"dtype": "float32",
"shape": [2],
"tolerance": 6e-45,
"data": { "kind": "values", "values": [2e-40, 9e-40] }
}
}
},
{
"name": "f32_normal_inputs_subnormal_square_sum_axis0_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare",
"notes": "Axis-0 companion: normal inputs with finite subnormal square sums should not reduce to zero."
},
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2],
"data": { "kind": "values", "values": [1e-20, -1e-20, -1e-20, 0.0, 0.0, 2e-20] }
}
},
"outputs": {
"y": {
"dtype": "float32",
"shape": [2],
"tolerance": 6e-45,
"data": { "kind": "values", "values": [2e-40, 5e-40] }
}
}
},
{
"name": "f32_many_tiny_normals_square_sum_to_normal_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare",
"notes": "Many tiny normal inputs have individually subnormal squares but a normal finite square-sum; flushing intermediate squares loses the reduction."
},
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [1, 1024], "data": { "kind": "constant", "value": 1e-20 } } },
"outputs": { "y": { "dtype": "float32", "shape": [1], "tolerance": 1e-42 } }
},
{
"name": "f32_normal_inputs_subnormal_square_sum_last_axis_vec4_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare",
"notes": "Vec4 last-axis companion: normal tiny inputs should produce finite subnormal square sums."
},
"attrs": { "axes": [-1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 4],
"data": { "kind": "values", "values": [1e-20, -1e-20, 0.0, 0.0, 2e-20, 0.0, 0.0, 0.0] }
}
},
"outputs": {
"y": {
"dtype": "float32",
"shape": [2],
"tolerance": 6e-45,
"data": { "kind": "values", "values": [2e-40, 4e-40] }
}
}
},
{
"name": "f32_normal_inputs_subnormal_square_sum_last_axis_odd_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare",
"notes": "Odd-width last-axis companion: normal tiny values should produce finite subnormal square sums in the non-vec4 subgroup reducer."
},
"attrs": { "axes": [-1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3],
"data": { "kind": "values", "values": [1e-20, -1e-20, 0.0, 2e-20, -2e-20, 1e-20] }
}
},
"outputs": {
"y": {
"dtype": "float32",
"shape": [2],
"tolerance": 6e-45,
"data": { "kind": "values", "values": [2e-40, 9e-40] }
}
}
},
{
"name": "f32_normal_inputs_subnormal_square_sum_rank3_axis1_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare",
"notes": "Rank-3 axis-1 companion: normal tiny values should produce finite subnormal square sums through middle-axis indexing."
},
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3, 2],
"data": {
"kind": "values",
"values": [1e-20, -1e-20, -1e-20, 0.0, 0.0, 2e-20, 2e-20, 0.0, 0.0, -2e-20, 1e-20, 0.0]
}
}
},
"outputs": {
"y": {
"dtype": "float32",
"shape": [2, 2],
"tolerance": 6e-45,
"data": { "kind": "values", "values": [2e-40, 5e-40, 5e-40, 4e-40] }
}
}
},
{
"name": "f32_normal_inputs_subnormal_square_sum_rank3_all_axes_scalar_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare_default_axes_do_not_keep_dims",
"notes": "Rank-3 default-axes companion: normal tiny values should produce a finite subnormal square-sum scalar."
},
"attrs": { "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [2, 3, 2], "data": { "kind": "constant", "value": 1e-20 } } },
"outputs": {
"y": { "dtype": "float32", "shape": [], "tolerance": 1e-44, "data": { "kind": "values", "values": [1.2e-39] } }
}
},
{
"name": "f32_normal_inputs_subnormal_square_sum_rank3_all_axes_keepdims_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare_default_axes_keepdims",
"notes": "Rank-3 default-axes keepdims companion: normal tiny values should produce a finite subnormal square-sum in shape [1,1,1]."
},
"attrs": { "keepdims": 1 },
"inputs": { "x": { "dtype": "float32", "shape": [2, 3, 2], "data": { "kind": "constant", "value": 1e-20 } } },
"outputs": {
"y": {
"dtype": "float32",
"shape": [1, 1, 1],
"tolerance": 1e-44,
"data": { "kind": "values", "values": [1.2e-39] }
}
}
},
{
"name": "axis1_empty_cols_identity_zero",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [2, 0], "data": { "kind": "values", "values": [] } } },
"outputs": { "y": { "dtype": "float32", "shape": [2], "tolerance": 0 } }
},
{
"name": "axis0_empty_rows_identity_zero",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [0, 3], "data": { "kind": "values", "values": [] } } },
"outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0 } }
},
{
"name": "axis1_zero_rows_noop",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [0, 3], "data": { "kind": "values", "values": [] } } },
"outputs": { "y": { "dtype": "float32", "shape": [0], "tolerance": 0 } }
},
{
"name": "axis_minus_one_keepdims",
"attrs": { "axes": [-1], "keepdims": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3],
"data": { "kind": "values", "values": [-1.0, 2.0, -3.0, 4.0, -5.0, 6.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2, 1], "tolerance": 0.000001 } }
},
{
"name": "rank3_axis1_middle_no_keepdims",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/rank3_axis1_middle_no_keepdims_input_x" } }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2, 4], "tolerance": 0.000001 } }
},
{
"name": "ort_empty_rank3_middle_axis_keepdims",
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.empty_set_ReduceSumSquare_13"
},
"attrs": { "axes": [1], "keepdims": 1 },
"inputs": { "x": { "dtype": "float32", "shape": [2, 0, 4], "data": { "kind": "values", "values": [] } } },
"outputs": { "y": { "dtype": "float32", "shape": [2, 1, 4], "tolerance": 0 } }
},
{
"name": "rank4_axis1_channel_no_keepdims",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 4, 3, 2],
"data": {
"kind": "values",
"values": [1.0, -2.0, 3.0, -4.0, 5.0, -6.0, -1.0, 2.0, -3.0, 4.0, -5.0, 6.0, 0.5, -1.5, 2.5, -3.5, 4.5, -5.5, -0.5, 1.5, -2.5, 3.5, -4.5, 5.5, 6.0, -7.0, 8.0, -9.0, 10.0, -11.0, -6.0, 7.0, -8.0, 9.0, -10.0, 11.0, 1.25, -2.25, 3.25, -4.25, 5.25, -6.25, -1.25, 2.25, -3.25, 4.25, -5.25, 6.25]
}
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2, 3, 2], "tolerance": 0.000001 } }
},
{
"name": "rank1_axis0_scalar_output",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": {
"x": { "dtype": "float32", "shape": [5], "data": { "kind": "values", "values": [-2.0, 3.0, -4.0, 0.5, 1.5] } }
},
"outputs": { "y": { "dtype": "float32", "shape": [], "tolerance": 0.000001 } }
},
{
"name": "ort_axis1_rank3_no_keepdims",
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare_do_not_keepdims"
},
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [3, 2], "tolerance": 0.000001 } }
},
{
"name": "ort_axis1_rank3_keepdims",
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare_keepdims"
},
"attrs": { "axes": [1], "keepdims": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [3, 1, 2], "tolerance": 0.000001 } }
},
{
"name": "ort_axis0_rank1_scalar",
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare_do_not_keepdims_2"
},
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [3], "data": { "kind": "values", "values": [1.0, 2.0, 3.0] } } },
"outputs": { "y": { "dtype": "float32", "shape": [], "tolerance": 0.000001 } }
},
{
"name": "ort_rank0_scalar",
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare0DTensor"
},
"inputs": { "x": { "dtype": "float32", "shape": [], "data": { "kind": "values", "values": [2.0] } } },
"outputs": { "y": { "dtype": "float32", "shape": [], "tolerance": 0 } }
},
{
"name": "onnx_backend_reduce_sum_square_do_not_keepdims_example",
"attrs": { "keepdims": 0, "axes": [1] },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [3, 2] } },
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_reduce_sum_square_do_not_keepdims_example",
"notes": "The ONNX int64 axes input is materialized as this compile-time axes list."
}
},
{
"name": "onnx_backend_reduce_sum_square_do_not_keepdims_random",
"attrs": { "keepdims": 0, "axes": [1] },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": {
"kind": "values",
"values": [0.9762700796127319, 4.3037872314453125, 2.055267572402954, 0.8976636528968811, -1.5269039869308472, 2.917882204055786, -1.248255729675293, 7.835460186004639, 9.273255348205566, -2.331169605255127, 5.834500789642334, 0.577898383140564]
}
}
},
"outputs": { "y": { "dtype": "float32", "shape": [3, 2] } },
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_reduce_sum_square_do_not_keepdims_random",
"notes": "The ONNX int64 axes input is materialized as this compile-time axes list."
}
},
{
"name": "onnx_backend_reduce_sum_square_empty_set",
"attrs": { "keepdims": 1, "axes": [1] },
"inputs": { "x": { "dtype": "float32", "shape": [2, 0, 4], "data": { "kind": "values", "values": [] } } },
"outputs": { "y": { "dtype": "float32", "shape": [2, 1, 4] } },
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_reduce_sum_square_empty_set",
"notes": "The ONNX int64 axes input is materialized as this compile-time axes list."
}
},
{
"name": "onnx_backend_reduce_sum_square_keepdims_example",
"attrs": { "keepdims": 1, "axes": [1] },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [3, 1, 2] } },
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_reduce_sum_square_keepdims_example",
"notes": "The ONNX int64 axes input is materialized as this compile-time axes list."
}
},
{
"name": "onnx_backend_reduce_sum_square_keepdims_random",
"attrs": { "keepdims": 1, "axes": [1] },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": {
"kind": "values",
"values": [0.9762700796127319, 4.3037872314453125, 2.055267572402954, 0.8976636528968811, -1.5269039869308472, 2.917882204055786, -1.248255729675293, 7.835460186004639, 9.273255348205566, -2.331169605255127, 5.834500789642334, 0.577898383140564]
}
}
},
"outputs": { "y": { "dtype": "float32", "shape": [3, 1, 2] } },
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_reduce_sum_square_keepdims_random",
"notes": "The ONNX int64 axes input is materialized as this compile-time axes list."
}
},
{
"name": "onnx_backend_reduce_sum_square_negative_axes_keepdims_example",
"attrs": { "keepdims": 1, "axes": [-2] },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [3, 1, 2] } },
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_reduce_sum_square_negative_axes_keepdims_example",
"notes": "The ONNX int64 axes input is materialized as this compile-time axes list."
}
},
{
"name": "onnx_backend_reduce_sum_square_negative_axes_keepdims_random",
"attrs": { "keepdims": 1, "axes": [-2] },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": {
"kind": "values",
"values": [0.9762700796127319, 4.3037872314453125, 2.055267572402954, 0.8976636528968811, -1.5269039869308472, 2.917882204055786, -1.248255729675293, 7.835460186004639, 9.273255348205566, -2.331169605255127, 5.834500789642334, 0.577898383140564]
}
}
},
"outputs": { "y": { "dtype": "float32", "shape": [3, 1, 2] } },
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_reduce_sum_square_negative_axes_keepdims_random",
"notes": "The ONNX int64 axes input is materialized as this compile-time axes list."
}
},
{
"name": "ort_default_axes_rank3_no_keepdims_scalar",
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare_default_axes_do_not_keep_dims",
"notes": "Default axes reduce all input dimensions to a rank-0 scalar when keepdims=0."
},
"attrs": { "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [], "tolerance": 0 } }
},
{
"name": "onnx_backend_reduce_sum_square_default_axes_keepdims_example",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_reduce_sum_square_default_axes_keepdims_example"
},
"attrs": { "keepdims": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1] } }
},
{
"name": "onnx_backend_reduce_sum_square_default_axes_keepdims_random",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_reduce_sum_square_default_axes_keepdims_random"
},
"attrs": { "keepdims": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": {
"kind": "values",
"values": [0.9762700796127319, 4.3037872314453125, 2.055267572402954, 0.8976636528968811, -1.5269039869308472, 2.917882204055786, -1.248255729675293, 7.835460186004639, 9.273255348205566, -2.331169605255127, 5.834500789642334, 0.577898383140564]
}
}
},
"outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1] } }
},
{
"name": "subgroup_vec4_last_axis_2x256",
"attrs": { "axes": [-1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 256],
"data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29 }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2], "tolerance": 0.0002, "relTolerance": 0.0001 } }
},
{
"name": "subgroup_scalar_last_axis_2x65",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 65],
"data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.11 }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2], "tolerance": 0.0002, "relTolerance": 0.0001 } }
},
{
"name": "ort_noop_empty_axes_2d_elementwise_square",
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare_NoopWithEmptyAxes_2D_ElementwiseSquare"
},
"attrs": { "noop_with_empty_axes": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3],
"data": { "kind": "values", "values": [-1.0, 2.0, -3.0, 0.5, -0.5, 4.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2, 3], "tolerance": 0 } }
},
{
"name": "ort_noop_empty_axes_scalar_square",
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare_NoopWithEmptyAxes_Scalar"
},
"attrs": { "noop_with_empty_axes": 1 },
"inputs": { "x": { "dtype": "float32", "shape": [], "data": { "kind": "values", "values": [-3.0] } } },
"outputs": { "y": { "dtype": "float32", "shape": [], "tolerance": 0 } }
},
{
"name": "ort_noop_empty_axes_3d_elementwise_square",
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare_NoopWithEmptyAxes_3D_ElementwiseSquare"
},
"attrs": { "noop_with_empty_axes": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 1, 3],
"data": { "kind": "values", "values": [-1.0, 2.0, -3.0, 0.5, -0.5, 4.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2, 1, 3], "tolerance": 0 } }
},
{
"name": "ort_int32_multi_axis_keepdims",
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare_int32"
},
"attrs": { "axes": [0, 2], "keepdims": 1 },
"inputs": {
"x": {
"dtype": "int32",
"shape": [3, 2, 2],
"data": { "kind": "values", "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] }
}
},
"outputs": {
"y": {
"dtype": "int32",
"shape": [1, 2, 1],
"data": { "kind": "values", "values": [247, 403] },
"tolerance": 0
}
}
},
{
"name": "ort_int32_square_overflow_saturates_gpu_gap",
"skipGpu": {
"category": "todo",
"reason": "The current integer reduction route uses an i32 accumulator, so it cannot reproduce the fixture's widened intermediate arithmetic and final int32 saturation. A portable multiword accumulator can implement this behavior."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare_int32_Overflow_Saturates"
},
"attrs": { "axes": [0], "keepdims": 1 },
"inputs": { "x": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [50000, 50000] } } },
"outputs": {
"y": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [2147483647] }, "tolerance": 0 }
}
},
{
"name": "ort_float_multi_axis_keepdims",
"provenance": {
"source": "onnxruntime/test/providers/cpu/reduction/reduction_ops_test.cc",
"test": "ReductionOpTest.ReduceSumSquare"
},
"attrs": { "axes": [0, 2], "keepdims": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 2, 2],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0] }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [1, 2, 1], "tolerance": 0.000001 } }
},
{
"name": "rank3_lastaxis_cols1024_tree_nosubgroup",
"attrs": { "axes": [2], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 2, 1024],
"data": {
"kind": "cycle",
"values": [1.0, -2.0, 0.5, 3.25, -1.5, 2.0, -0.75, 4.0, -3.5, 1.25, 0.0, -2.25, 5.0, -4.0, 2.75, -1.0]
}
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.00001 } }
},
{
"name": "axis0_splitk_8192x32",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [8192, 32],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [32], "tolerance": 0.001 } }
},
{
"name": "axis0_splitk_8192x48_keepdims",
"attrs": { "axes": [0], "keepdims": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [8192, 48],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [1, 48], "tolerance": 0.001 } }
},
{
"name": "rank3_axis0_no_keepdims",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/rank3_axis1_middle_no_keepdims_input_x" } }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [3, 4], "tolerance": 0.000001 } }
},
{
"name": "rank3_axis0_keepdims",
"attrs": { "axes": [0], "keepdims": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/rank3_axis1_middle_no_keepdims_input_x" } }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [1, 3, 4], "tolerance": 0.000001 } }
},
{
"name": "rank4_axis0_no_keepdims",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 2, 3, 2],
"data": {
"kind": "values",
"values": [1.0, -2.0, 3.0, -4.0, 5.0, -6.0, -1.0, 2.0, -3.0, 4.0, -5.0, 6.0, 0.5, -1.5, 2.5, -3.5, 4.5, -5.5, -0.5, 1.5, -2.5, 3.5, -4.5, 5.5]
}
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2, 3, 2], "tolerance": 0.000001 } }
},
{
"name": "rank4_lastaxis_vec4_keepdims",
"attrs": { "axes": [-1], "keepdims": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3, 4, 8],
"data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2, 3, 4, 1], "tolerance": 0.0002, "relTolerance": 0.0001 } }
},
{
"name": "rank4_multi_axis_12_keepdims",
"attrs": { "axes": [1, 2], "keepdims": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3, 2, 2],
"data": {
"kind": "values",
"values": [0.5, -1.0, 2.0, -0.25, 1.5, 0.75, -2.0, 1.0, 0.125, -0.5, 3.0, -1.5, 0.25, 2.5, -0.75, 1.25, -3.0, 0.5, 2.0, -1.0, 0.75, -0.25, 1.5, -2.5]
}
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2, 1, 1, 2], "tolerance": 0.001 } }
},
{
"name": "noop_empty_axes_squares_negative_input",
"attrs": { "noop_with_empty_axes": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 3],
"data": { "kind": "values", "values": [-3.0, 2.0, -1.0, 0.0, -4.0, 5.0] }
}
},
"outputs": {
"y": {
"dtype": "float32",
"shape": [2, 3],
"data": { "kind": "values", "values": [9.0, 4.0, 1.0, 0.0, 16.0, 25.0] },
"tolerance": 0
}
}
},
{
"name": "axis0_splitk_combine_no_spurious_finalization",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [8192, 16], "data": { "kind": "constant", "value": 2.0 } } },
"outputs": {
"y": { "dtype": "float32", "shape": [16], "data": { "kind": "constant", "value": 32768.0 }, "tolerance": 0.01 }
}
},
{
"name": "int32_sumsquare_small_values_exact",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "int32",
"shape": [3, 4],
"data": { "kind": "values", "values": [1, -2, 3, -4, 5, -6, 7, -8, -3, 4, -5, 6] }
}
},
"outputs": {
"y": { "dtype": "int32", "shape": [3], "data": { "kind": "values", "values": [30, 174, 86] }, "tolerance": 0 }
}
},
{
"name": "axis0_narrow_f32_8192x3_splitk_guard_lock",
"provenance": {
"notes": "Compact lock below the historical 16-column split-K guard. Constant ones make square accumulation exactly 8192."
},
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "dtype": "float32", "shape": [8192, 3], "data": { "kind": "constant", "value": 1.0 } } },
"outputs": { "y": { "dtype": "float32", "shape": [3], "tolerance": 0 } }
},
{
"name": "contiguous_suffix_axes12_parallel",
"provenance": {
"notes": "Contiguous axes {1,2} exercise the shared cooperative suffix reduction instead of one serial lane per output."
},
"attrs": { "axes": [1, 2], "keepdims": 1 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [3, 16, 16],
"data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [3, 1, 1], "tolerance": 0.00001 } }
},
{
"name": "axis_split_rank3_axis1_2x8192x4",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 8192, 4],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2, 4], "tolerance": 0.001 } }
},
{
"name": "f16_axis_split_tiled_narrow_2x8192x4",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float16",
"shape": [2, 8192, 4],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float16", "shape": [2, 4], "tolerance": 0.05, "relTolerance": 0.01 } }
},
{
"name": "axis_split_rank3_axis1_wide_2x8192x32",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float32",
"shape": [2, 8192, 32],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float32", "shape": [2, 32], "tolerance": 0.001 } }
},
{
"name": "f16_axis_split_wide_2x8192x32",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float16",
"shape": [2, 8192, 32],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float16", "shape": [2, 32], "tolerance": 0.05, "relTolerance": 0.01 } }
},
{
"name": "f16_rank3_axis1_serial",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float16",
"shape": [2, 3, 4],
"data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/rank3_axis1_middle_no_keepdims_input_x" } }
}
},
"outputs": { "y": { "dtype": "float16", "shape": [2, 4], "tolerance": 0.05 } }
},
{
"name": "f16_last_axis_serial_fallback",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float16",
"shape": [2, 65],
"data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.11 }
}
},
"outputs": { "y": { "dtype": "float16", "shape": [2], "tolerance": 0.05, "relTolerance": 0.0001 } }
},
{
"name": "f16_all_axes",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": { "x": { "dtype": "float16", "shape": [8192], "data": { "kind": "constant", "value": 1.0 } } },
"outputs": { "y": { "dtype": "float16", "shape": [], "tolerance": 0.05 } }
},
{
"name": "f16_axis0_splitk_8192x8",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float16",
"shape": [8192, 8],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float16", "shape": [8], "tolerance": 0.05, "relTolerance": 0.002 } }
},
{
"name": "f16_last_axis_vec4_8x1024",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float16",
"shape": [8, 1024],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float16", "shape": [8], "tolerance": 0.05, "relTolerance": 0.002 } }
},
{
"name": "f16_last_axis_scalar_8x1023",
"attrs": { "axes": [1], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float16",
"shape": [8, 1023],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float16", "shape": [8], "tolerance": 0.05, "relTolerance": 0.002 } }
},
{
"name": "f16_all_axes_flat_65543",
"attrs": { "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float16",
"shape": [65543],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float16", "shape": [], "tolerance": 0.05, "relTolerance": 0.002 } }
},
{
"name": "f16_suffix_vec4_4x8x128",
"attrs": { "axes": [1, 2], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float16",
"shape": [4, 8, 128],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float16", "shape": [4], "tolerance": 0.05, "relTolerance": 0.002 } }
},
{
"name": "f16_suffix_scalar_4x7x37",
"attrs": { "axes": [1, 2], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float16",
"shape": [4, 7, 37],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float16", "shape": [4], "tolerance": 0.05, "relTolerance": 0.002 } }
},
{
"name": "f16_axis0_tilecols_4096x64",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "float16",
"shape": [4096, 64],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.07, "scale": 0.2 }
}
},
"outputs": { "y": { "dtype": "float16", "shape": [64], "tolerance": 0.05, "relTolerance": 0.002 } }
},
{
"name": "int32_axis0_tiled_64x32",
"attrs": { "axes": [0], "keepdims": 0 },
"inputs": {
"x": {
"dtype": "int32",
"shape": [64, 32],
"data": { "kind": "cycle", "values": [4099, -3, 5, 4093, -7, 11, 2] }
}
},
"outputs": { "y": { "dtype": "int32", "shape": [32], "tolerance": 0 } }
}
]
}