{ "fixtureArrays": { "dp4a_s8_pattern": [-128, 127, 0, -1, 56, -77, 3, 100, -100, 42, -5, 19, -64, 88, -33, 7, 125, -90], "dp4a_u8_pattern": [0, 255, 128, 7, 200, 31, 129, 64, 99, 3, 254, 127, 1, 88, 173, 240, 16, 5], "ort_u8s8_per_column_batched_zero_point_input_b": [0, -8, 2, 3, -11, -13, -8, 1, 2, 4, 4, -10, 3, 2, -11, 2, 0, -8, 2, 3, -11, -13, -8, 1, 2, 4, 4, -10, 3, 2, -11, 2], "dp4a_u8u8_k64_no_zero_points_input_b": [7, 200, 31, 129, 64, 99, 3, 254, 127, 1, 88, 173, 240, 16, 5, 0, 255, 128], "dp4a_s8s8_k260_both_zero_points_tails_input_b": [-77, 3, 100, -100, 42, -5, 19, -64, 88, -33, 7, 125, -90, -128, 127, 0, -1, 56], "dp4a_u8u8_k260_both_zero_points_tails_input_b": [64, 99, 3, 254, 127, 1, 88, 173, 240, 16, 5, 0, 255, 128, 7, 200, 31, 129], "ort_s8s8_a_nd_by_b_nd_scalar_zero_points_input_a": [-3, 7, 5, -6, 4, -5, 8, 7, -3, 7, 5, -6, 4, -5, 8, 7], "ort_s8s8_a_nd_by_b_nd_scalar_zero_points_output_y": [-55, 16, 89, -44, 122, 154, 68, -39, -55, 16, 89, -44, 122, 154, 68, -39], "dp4a_tail_k130_rank2_u8u8_scalar_zp_exact_input_a": [0, 255, 121, 7, 200, 31, 129, 64, 99, 3, 254, 127, 1, 88, 173, 240, 16, 5], "dp4a_gemv_no_zero_s8s8_m1_k64_n512_input_b": [2, -1, 3, -2, 1, 4, -3, 2, -5, 6, 0, -4, 3, 1, -2, 5, -1] }, "cases": [ { "name": "uint8_uint8_scalar_zero_points", "inputs": { "a": { "dtype": "uint8", "shape": [2, 3], "data": { "kind": "values", "values": [130, 129, 128, 127, 126, 125] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [127, 128, 129, 130, 131, 132] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [129] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2] } } }, { "name": "int8_uint8_negative_values", "inputs": { "a": { "dtype": "int8", "shape": [2, 2], "data": { "kind": "values", "values": [-3, -2, 1, 4] } }, "b": { "dtype": "uint8", "shape": [2, 3], "data": { "kind": "values", "values": [10, 20, 30, 40, 50, 60] } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-1] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [30] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 3] } } }, { "name": "ort_2d_s8s8", "inputs": { "a": { "dtype": "int8", "shape": [2, 4], "data": { "kind": "values", "values": [-3, 7, 5, -6, 4, -5, 8, 7] } }, "b": { "dtype": "int8", "shape": [4, 4], "data": { "kind": "values", "values": [5, -3, 7, 8, -6, -8, -3, 6, 7, 9, 9, -5, 8, 7, -6, 7] } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [5] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [5] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 4], "tolerance": 0 } }, "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_t" } }, { "name": "uint8_zero_k_dimension_outputs_zero", "inputs": { "a": { "dtype": "uint8", "shape": [2, 0], "data": { "kind": "values", "values": [] } }, "b": { "dtype": "uint8", "shape": [0, 3], "data": { "kind": "values", "values": [] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [17] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [23] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 3], "tolerance": 0 } } }, { "name": "int8_nonzero_zero_points_large_accumulator", "inputs": { "a": { "dtype": "int8", "shape": [2, 4], "data": { "kind": "values", "values": [127, -128, 64, -64, -1, 2, -3, 4] } }, "b": { "dtype": "int8", "shape": [4, 2], "data": { "kind": "values", "values": [-128, 127, 64, -64, 32, -32, -16, 16] } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-3] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [5] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2], "tolerance": 0 } } }, { "name": "ort_empty_m_dimension", "inputs": { "a": { "dtype": "uint8", "shape": [0, 3], "data": { "kind": "values", "values": [] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [1, 4, 2, 5, 3, 6] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [12] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [0, 2], "tolerance": 0 } }, "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_2D_empty_input" } }, { "name": "ort_1x1_u8u8_scalar_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger" }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 1], "data": { "kind": "values", "values": [11] } }, "b": { "dtype": "uint8", "shape": [1, 1], "data": { "kind": "values", "values": [13] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [12] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [12] } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1], "tolerance": 0 } } }, { "name": "ort_u8u8_zero_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_WithZero_ZeroPoint" }, "inputs": { "a": { "dtype": "uint8", "shape": [4, 3], "data": { "kind": "values", "values": [11, 7, 3, 10, 6, 2, 9, 5, 1, 8, 4, 0] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [1, 4, 2, 5, 3, 6] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [4, 2], "tolerance": 0 } } }, { "name": "ort_int8_uint8_2d_zero_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_uint8_2D" }, "inputs": { "a": { "dtype": "int8", "shape": [2, 3], "data": { "kind": "values", "values": [-3, 7, 5, 4, -5, 8] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [5, 12, 7, 2, 9, 6] } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2], "tolerance": 0 } } }, { "name": "ort_int8_uint8_2d_omitted_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_uint8_2D" }, "inputs": { "a": { "dtype": "int8", "shape": [2, 3], "data": { "kind": "values", "values": [-3, 7, 5, 4, -5, 8] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [5, 12, 7, 2, 9, 6] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2], "tolerance": 0 } } }, { "name": "only_b_zero_point_present", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "notes": "Covers ONNX optional-input behavior with a_zero_point omitted and b_zero_point supplied." }, "inputs": { "a": { "dtype": "uint8", "shape": [2, 3], "data": { "kind": "values", "values": [2, 5, 9, 11, 17, 23] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [3, 7, 13, 19, 29, 31] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2], "tolerance": 0 } } }, { "name": "only_a_zero_point_present", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "notes": "Covers ONNX optional-input behavior with b_zero_point omitted and a_zero_point supplied." }, "inputs": { "a": { "dtype": "int8", "shape": [2, 3], "data": { "kind": "values", "values": [-9, -1, 6, 13, -7, 4] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [5, 12, 7, 2, 9, 6] } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [2] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2], "tolerance": 0 } } }, { "name": "ort_int8_uint8_2d_nonzero_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_uint8_2D_WithZeroPoints" }, "inputs": { "a": { "dtype": "int8", "shape": [2, 3], "data": { "kind": "values", "values": [-3, 7, 5, 4, -5, 8] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [15, 22, 17, 12, 19, 16] } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [2] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2], "tolerance": 0 } } }, { "name": "rank1_only_b_zero_point_present", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "notes": "Covers rank-1 dot product optional-input behavior with a_zero_point omitted and b_zero_point supplied." }, "inputs": { "a": { "dtype": "uint8", "shape": [3], "data": { "kind": "values", "values": [10, 20, 30] } }, "b": { "dtype": "int8", "shape": [3], "data": { "kind": "values", "values": [1, -1, 2] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [], "tolerance": 0 } } }, { "name": "rank1_only_a_zero_point_present", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "notes": "Covers rank-1 dot product optional-input behavior with b_zero_point omitted and a_zero_point supplied." }, "inputs": { "a": { "dtype": "int8", "shape": [3], "data": { "kind": "values", "values": [-1, 2, -3] } }, "b": { "dtype": "uint8", "shape": [3], "data": { "kind": "values", "values": [10, 20, 30] } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [], "tolerance": 0 } } }, { "name": "rank1_zero_points_omitted", "provenance": { "source": "ONNX MatMulInteger-10 optional-input contract", "notes": "Completes the rank-1 dot-product presence matrix with both zero points omitted and defaulting to zero." }, "inputs": { "a": { "dtype": "uint8", "shape": [3], "data": { "kind": "values", "values": [1, 2, 3] } }, "b": { "dtype": "int8", "shape": [3], "data": { "kind": "values", "values": [4, 5, 6] } } }, "outputs": { "y": { "dtype": "int32", "shape": [], "data": { "kind": "values", "values": [32] }, "tolerance": 0 } } }, { "name": "ort_1d_dot_u8u8_rank0_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_1D_Vector_DotProduct" }, "inputs": { "a": { "dtype": "uint8", "shape": [4], "data": { "kind": "values", "values": [1, 2, 3, 4] } }, "b": { "dtype": "uint8", "shape": [4], "data": { "kind": "values", "values": [5, 6, 7, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [0] } }, "b_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [], "tolerance": 0 } } }, { "name": "ort_1d_dot_s8s8_rank0_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_1D_Vector_DotProduct_int8" }, "inputs": { "a": { "dtype": "int8", "shape": [3], "data": { "kind": "values", "values": [1, -2, 3] } }, "b": { "dtype": "int8", "shape": [3], "data": { "kind": "values", "values": [4, 5, -6] } }, "a_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [0] } }, "b_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [], "tolerance": 0 } } }, { "name": "ort_1d_dot_u8s8_rank0_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_1D_Vector_DotProduct_uint8_int8" }, "inputs": { "a": { "dtype": "uint8", "shape": [3], "data": { "kind": "values", "values": [10, 20, 30] } }, "b": { "dtype": "int8", "shape": [3], "data": { "kind": "values", "values": [1, -1, 2] } }, "a_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [0] } }, "b_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [], "tolerance": 0 } } }, { "name": "ort_1d_dot_s8u8_rank0_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_1D_Vector_DotProduct_int8_uint8" }, "inputs": { "a": { "dtype": "int8", "shape": [3], "data": { "kind": "values", "values": [-1, 2, -3] } }, "b": { "dtype": "uint8", "shape": [3], "data": { "kind": "values", "values": [10, 20, 30] } }, "a_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [0] } }, "b_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [], "tolerance": 0 } } }, { "name": "ort_int8_uint8_batched_nd_by_nd", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_uint8_A_ND_B_ND" }, "inputs": { "a": { "dtype": "int8", "shape": [2, 2, 3], "data": { "kind": "values", "values": [1, -2, 3, -1, 4, -2, 1, -2, 3, -1, 4, -2] } }, "b": { "dtype": "uint8", "shape": [2, 3, 2], "data": { "kind": "values", "values": [10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60] } }, "a_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [0] } }, "b_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 2], "data": { "kind": "values", "values": [100, 120, 10, 20, 100, 120, 10, 20] }, "tolerance": 0 } } }, { "name": "ort_int8_uint8_batched_nd_by_2d", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_uint8_A_ND_B_2D" }, "inputs": { "a": { "dtype": "int8", "shape": [2, 2, 3], "data": { "kind": "values", "values": [1, -2, 3, -1, 4, -2, 2, 0, -1, 0, 3, 1] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [10, 20, 30, 40, 50, 60] } }, "a_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [0] } }, "b_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 2], "data": { "kind": "values", "values": [100, 120, 10, 20, -30, -20, 140, 180] }, "tolerance": 0 } } }, { "name": "batched_nd_by_2d_no_zero_points", "provenance": { "notes": "Both zero points omitted on an A-rank-3 by B-rank-2 product; the ONNX default of 0 makes the expected output identical to ort_int8_uint8_batched_nd_by_2d." }, "inputs": { "a": { "dtype": "int8", "shape": [2, 2, 3], "data": { "kind": "values", "values": [1, -2, 3, -1, 4, -2, 2, 0, -1, 0, 3, 1] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [10, 20, 30, 40, 50, 60] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 2], "data": { "kind": "values", "values": [100, 120, 10, 20, -30, -20, 140, 180] }, "tolerance": 0 } } }, { "name": "batched_nd_by_2d_a_zero_point_only", "provenance": { "notes": "A-rank-3 by B-rank-2 with only the A zero point supplied, so the B zero point takes the ONNX default of 0." }, "inputs": { "a": { "dtype": "int8", "shape": [2, 2, 3], "data": { "kind": "values", "values": [1, -2, 3, -1, 4, -2, 2, 0, -1, 0, 3, 1] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [10, 20, 30, 40, 50, 60] } }, "a_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 2], "data": { "kind": "values", "values": [10, 0, -80, -100, -120, -140, 50, 60] }, "tolerance": 0 } } }, { "name": "ort_u8s8_per_column_rank2_zero_point", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_PerColumn_ND", "notes": "Rank-2 slice of ORT's per-column zero-point case." }, "inputs": { "a": { "dtype": "uint8", "shape": [2, 4], "data": { "kind": "values", "values": [125, 135, 133, 122, 132, 123, 136, 135] } }, "b": { "dtype": "int8", "shape": [4, 4], "data": { "kind": "values", "values": [0, -8, 2, 3, -11, -13, -8, 1, 2, 4, 4, -10, 3, 2, -11, 2] } }, "a_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [133] } }, "b_zero_point": { "dtype": "int8", "shape": [4], "data": { "kind": "values", "values": [1, -2, 2, -1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 4], "data": { "kind": "values", "values": [-38, -18, 123, -61, 128, 142, 80, -45] }, "tolerance": 0 } } }, { "name": "ort_u8s8_per_column_batched_zero_point", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_PerColumn_ND" }, "inputs": { "a": { "dtype": "uint8", "shape": [2, 2, 4], "data": { "kind": "values", "values": [125, 135, 133, 122, 132, 123, 136, 135, 125, 135, 133, 122, 132, 123, 136, 135] } }, "b": { "dtype": "int8", "shape": [2, 4, 4], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_u8s8_per_column_batched_zero_point_input_b" } } }, "a_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [133] } }, "b_zero_point": { "dtype": "int8", "shape": [2, 1, 4], "data": { "kind": "values", "values": [1, -2, 2, -1, 2, -4, -1, 0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 4], "data": { "kind": "values", "values": [-38, -18, 123, -61, 128, 142, 80, -45, -21, -52, 72, -44, 134, 130, 62, -39] }, "tolerance": 0 } } }, { "name": "ort_s8u8_per_column_batched_zero_point", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_uint8_PerColumn_ND" }, "inputs": { "a": { "dtype": "int8", "shape": [2, 2, 2], "data": { "kind": "values", "values": [1, -2, 3, 4, -1, 5, 2, -3] } }, "b": { "dtype": "uint8", "shape": [2, 2, 3], "data": { "kind": "values", "values": [10, 20, 30, 1, 2, 3, 4, 5, 6, 7, 8, 9] } }, "a_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [0] } }, "b_zero_point": { "dtype": "uint8", "shape": [2, 1, 3], "data": { "kind": "values", "values": [1, 2, 3, 4, 5, 6] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 3], "data": { "kind": "values", "values": [9, 18, 27, 27, 54, 81, 15, 15, 15, -9, -9, -9] }, "tolerance": 0 } } }, { "name": "onnx_backend_matmulinteger", "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_matmulinteger" }, "inputs": { "a": { "dtype": "uint8", "shape": [4, 3], "data": { "kind": "values", "values": [11, 7, 3, 10, 6, 2, 9, 5, 1, 8, 4, 0] } }, "b": { "dtype": "uint8", "shape": [3, 2], "data": { "kind": "values", "values": [1, 4, 2, 5, 3, 6] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [12] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [4, 2], "tolerance": 0 } } }, { "name": "dp4a_u8u8_k64_no_zero_points", "inputs": { "a": { "dtype": "uint8", "shape": [5, 64], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "uint8", "shape": [64, 9], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8u8_k64_no_zero_points_input_b" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [5, 9], "tolerance": 0 } } }, { "name": "dp4a_u8s8_k8_a_zero_point_only", "inputs": { "a": { "dtype": "uint8", "shape": [3, 8], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [8, 5], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [131] } } }, "outputs": { "y": { "dtype": "int32", "shape": [3, 5], "tolerance": 0 } } }, { "name": "dp4a_s8u8_k8_b_zero_point_only", "inputs": { "a": { "dtype": "int8", "shape": [3, 8], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "b": { "dtype": "uint8", "shape": [8, 5], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [200] } } }, "outputs": { "y": { "dtype": "int32", "shape": [3, 5], "tolerance": 0 } } }, { "name": "dp4a_u8s8_k12_both_zero_points", "inputs": { "a": { "dtype": "uint8", "shape": [4, 12], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [12, 6], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [117] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-9] } } }, "outputs": { "y": { "dtype": "int32", "shape": [4, 6], "tolerance": 0 } } }, { "name": "dp4a_s8s8_k260_both_zero_points_tails", "inputs": { "a": { "dtype": "int8", "shape": [9, 260], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "b": { "dtype": "int8", "shape": [260, 17], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8s8_k260_both_zero_points_tails_input_b" } } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [5] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-7] } } }, "outputs": { "y": { "dtype": "int32", "shape": [9, 17], "tolerance": 0 } } }, { "name": "dp4a_u8u8_k260_both_zero_points_tails", "inputs": { "a": { "dtype": "uint8", "shape": [9, 260], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "uint8", "shape": [260, 17], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8u8_k260_both_zero_points_tails_input_b" } } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [255] } } }, "outputs": { "y": { "dtype": "int32", "shape": [9, 17], "tolerance": 0 } } }, { "name": "dp4a_u8u8_k256_no_zero_points_large", "provenance": { "notes": "A compact wide, short-K case exercises the M32/N128/KWords32 packed-dot tile with omitted zero points while keeping the expected int32 output inexpensive to compute." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 256], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "uint8", "shape": [256, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8u8_k64_no_zero_points_input_b" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "DP4A_SHORT_K_MIN_MN": 64, "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "dp4a_s8s8_medium_k_m64_k96_n128", "provenance": { "notes": "A compact medium-K case exercises the M32/N64 packed-dot reuse tile with signed inputs and exact int32 output." }, "inputs": { "a": { "dtype": "int8", "shape": [64, 96], "data": { "kind": "cycle", "values": [-128, 127, 0, -1, 56, -77, 3, 100, -100, 42, -5, 19, -64, 88, -33, 7] } }, "b": { "dtype": "int8", "shape": [96, 128], "data": { "kind": "cycle", "values": [7, -11, 63, -64, 126, -127, 4, 91, -37, 18, -2, 55, -83, 32, 1, -99] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "DP4A_SHORT_K_MAX": 64, "DP4A_MEDIUM_K_MAX": 128, "DP4A_MEDIUM_K_MIN_MN": 64, "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "dp4a_u8s8_k256_a_zero_point_only_large", "inputs": { "a": { "dtype": "uint8", "shape": [64, 256], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [256, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [131] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "dp4a_s8u8_k256_b_zero_point_only_large", "inputs": { "a": { "dtype": "int8", "shape": [64, 256], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "b": { "dtype": "uint8", "shape": [256, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [200] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "dp4a_s8s8_k260_both_zero_points_large", "inputs": { "a": { "dtype": "int8", "shape": [65, 260], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "b": { "dtype": "int8", "shape": [260, 129], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8s8_k260_both_zero_points_tails_input_b" } } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [5] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-7] } } }, "outputs": { "y": { "dtype": "int32", "shape": [65, 129], "tolerance": 0 } }, "tunables": { "DP4A_LARGE_MIN_M": 64, "DP4A_LARGE_MIN_N": 128, "DP4A_LARGE_MIN_K": 256, "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "dp4a_rank3_by_rank3_u8s8_k256_large", "inputs": { "a": { "dtype": "uint8", "shape": [2, 64, 256], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [2, 256, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "a_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [131] } }, "b_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [-3] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 64, 128], "tolerance": 0 } } }, { "name": "dp4a_rank3_by_rank2_u8s8_k256_large", "inputs": { "a": { "dtype": "uint8", "shape": [2, 64, 256], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [256, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8s8_k260_both_zero_points_tails_input_b" } } }, "a_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [131] } }, "b_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [-3] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 64, 128], "tolerance": 0 } } }, { "name": "ort_s8s8_a_nd_by_2d_scalar_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_t_A_ND" }, "inputs": { "a": { "dtype": "int8", "shape": [2, 2, 4], "data": { "kind": "values", "values": [-3, 7, 5, -6, 4, -5, 8, 7, 7, -4, 3, 6, -4, -5, 5, 7] } }, "b": { "dtype": "int8", "shape": [4, 3], "data": { "kind": "values", "values": [5, -3, 7, 8, -6, -8, -3, 6, 7, 9, 9, -5] } }, "a_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [3] } }, "b_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [4] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 3], "data": { "kind": "values", "values": [-49, -39, 21, -46, 103, 78, -9, 57, 69, -33, 153, 45] }, "tolerance": 0 } } }, { "name": "ort_s8s8_a_nd_by_b_nd_scalar_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_t_A_ND_B_ND" }, "inputs": { "a": { "dtype": "int8", "shape": [2, 2, 4], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_s8s8_a_nd_by_b_nd_scalar_zero_points_input_a" } } }, "b": { "dtype": "int8", "shape": [2, 4, 4], "data": { "kind": "values", "values": [5, -3, 7, 8, -6, -8, -3, 6, 7, 9, 9, -5, 8, 7, -6, 7, 5, -3, 7, 8, -6, -8, -3, 6, 7, 9, 9, -5, 8, 7, -6, 7] } }, "a_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [5] } }, "b_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [5] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 4], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_s8s8_a_nd_by_b_nd_scalar_zero_points_output_y" } }, "tolerance": 0 } } }, { "name": "ort_s8s8_a_nd_by_b_nd_no_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_t_No_Zero_Point", "notes": "Valid ORT rank-3 by rank-3 MatMulInteger with omitted zero-points." }, "inputs": { "a": { "dtype": "int8", "shape": [2, 2, 4], "data": { "kind": "values", "values": [-8, 2, 0, -11, -1, -10, 3, 2, -8, 2, 0, -11, -1, -10, 3, 2] } }, "b": { "dtype": "int8", "shape": [2, 4, 4], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_u8s8_per_column_batched_zero_point_input_b" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 4], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_s8s8_a_nd_by_b_nd_scalar_zero_points_output_y" } }, "tolerance": 0 } } }, { "name": "ort_s8s8_2d_by_b_nd_scalar_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_t_B_ND", "notes": "Valid ORT rank-2 by rank-3 MatMulInteger broadcast case." }, "inputs": { "a": { "dtype": "int8", "shape": [2, 4], "data": { "kind": "values", "values": [-3, 7, 5, -6, 4, -5, 8, 7] } }, "b": { "dtype": "int8", "shape": [2, 4, 3], "data": { "kind": "values", "values": [5, -3, 7, 8, -6, -8, -3, 6, 7, 9, 9, -5, 5, -3, 7, 8, -6, -8, -3, 6, 7, 9, 9, -5] } }, "a_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [1] } }, "b_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [2] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 3], "data": { "kind": "values", "values": [-45, -61, -11, -20, 103, 68, -45, -61, -11, -20, 103, 68] }, "tolerance": 0 } } }, { "name": "ort_s8s8_a_nd_by_b_nd_a_zero_point_only", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_t_A_Has_Zero_Point", "notes": "Valid ORT rank-3 by rank-3 MatMulInteger with only A zero-point present." }, "inputs": { "a": { "dtype": "int8", "shape": [2, 2, 4], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_s8s8_a_nd_by_b_nd_scalar_zero_points_input_a" } } }, "b": { "dtype": "int8", "shape": [2, 4, 4], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_u8s8_per_column_batched_zero_point_input_b" } } }, "a_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [5] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 4], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_s8s8_a_nd_by_b_nd_scalar_zero_points_output_y" } }, "tolerance": 0 } } }, { "name": "broadcast_4d_u8u8", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_uint8_A_ND_B_ND", "notes": "A compact four-dimensional uint8 MatMulInteger exercises multidimensional batch broadcasting." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 2, 2, 2], "data": { "kind": "values", "values": [1, 2, 3, 4, 5, 6, 7, 8] } }, "b": { "dtype": "uint8", "shape": [2, 1, 2, 2], "data": { "kind": "values", "values": [1, 0, 0, 1, 2, 1, 1, 2] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 2, 2], "tolerance": 0, "data": { "kind": "values", "values": [1, 2, 3, 4, 5, 6, 7, 8, 4, 5, 10, 11, 16, 17, 22, 23] } } } }, { "name": "broadcast_4d_u8u8_zero_points", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "test": "MatmulIntegerOpTest.MatMulInteger_int8_uint8_A_ND_B_ND", "notes": "Compact 4D broadcast case with scalar zero-points." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 2, 2, 2], "data": { "kind": "values", "values": [1, 2, 3, 4, 5, 6, 7, 8] } }, "b": { "dtype": "uint8", "shape": [2, 1, 2, 2], "data": { "kind": "values", "values": [1, 0, 0, 1, 2, 1, 1, 2] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 2, 2], "tolerance": 0, "data": { "kind": "values", "values": [-1, 0, -3, -2, -5, -4, -7, -6, 0, 1, 2, 3, 4, 5, 6, 7] } } } }, { "name": "dispatch_cliff_mtile_rows_524296", "provenance": { "notes": "M=524,296 produces 65,537 eight-row tiles, exceeding the dp4a rank-2 dispatch cap and selecting a folded y=65,535, z=2 integer MatMul. Distinct rows make incorrect y/z reconstruction observable." }, "inputs": { "a": { "dtype": "uint8", "shape": [524296, 4], "data": { "kind": "cycle", "values": [1, 2, 3, 4, 5, 6, 7] } }, "b": { "dtype": "uint8", "shape": [4, 2], "data": { "kind": "cycle", "values": [2, 0, 1, 3, 4, 1, 2, 5] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "constant", "value": 1 } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "constant", "value": 2 } } }, "outputs": { "y": { "dtype": "int32", "shape": [524296, 2], "tolerance": 0 } } }, { "name": "percol_b_zero_point_k256_u8s8_model_scale", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "notes": "Per-column signed weight zero points across N=128 with a scalar activation zero point at K=256. Exercises packed rank-2 accumulation and verifies that every output column applies its own zero point." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 256], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [256, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [130] } }, "b_zero_point": { "dtype": "int8", "shape": [128], "data": { "kind": "cycle", "values": [1, -2, 2, -1, 3, -3, 0, -4, 4, -5, 5] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "percol_b_zero_point_no_azp_below_dp4a_floor", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "notes": "Per-column B zero points ([1, -2, 2]) with no A zero point (defaults to 0) check a compact M=4, K=8, N=3 integer matrix product." }, "inputs": { "a": { "dtype": "uint8", "shape": [4, 8], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [8, 3], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "b_zero_point": { "dtype": "int8", "shape": [3], "data": { "kind": "values", "values": [1, -2, 2] } } }, "outputs": { "y": { "dtype": "int32", "shape": [4, 3], "tolerance": 0 } } }, { "name": "percol_b_zero_point_no_azp_k256_u8s8", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "notes": "Per-column signed weight zero points across N=128 with the activation zero point omitted at K=256. Exercises packed rank-2 accumulation and the default activation zero point of zero, including the unsigned-activation bias fold." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 256], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [256, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "b_zero_point": { "dtype": "int8", "shape": [128], "data": { "kind": "cycle", "values": [1, -2, 2, -1, 3, -3, 0, -4, 4, -5, 5] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "dp4a_percol_no_azp_narrow_m_tile_variable_subgroup", "provenance": { "source": "onnxruntime/test/providers/cpu/math/matmul_integer_test.cc", "notes": "Per-column B zero points without an A zero point, with M=64 rows, K=256, and N=128 columns, check exact integer output at a narrow row count." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 256], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [256, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "b_zero_point": { "dtype": "int8", "shape": [128], "data": { "kind": "cycle", "values": [1, -2, 2, -1, 3, -3, 0, -4, 4, -5, 5] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0, "DP4A_LARGE_MIN_M": 64, "DP4A_LARGE_MIN_N": 128, "DP4A_LARGE_MIN_K": 256 } }, { "name": "k258_unaligned_k_scalar_zp_u8u8", "provenance": { "notes": "K=258 is not divisible by four; scalar zero points (a=128, b=127) on uint8 by uint8 operands check that the unaligned reduction tail is included exactly." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 258], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "uint8", "shape": [258, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8u8_k64_no_zero_points_input_b" } } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [127] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "large_accumulator_dp4a_k1024_u8u8_maxmag", "provenance": { "notes": "M=64, K=1024, and N=128 with uint8 operands at magnitude 255 produce large but int32-representable sums; nonzero zero points (3 and 7) verify the exact quantized result." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 1024], "data": { "kind": "cycle", "values": [255, 0, 255, 1, 254, 2, 200, 128, 64, 99, 3, 250, 7, 240, 16, 5] } }, "b": { "dtype": "uint8", "shape": [1024, 128], "data": { "kind": "cycle", "values": [255, 254, 1, 0, 200, 129, 64, 99, 3, 250, 7, 240, 16, 5, 128, 2] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [3] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [7] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "dp4a_rank4_scalar_s8s8_2x2x64x128", "inputs": { "a": { "dtype": "int8", "shape": [2, 2, 64, 128], "data": { "kind": "cycle", "values": [3, -2, 1, 4, -3, 2, -1, 5, -4, 0] } }, "b": { "dtype": "int8", "shape": [2, 2, 128, 64], "data": { "kind": "cycle", "values": [2, -1, 3, -2, 1, 4, -3, 2] } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "cycle", "values": [1] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "cycle", "values": [2] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 64, 64] } } }, { "name": "dp4a_rank4_no_zero_s8s8_2x2x64x128", "inputs": { "a": { "dtype": "int8", "shape": [2, 2, 64, 128], "data": { "kind": "cycle", "values": [3, -2, 1, 4, -3, 2, -1, 5, -4, 0] } }, "b": { "dtype": "int8", "shape": [2, 2, 128, 64], "data": { "kind": "cycle", "values": [2, -1, 3, -2, 1, 4, -3, 2] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 2, 64, 64] } } }, { "name": "dp4a_gemv_m1_u8s8_k257_n512_scalar_zp_tail", "provenance": { "notes": "An M=1 int8 GEMV with K=257 exercises the tileM=1 DP4A full-word loop and its one-lane scalar tail." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 257], "data": { "kind": "cycle", "values": [0, 255, 128, 7, 200, 31, 129, 64, 99, 3, 254, 127, 1, 88, 173, 240, 16, 5, 222, 44, 90, 17] } }, "b": { "dtype": "int8", "shape": [257, 512], "data": { "kind": "cycle", "values": [-128, 127, 0, 63, -64, 31, -32, 7, -100, 50, -7, 88, -1, 120, -45, 15, 3, -99, 66, -17, 42, -88, 11, -120] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-3] } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 512], "tolerance": 0 } } }, { "name": "dp4a_gemv_m1_u8u8_k128_n768_no_zp", "provenance": { "notes": "M=1 int8 decode GEMV, no zero points: exercises the tileM=1 dp4a GEMV no-zero-point path." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 128], "data": { "kind": "cycle", "values": [0, 255, 128, 7, 200, 31, 129, 64, 99, 3, 254, 127, 1, 88, 173, 240] } }, "b": { "dtype": "uint8", "shape": [128, 768], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 768], "tolerance": 0 } } }, { "name": "empty_n_dimension_outputs_empty_u8u8", "inputs": { "a": { "dtype": "uint8", "shape": [2, 3], "data": { "kind": "values", "values": [11, 7, 3, 10, 6, 2] } }, "b": { "dtype": "uint8", "shape": [3, 0], "data": { "kind": "values", "values": [] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [12] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 0], "data": { "kind": "values", "values": [] }, "tolerance": 0 } } }, { "name": "dp4a_unaligned_n130_percol_b_zp_u8s8_k256", "inputs": { "a": { "dtype": "uint8", "shape": [64, 256], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [256, 130], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [130] } }, "b_zero_point": { "dtype": "int8", "shape": [130], "data": { "kind": "cycle", "values": [1, -2, 2, -1, 3, -3, 0, -4, 4, -5, 5] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 130], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "dp4a_partial_m63_n130_tile_edge_s8s8_k256", "inputs": { "a": { "dtype": "int8", "shape": [63, 256], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "b": { "dtype": "int8", "shape": [256, 130], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8s8_k260_both_zero_points_tails_input_b" } } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [5] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-7] } } }, "outputs": { "y": { "dtype": "int32", "shape": [63, 130], "tolerance": 0 } } }, { "name": "kfloor_k124_naive_rank2_both_zp_correctness", "inputs": { "a": { "dtype": "uint8", "shape": [9, 124], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [124, 17], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [117] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-9] } } }, "outputs": { "y": { "dtype": "int32", "shape": [9, 17], "tolerance": 0 } } }, { "name": "dp4a_k124_rank2_no_zero_points_exact", "provenance": { "notes": "Locks the lowered aligned-DP4A floor for realistic K=124 projections; output size is large enough for cooperative tiling to amortize its barriers." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 124], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8_pattern" } } }, "b": { "dtype": "int8", "shape": [124, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "dp4a_tail_k130_rank2_u8u8_scalar_zp_exact", "provenance": { "notes": "Reduction length 130 leaves two elements after complete four-element groups; scalar zero points must produce the exact integer result." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 130], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_tail_k130_rank2_u8u8_scalar_zp_exact_input_a" } } }, "b": { "dtype": "uint8", "shape": [130, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_u8u8_k260_both_zero_points_tails_input_b" } } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [121] } }, "b_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [117] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "dp4a_tail_k131_rank2_s8s8_scalar_zp_exact", "provenance": { "notes": "Reduction length 131 leaves three elements after complete four-element groups; signed operands and scalar zero points must produce the exact integer result." }, "inputs": { "a": { "dtype": "int8", "shape": [64, 131], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "b": { "dtype": "int8", "shape": [131, 128], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8s8_k260_both_zero_points_tails_input_b" } } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [5] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-7] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "dp4a_tail_k129_batched3_by_rank2_exact", "provenance": { "notes": "Compact integer matrix product with a one-element reduction tail and exact output." }, "inputs": { "a": { "dtype": "uint8", "shape": [2, 8, 129], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_tail_k130_rank2_u8u8_scalar_zp_exact_input_a" } } }, "b": { "dtype": "int8", "shape": [129, 512], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_s8_pattern" } } }, "a_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [121] } }, "b_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [-4] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 8, 512], "tolerance": 0 } } }, { "name": "dp4a_tail_k63_rank2_u8s8_scalar_zp_exact", "provenance": { "notes": "K=63 exercises exact packed-tail handling in the 32<=K<128 DP4A range." }, "inputs": { "a": { "dtype": "uint8", "shape": [16, 63], "data": { "kind": "cycle", "values": [0, 255, 121, 7, 200, 31] } }, "b": { "dtype": "int8", "shape": [63, 512], "data": { "kind": "cycle", "values": [-128, 127, 0, -1, 56, -77] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [121] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-4] } } }, "outputs": { "y": { "dtype": "int32", "shape": [16, 512], "tolerance": 0 } } }, { "name": "rank3_b_zero_point_only", "provenance": { "source": "ONNX MatMulInteger-10 optional-input contract", "notes": "Exercises a scalar b_zero_point on batched rank-3 inputs while a_zero_point independently defaults to zero." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 1, 2], "data": { "kind": "values", "values": [2, 3] } }, "b": { "dtype": "uint8", "shape": [1, 2, 1], "data": { "kind": "values", "values": [4, 5] } }, "b_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 1], "data": { "kind": "values", "values": [18] }, "tolerance": 0 } } }, { "name": "rank3_batched_per_column_zero_point_without_a_zero_point", "provenance": { "source": "ONNX MatMulInteger-10 optional-input contract", "notes": "Exercises an N-D per-column b_zero_point while a_zero_point independently defaults to zero." }, "inputs": { "a": { "dtype": "uint8", "shape": [2, 1, 2], "data": { "kind": "values", "values": [2, 3, 2, 3] } }, "b": { "dtype": "uint8", "shape": [2, 2, 1], "data": { "kind": "values", "values": [4, 5, 6, 7] } }, "b_zero_point": { "dtype": "uint8", "shape": [2, 1, 1], "data": { "kind": "values", "values": [1, 2] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 1, 1], "data": { "kind": "values", "values": [18, 23] }, "tolerance": 0 } } }, { "name": "rank2_by_rank3_zero_points_omitted", "provenance": { "source": "ONNX MatMulInteger-10 optional-input contract", "notes": "Exercises rank-2 by rank-3 broadcasting with both zero points omitted." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 2], "data": { "kind": "values", "values": [2, 3] } }, "b": { "dtype": "uint8", "shape": [2, 2, 1], "data": { "kind": "values", "values": [4, 5, 6, 7] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 1, 1], "data": { "kind": "values", "values": [23, 33] }, "tolerance": 0 } } }, { "name": "rank2_by_rank3_a_zero_point_only", "provenance": { "source": "ONNX MatMulInteger-10 optional-input contract", "notes": "Exercises rank-2 by rank-3 broadcasting with only a_zero_point present." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 2], "data": { "kind": "values", "values": [2, 3] } }, "b": { "dtype": "uint8", "shape": [2, 2, 1], "data": { "kind": "values", "values": [4, 5, 6, 7] } }, "a_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 1, 1], "data": { "kind": "values", "values": [14, 20] }, "tolerance": 0 } } }, { "name": "rank2_by_rank3_b_zero_point_only", "provenance": { "source": "ONNX MatMulInteger-10 optional-input contract", "notes": "Exercises rank-2 by rank-3 broadcasting with only b_zero_point present." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 2], "data": { "kind": "values", "values": [2, 3] } }, "b": { "dtype": "uint8", "shape": [2, 2, 1], "data": { "kind": "values", "values": [4, 5, 6, 7] } }, "b_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 1, 1], "data": { "kind": "values", "values": [18, 28] }, "tolerance": 0 } } }, { "name": "rank2_by_rank3_both_zero_points", "provenance": { "source": "ONNX MatMulInteger-10 optional-input contract", "notes": "Completes the rank-2 by rank-3 optional-presence matrix with both scalar zero points present." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 2], "data": { "kind": "values", "values": [2, 3] } }, "b": { "dtype": "uint8", "shape": [2, 2, 1], "data": { "kind": "values", "values": [4, 5, 6, 7] } }, "a_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } }, "b_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [2, 1, 1], "data": { "kind": "values", "values": [11, 17] }, "tolerance": 0 } } }, { "name": "rank4_a_zero_point_only", "provenance": { "source": "ONNX MatMulInteger-10 optional-input contract", "notes": "Exercises a rank-4 product with only a_zero_point present." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 1, 1, 2], "data": { "kind": "values", "values": [2, 3] } }, "b": { "dtype": "uint8", "shape": [1, 1, 2, 1], "data": { "kind": "values", "values": [4, 5] } }, "a_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 1, 1], "data": { "kind": "values", "values": [14] }, "tolerance": 0 } } }, { "name": "rank4_b_zero_point_only", "provenance": { "source": "ONNX MatMulInteger-10 optional-input contract", "notes": "Exercises a rank-4 product with only b_zero_point present." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 1, 1, 2], "data": { "kind": "values", "values": [2, 3] } }, "b": { "dtype": "uint8", "shape": [1, 1, 2, 1], "data": { "kind": "values", "values": [4, 5] } }, "b_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 1, 1], "data": { "kind": "values", "values": [18] }, "tolerance": 0 } } }, { "name": "dp4a_gemv_no_zero_s8s8_m1_k64_n512", "provenance": { "notes": "A signed single-row matrix product with K=64 and N=512 omits both zero points; its result must match direct integer accumulation." }, "inputs": { "a": { "dtype": "int8", "shape": [1, 64], "data": { "kind": "cycle", "values": [3, -2, 1, 4, -3, 2, -1, 5, -4, 0, 7, -6, 2] } }, "b": { "dtype": "int8", "shape": [64, 512], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_gemv_no_zero_s8s8_m1_k64_n512_input_b" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 512], "tolerance": 0 } } }, { "name": "dp4a_gemv_b_per_column_zero_u8u8_m1_k64_n512", "provenance": { "notes": "An unsigned B tensor uses per-column zero points that vary on a period coprime with N=512. Each zero point must be widened and indexed by its output column." }, "inputs": { "a": { "dtype": "uint8", "shape": [1, 64], "data": { "kind": "cycle", "values": [130, 129, 128, 127, 126, 200, 3, 255, 0, 64, 99] } }, "b": { "dtype": "uint8", "shape": [64, 512], "data": { "kind": "cycle", "values": [127, 128, 129, 130, 131, 7, 250, 255, 0, 64, 200, 3, 90] } }, "b_zero_point": { "dtype": "uint8", "shape": [512], "data": { "kind": "cycle", "values": [128, 127, 129, 0, 255, 64, 200] } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 512], "tolerance": 0 } } }, { "name": "dp4a_tail_no_zero_s8s8_m1_k66_n512", "provenance": { "notes": "K=66 leaves a two-lane reduction tail. Signed inputs with both zero points omitted exercise that tail without either running-sum correction." }, "inputs": { "a": { "dtype": "int8", "shape": [1, 66], "data": { "kind": "cycle", "values": [3, -2, 1, 4, -3, 2, -1, 5, -4, 0, 7, -6, 2] } }, "b": { "dtype": "int8", "shape": [66, 512], "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_gemv_no_zero_s8s8_m1_k64_n512_input_b" } } } }, "outputs": { "y": { "dtype": "int32", "shape": [1, 512], "tolerance": 0 } } }, { "name": "exact_integer_partial_k255_uint8_maxmag", "provenance": { "notes": "Maximum adjusted-byte products across exact-f32 partial-sum boundaries. K=33027 also crosses signed-int32 overflow; the integer result must wrap exactly." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 255], "data": { "kind": "cycle", "values": [255] } }, "b": { "dtype": "uint8", "shape": [255, 32], "data": { "kind": "cycle", "values": [255] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 32], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_integer_partial_k256_uint8_maxmag", "provenance": { "notes": "Maximum adjusted-byte products across exact-f32 partial-sum boundaries. K=33027 also crosses signed-int32 overflow; the integer result must wrap exactly." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 256], "data": { "kind": "cycle", "values": [255] } }, "b": { "dtype": "uint8", "shape": [256, 32], "data": { "kind": "cycle", "values": [255] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 32], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_integer_partial_k259_uint8_maxmag", "provenance": { "notes": "Maximum adjusted-byte products across exact-f32 partial-sum boundaries. K=33027 also crosses signed-int32 overflow; the integer result must wrap exactly." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 259], "data": { "kind": "cycle", "values": [255] } }, "b": { "dtype": "uint8", "shape": [259, 32], "data": { "kind": "cycle", "values": [255] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 32], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_integer_partial_k1025_int8_maxmag", "provenance": { "notes": "Maximum adjusted-byte products across exact-f32 partial-sum boundaries. K=33027 also crosses signed-int32 overflow; the integer result must wrap exactly." }, "inputs": { "a": { "dtype": "int8", "shape": [64, 1025], "data": { "kind": "cycle", "values": [127] } }, "b": { "dtype": "int8", "shape": [1025, 32], "data": { "kind": "cycle", "values": [127] } }, "a_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [-128] } }, "b_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [-128] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 32], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_integer_partial_k33027_uint8_maxmag", "provenance": { "notes": "Maximum adjusted-byte products across exact-f32 partial-sum boundaries. K=33027 also crosses signed-int32 overflow; the integer result must wrap exactly." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 33027], "data": { "kind": "cycle", "values": [255] } }, "b": { "dtype": "uint8", "shape": [33027, 32], "data": { "kind": "cycle", "values": [255] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 32], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_integer_partial_k513_m65_n65_column_zero_points", "provenance": { "notes": "Mixed signedness, per-column zero points and partial M/N/K tiles must retain exact integer arithmetic." }, "inputs": { "a": { "dtype": "uint8", "shape": [65, 513], "data": { "kind": "cycle", "values": [0, 255, 128, 1, 254] } }, "b": { "dtype": "int8", "shape": [513, 65], "data": { "kind": "cycle", "values": [-128, 127, 0, -1, 1] } }, "a_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [17] } }, "b_zero_point": { "dtype": "int8", "shape": [65], "data": { "kind": "cycle", "values": [-128, 127, 3] } } }, "outputs": { "y": { "dtype": "int32", "shape": [65, 65], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_integer_partial_k1041_int8_no_zp_signed_outputs", "provenance": { "notes": "Without zero points, signed-byte bounds permit 1024-term exact f32 partials. The odd final sums +/-16790289 are not representable in f32; converting each partial before the int32 addition preserves both signs exactly." }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 }, "inputs": { "a": { "dtype": "int8", "shape": [64, 1041], "data": { "kind": "constant", "value": 127 } }, "b": { "dtype": "int8", "shape": [1041, 64], "data": { "kind": "cycle", "values": [127, -127] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 64], "tolerance": 0 } } }, { "name": "exact_integer_storage_growth_m32_k128_n65", "provenance": { "notes": "Maximum adjusted-byte products across exact-f32 partial-sum boundaries. K=33027 also crosses signed-int32 overflow; the integer result must wrap exactly." }, "inputs": { "a": { "dtype": "uint8", "shape": [32, 128], "data": { "kind": "cycle", "values": [255] } }, "b": { "dtype": "uint8", "shape": [128, 65], "data": { "kind": "cycle", "values": [255] } } }, "outputs": { "y": { "dtype": "int32", "shape": [32, 65], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_integer_storage_growth_m48_k259_n65", "provenance": { "notes": "Maximum adjusted-byte products across exact-f32 partial-sum boundaries. K=33027 also crosses signed-int32 overflow; the integer result must wrap exactly." }, "inputs": { "a": { "dtype": "uint8", "shape": [48, 259], "data": { "kind": "cycle", "values": [255] } }, "b": { "dtype": "uint8", "shape": [259, 65], "data": { "kind": "cycle", "values": [255] } } }, "outputs": { "y": { "dtype": "int32", "shape": [48, 65], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m65_k33_n33_a0_bnone", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [65, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } } }, "outputs": { "y": { "dtype": "int32", "shape": [65, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m65_k33_n33_a0_bscalar", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [65, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "cycle", "values": [3] } } }, "outputs": { "y": { "dtype": "int32", "shape": [65, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m65_k33_n33_a0_bcolumn", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [65, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [65, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m65_k33_n33_a1_bnone", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [65, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } } }, "outputs": { "y": { "dtype": "int32", "shape": [65, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m65_k33_n33_a1_bscalar", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [65, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "cycle", "values": [3] } } }, "outputs": { "y": { "dtype": "int32", "shape": [65, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m65_k33_n33_a1_bcolumn", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [65, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [65, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m129_k65_n63_a0_bnone", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [129, 65], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [65, 63], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } } }, "outputs": { "y": { "dtype": "int32", "shape": [129, 63], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m129_k65_n63_a0_bscalar", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [129, 65], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [65, 63], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "cycle", "values": [3] } } }, "outputs": { "y": { "dtype": "int32", "shape": [129, 63], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m129_k65_n63_a0_bcolumn", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [129, 65], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [65, 63], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "b_zero_point": { "dtype": "int8", "shape": [63], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [129, 63], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m129_k65_n63_a1_bnone", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [129, 65], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [65, 63], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } } }, "outputs": { "y": { "dtype": "int32", "shape": [129, 63], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m129_k65_n63_a1_bscalar", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [129, 65], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [65, 63], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "cycle", "values": [3] } } }, "outputs": { "y": { "dtype": "int32", "shape": [129, 63], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_padding_m129_k65_n63_a1_bcolumn", "provenance": { "notes": "Exact operand conversion with simultaneous M/K/N padding; per-column zero points and scales vary independently. Integer partials and requantization follow the exact integer contract." }, "inputs": { "a": { "dtype": "uint8", "shape": [129, 65], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [65, 63], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [63], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [129, 63], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_row_band_m15_k33_n33", "provenance": { "notes": "Matrix row-band boundaries with all three padded axes and varying column zero points. M15 retains the integer fallback; subsequent bands use one to four effective 32-wide subgroups." }, "inputs": { "a": { "dtype": "uint8", "shape": [15, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [15, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_row_band_m16_k33_n33", "provenance": { "notes": "Matrix row-band boundaries with all three padded axes and varying column zero points. M15 retains the integer fallback; subsequent bands use one to four effective 32-wide subgroups." }, "inputs": { "a": { "dtype": "uint8", "shape": [16, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [16, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_row_band_m17_k33_n33", "provenance": { "notes": "Matrix row-band boundaries with all three padded axes and varying column zero points. M15 retains the integer fallback; subsequent bands use one to four effective 32-wide subgroups." }, "inputs": { "a": { "dtype": "uint8", "shape": [17, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [17, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_row_band_m31_k33_n33", "provenance": { "notes": "Matrix row-band boundaries with all three padded axes and varying column zero points. M15 retains the integer fallback; subsequent bands use one to four effective 32-wide subgroups." }, "inputs": { "a": { "dtype": "uint8", "shape": [31, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [31, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_row_band_m32_k33_n33", "provenance": { "notes": "Matrix row-band boundaries with all three padded axes and varying column zero points. M15 retains the integer fallback; subsequent bands use one to four effective 32-wide subgroups." }, "inputs": { "a": { "dtype": "uint8", "shape": [32, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [32, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_row_band_m33_k33_n33", "provenance": { "notes": "Matrix row-band boundaries with all three padded axes and varying column zero points. M15 retains the integer fallback; subsequent bands use one to four effective 32-wide subgroups." }, "inputs": { "a": { "dtype": "uint8", "shape": [33, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [33, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_row_band_m47_k33_n33", "provenance": { "notes": "Matrix row-band boundaries with all three padded axes and varying column zero points. M15 retains the integer fallback; subsequent bands use one to four effective 32-wide subgroups." }, "inputs": { "a": { "dtype": "uint8", "shape": [47, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [47, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_row_band_m48_k33_n33", "provenance": { "notes": "Matrix row-band boundaries with all three padded axes and varying column zero points. M15 retains the integer fallback; subsequent bands use one to four effective 32-wide subgroups." }, "inputs": { "a": { "dtype": "uint8", "shape": [48, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [48, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_row_band_m49_k33_n33", "provenance": { "notes": "Matrix row-band boundaries with all three padded axes and varying column zero points. M15 retains the integer fallback; subsequent bands use one to four effective 32-wide subgroups." }, "inputs": { "a": { "dtype": "uint8", "shape": [49, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [49, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_precast_row_band_m63_k33_n33", "provenance": { "notes": "Matrix row-band boundaries with all three padded axes and varying column zero points. M15 retains the integer fallback; subsequent bands use one to four effective 32-wide subgroups." }, "inputs": { "a": { "dtype": "uint8", "shape": [63, 33], "data": { "kind": "cycle", "values": [109, 151, 128, 137, 102, 165, 124] } }, "b": { "dtype": "int8", "shape": [33, 33], "data": { "kind": "cycle", "values": [-9, 7, -3, 12, 5, -11, 2, 1, -6, 4, 8] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [33], "data": { "kind": "cycle", "values": [-3, 2, 7, -5, 1] } } }, "outputs": { "y": { "dtype": "int32", "shape": [63, 33], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_portable_m63_k255_n35", "provenance": { "notes": "Exact partial-sum and row-reuse boundaries, signed and unsigned extremes, column zero points, and simultaneous padded axes." }, "inputs": { "a": { "dtype": "uint8", "shape": [63, 255], "data": { "kind": "cycle", "values": [0, 255, 17, 239, 128, 1, 254] } }, "b": { "dtype": "int8", "shape": [255, 35], "data": { "kind": "cycle", "values": [-128, 127, -127, 63, -64, 0, 126] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [255] } }, "b_zero_point": { "dtype": "int8", "shape": [35], "data": { "kind": "cycle", "values": [-128, 127, 0, -111, 111] } } }, "outputs": { "y": { "dtype": "int32", "shape": [63, 35], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_portable_m64_k256_n35", "provenance": { "notes": "Exact partial-sum and row-reuse boundaries, signed and unsigned extremes, column zero points, and simultaneous padded axes." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 256], "data": { "kind": "cycle", "values": [0, 255, 17, 239, 128, 1, 254] } }, "b": { "dtype": "uint8", "shape": [256, 35], "data": { "kind": "cycle", "values": [0, 255, 1, 191, 64, 128, 254] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [255] } }, "b_zero_point": { "dtype": "uint8", "shape": [35], "data": { "kind": "cycle", "values": [0, 255, 128, 17, 239] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 35], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_portable_m65_k257_n67", "provenance": { "notes": "Exact partial-sum and row-reuse boundaries, signed and unsigned extremes, column zero points, and simultaneous padded axes." }, "inputs": { "a": { "dtype": "int8", "shape": [65, 257], "data": { "kind": "cycle", "values": [-128, 127, -111, 111, 0, -127, 126] } }, "b": { "dtype": "int8", "shape": [257, 67], "data": { "kind": "cycle", "values": [-128, 127, -127, 63, -64, 0, 126] } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [67], "data": { "kind": "cycle", "values": [-128, 127, 0, -111, 111] } } }, "outputs": { "y": { "dtype": "int32", "shape": [65, 67], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "exact_portable_m65_k1025_n35", "provenance": { "notes": "Exact partial-sum and row-reuse boundaries, signed and unsigned extremes, column zero points, and simultaneous padded axes." }, "inputs": { "a": { "dtype": "int8", "shape": [65, 1025], "data": { "kind": "cycle", "values": [-128, 127, -111, 111, 0, -127, 126] } }, "b": { "dtype": "uint8", "shape": [1025, 35], "data": { "kind": "cycle", "values": [0, 255, 1, 191, 64, 128, 254] } }, "a_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "cycle", "values": [127] } }, "b_zero_point": { "dtype": "uint8", "shape": [35], "data": { "kind": "cycle", "values": [0, 255, 128, 17, 239] } } }, "outputs": { "y": { "dtype": "int32", "shape": [65, 35], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0 } }, { "name": "variable_subgroup_packed_crossover_no_zero_points", "provenance": { "notes": "A compact wide integer projection with M=64, K=128, N=128 and no zero points on either operand checks exact int8 output at a tile-aligned shape." }, "inputs": { "a": { "dtype": "int8", "shape": [64, 128], "data": { "kind": "cycle", "values": [-128, 127, -37, 0, 19, 101] } }, "b": { "dtype": "int8", "shape": [128, 128], "data": { "kind": "cycle", "values": [127, -128, 25, -63, 0, 47] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0, "DP4A_LARGE_MIN_M": 32, "DP4A_LARGE_MIN_N": 64, "DP4A_MEDIUM_K_MAX": 64 } }, { "name": "variable_subgroup_packed_crossover_scalar_zero_points", "provenance": { "notes": "Checks exact integer output with both activation and weight zero points." }, "inputs": { "a": { "dtype": "uint8", "shape": [64, 128], "data": { "kind": "cycle", "values": [0, 255, 17, 239, 128, 1] } }, "b": { "dtype": "int8", "shape": [128, 128], "data": { "kind": "cycle", "values": [-128, 127, -23, 51, 0, 91] } }, "a_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [127] } }, "b_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-7] } } }, "outputs": { "y": { "dtype": "int32", "shape": [64, 128], "tolerance": 0 } }, "tunables": { "EXACT_MATRIX_MIN_INVOCATIONS": 0, "DP4A_LARGE_MIN_M": 32, "DP4A_LARGE_MIN_N": 64, "DP4A_MEDIUM_K_MAX": 64 } } ] }