Xenova's picture
Xenova HF Staff
sync 2e7068faf55e
53a7bdc verified
Raw
History Blame
50.3 kB
{
"op": "com.microsoft.CausalConvWithState",
"cases": [
{
"name": "ort_kernel1_zero_size_state",
"provenance": {
"source": "onnxruntime/test/python/transformers/test_parity_linear_attention_causal_conv.py",
"test": "TestLinearAttentionCausalConvCPUParity.test_causal_conv_with_state_cpu_kernel_1",
"notes": "Direct standard rank-3 weight fixture for the ORT kernel=1 zero-size state edge case."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [2, 4, 5],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 }
},
"weightT": {
"dtype": "float32",
"shape": [4, 1, 1],
"data": { "kind": "values", "values": [0.5, -1.0, 1.5, -0.25] }
},
"biasT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.25, -0.5, 0.75, -1.0] } },
"pastStateT": { "dtype": "float32", "shape": [2, 4, 0], "data": { "kind": "values", "values": [] } }
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [2, 4, 5], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [2, 4, 0], "tolerance": 0 }
}
},
{
"name": "ort_basic_no_state_no_bias",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.BasicNoStateNoBias",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 4],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 0.5, 1.5, 2.5, 3.5] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 3],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 2], "tolerance": 0.000001 }
}
},
{
"name": "ort_silu_with_bias_and_state",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.SiluActivationWithBiasAndState",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 4],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 0.5, 1.5, 2.5, 3.5] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 3],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] }
},
"biasT": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.1, -0.2] } },
"pastStateT": {
"dtype": "float32",
"shape": [1, 2, 2],
"data": { "kind": "values", "values": [-1.0, 0.5, 0.3, -0.7] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 2], "tolerance": 0.000001 }
}
},
{
"name": "ort_basic_with_bias",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.BasicWithBias",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 4],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 0.5, 1.5, 2.5, 3.5] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 3],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] }
},
"biasT": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.1, -0.2] } }
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 2], "tolerance": 0.000001 }
}
},
{
"name": "ort_basic_with_state",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.BasicWithState",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 0.5, 1.5, 2.5] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 3],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] }
},
"pastStateT": {
"dtype": "float32",
"shape": [1, 2, 2],
"data": { "kind": "values", "values": [-1.0, 0.5, 0.3, -0.7] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 3], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 2], "tolerance": 0.000001 }
}
},
{
"name": "ort_with_state_and_bias_none",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.WithStateAndBias",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 0.5, 1.5, 2.5] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 3],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] }
},
"biasT": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.1, -0.2] } },
"pastStateT": {
"dtype": "float32",
"shape": [1, 2, 2],
"data": { "kind": "values", "values": [-1.0, 0.5, 0.3, -0.7] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 3], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 2], "tolerance": 0.000001 }
}
},
{
"name": "ort_silu_no_state",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.SiluActivationNoState",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 4],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 0.5, 1.5, 2.5, 3.5] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 3],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 2], "tolerance": 0.000001 }
}
},
{
"name": "ort_silu_with_state",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.SiluActivationWithState",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 0.5, 1.5, 2.5] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 3],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] }
},
"pastStateT": {
"dtype": "float32",
"shape": [1, 2, 2],
"data": { "kind": "values", "values": [-1.0, 0.5, 0.3, -0.7] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 3], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 2], "tolerance": 0.000001 }
}
},
{
"name": "ort_kernel_size2_state_silu",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.KernelSize2",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 4],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 0.5, 1.5, 2.5, 3.5] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 2],
"data": { "kind": "values", "values": [0.3, 0.7, 0.4, 0.6] }
},
"pastStateT": { "dtype": "float32", "shape": [1, 2, 1], "data": { "kind": "values", "values": [0.5, -0.3] } }
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 1], "tolerance": 0.000001 }
}
},
{
"name": "ort_kernel_size4_state_none",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.KernelSize4",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 1, 5],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0] }
},
"weightT": {
"dtype": "float32",
"shape": [1, 1, 4],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4] }
},
"pastStateT": {
"dtype": "float32",
"shape": [1, 1, 3],
"data": { "kind": "values", "values": [-1.0, 0.0, 0.5] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 1, 5], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 1, 3], "tolerance": 0.000001 }
}
},
{
"name": "ort_multi_batch_state_bias_silu",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.MultiBatch",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 0.5, 1.5, 2.5, -1.0, 0.0, 1.0, 0.2, 0.4, 0.6] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 3],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] }
},
"biasT": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.1, -0.1] } },
"pastStateT": {
"dtype": "float32",
"shape": [2, 2, 2],
"data": { "kind": "values", "values": [-0.5, 0.5, 0.3, -0.3, 0.1, -0.1, 0.7, 0.8] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [2, 2, 3], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [2, 2, 2], "tolerance": 0.000001 }
}
},
{
"name": "ort_single_token_decode_state_bias_silu",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.SingleTokenDecode",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 4, 1],
"data": { "kind": "values", "values": [0.5, -0.3, 1.2, 0.8] }
},
"weightT": {
"dtype": "float32",
"shape": [4, 1, 4],
"data": {
"kind": "values",
"values": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, -0.1, -0.2, 0.1, 0.2, 0.3, 0.3, 0.3, 0.3]
}
},
"biasT": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.0, 0.1, -0.1, 0.0] } },
"pastStateT": {
"dtype": "float32",
"shape": [1, 4, 3],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, -1.0, 0.0, 1.0, 0.5, 0.5, 0.5, -0.2, 0.4, -0.6] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 4, 1], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 4, 3], "tolerance": 0.000001 }
}
},
{
"name": "ort_single_token_decode_multi_batch_silu",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.SingleTokenDecodeMultiBatch",
"notes": "Direct ORT depthwise weight shape [D,1,K]."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [2, 2, 1],
"data": { "kind": "values", "values": [0.5, -0.3, 1.2, 0.8] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 3],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] }
},
"pastStateT": {
"dtype": "float32",
"shape": [2, 2, 2],
"data": { "kind": "values", "values": [1.0, 2.0, -1.0, 0.0, 0.5, 0.5, -0.2, 0.4] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [2, 2, 1], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [2, 2, 2], "tolerance": 0.000001 }
}
},
{
"name": "zero_state",
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 3, 5],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 }
},
"weightT": {
"dtype": "float32",
"shape": [3, 1, 3],
"data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 3, 5], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 3, 2], "tolerance": 0.000001 }
}
},
{
"name": "scalar_bias_no_state_odd_length",
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 3, 5],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 }
},
"weightT": {
"dtype": "float32",
"shape": [3, 1, 3],
"data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 }
},
"biasT": {
"dtype": "float32",
"shape": [3],
"data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 3, 5], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 3, 2], "tolerance": 0.000001 }
},
"provenance": {
"notes": "Odd sequence length keeps the bias/no-state scalar fallback covered when the vec4 route is ineligible."
}
},
{
"name": "state_bias_silu",
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [2, 2, 4],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31 }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 4],
"data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23 }
},
"biasT": {
"dtype": "float32",
"shape": [2],
"data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.41 }
},
"pastStateT": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [2, 2, 4], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [2, 2, 3], "tolerance": 0.000001 }
}
},
{
"name": "vec4_bias_no_state_silu",
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [2, 2, 4],
"data": { "kind": "fillFloat32", "sinStep": 0.24, "cosStep": 0.31 }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 4],
"data": { "kind": "fillFloat32", "sinStep": 0.18, "cosStep": 0.23 }
},
"biasT": {
"dtype": "float32",
"shape": [2],
"data": { "kind": "fillFloat32", "sinStep": 0.14, "cosStep": 0.41 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [2, 2, 4], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [2, 2, 3], "tolerance": 0.000001 }
},
"provenance": {
"notes": "Kernel 4 over a length that divides into vec4 lanes, with a bias and no carried state: the vectorized arm where the first lane's taps are the zero prefix rather than past_state."
}
},
{
"name": "vec4_state_no_bias_silu",
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [2, 2, 4],
"data": { "kind": "fillFloat32", "sinStep": 0.28, "cosStep": 0.31 }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 4],
"data": { "kind": "fillFloat32", "sinStep": 0.22, "cosStep": 0.23 }
},
"pastStateT": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": { "kind": "fillFloat32", "sinStep": 0.3, "cosStep": 0.13 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [2, 2, 4], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [2, 2, 3], "tolerance": 0.000001 }
},
"provenance": {
"notes": "Kernel 4 over a length that divides into vec4 lanes, with carried state and no bias: the vectorized arm that reads past_state into the first lane's taps but adds no bias term."
}
},
{
"name": "ort_larger_dimensions_state_bias_silu",
"provenance": {
"source": "onnxruntime/test/contrib_ops/causal_conv_with_state_op_test.cc",
"test": "CausalConvWithStateTest.LargerDimensions",
"notes": "Compact deterministic projection of ORT's larger-dimension state+bias SiLU stress case."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [2, 8, 16],
"data": { "kind": "fillFloat32", "scale": 0.4, "sinStep": 0.1, "cosStep": 0.0 }
},
"weightT": {
"dtype": "float32",
"shape": [8, 1, 4],
"data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.0, "cosStep": 0.2 }
},
"biasT": {
"dtype": "float32",
"shape": [8],
"data": { "kind": "values", "values": [0.0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07] }
},
"pastStateT": {
"dtype": "float32",
"shape": [2, 8, 3],
"data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.3, "cosStep": 0.0 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [2, 8, 16], "tolerance": 0.00002 },
"presentStateT": { "dtype": "float32", "shape": [2, 8, 3], "tolerance": 0.000001 }
}
},
{
"name": "zero_length_present_state_carryover_dropped",
"attrs": { "activation": "none" },
"inputs": {
"inputT": { "dtype": "float32", "shape": [1, 2, 0], "data": { "kind": "values", "values": [] } },
"weightT": {
"dtype": "float32",
"shape": [2, 1, 3],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] }
},
"pastStateT": {
"dtype": "float32",
"shape": [1, 2, 2],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0] }
}
},
"outputs": {
"outputT": {
"dtype": "float32",
"shape": [1, 2, 0],
"data": { "kind": "values", "values": [] },
"tolerance": 0
},
"presentStateT": {
"dtype": "float32",
"shape": [1, 2, 2],
"data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0] },
"tolerance": 0
}
}
},
{
"name": "length_shorter_than_state_with_past_silu",
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 2],
"data": { "kind": "values", "values": [1.0, -2.0, 0.5, 3.0] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 5],
"data": { "kind": "values", "values": [0.1, 0.2, 0.3, 0.4, 0.5, -0.1, -0.2, 0.15, 0.25, 0.35] }
},
"pastStateT": {
"dtype": "float32",
"shape": [1, 2, 4],
"data": { "kind": "values", "values": [-1.0, 0.5, 0.3, -0.7, 0.2, -0.4, 0.6, -0.8] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 2], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0.000001 }
}
},
{
"name": "length_shorter_than_state_no_state_zero_pad",
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 2],
"data": { "kind": "values", "values": [2.0, -1.0, 0.5, 4.0] }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 4],
"data": { "kind": "values", "values": [0.25, 0.5, -0.5, 1.0, 0.1, 0.2, 0.3, 0.4] }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 2], "tolerance": 0.00001 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 3], "tolerance": 0.000001 }
}
},
{
"name": "vec4_zero_state_silu_compact",
"provenance": {
"notes": "Compact correctness lock for the aligned K=4 vec4 prefill path, including causal zero padding, SiLU, multi-batch rows, and present-state tails."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [2, 3, 8],
"data": { "kind": "fillFloat32", "scale": 0.4, "sinStep": 0.17, "cosStep": 0.31 }
},
"weightT": {
"dtype": "float32",
"shape": [3, 1, 4],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.11, "cosStep": 0.23 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [2, 3, 8], "tolerance": 0.00002 },
"presentStateT": { "dtype": "float32", "shape": [2, 3, 3], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_zero_state_compact",
"provenance": {
"notes": "Compact correctness lock for the workgroup-tiled large-kernel prefill path and its cooperative present-state update."
},
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 32],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 31], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_bias_no_state_compact",
"provenance": {
"notes": "Compact correctness lock for the bias-only specialization of the workgroup-tiled large-kernel prefill path."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 1, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [1, 1, 32],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
},
"biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } }
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 1, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [1, 1, 31], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_state_no_bias_compact",
"provenance": {
"notes": "Compact correctness lock for the carry-state specialization of the workgroup-tiled large-kernel prefill path."
},
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 1, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [1, 1, 32],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
},
"pastStateT": {
"dtype": "float32",
"shape": [1, 1, 31],
"data": { "kind": "fillFloat32", "scale": 0.15, "sinStep": 0.027, "cosStep": 0.019 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 1, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [1, 1, 31], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_state_bias_silu_compact",
"provenance": {
"notes": "Compact correctness lock for the carry-state, bias, and SiLU specialization used by the production-shape fixture."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 1, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [1, 1, 32],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
},
"biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.075] } },
"pastStateT": {
"dtype": "float32",
"shape": [1, 1, 31],
"data": { "kind": "fillFloat32", "scale": 0.15, "sinStep": 0.027, "cosStep": 0.019 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 1, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [1, 1, 31], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_state_bias_k128_wg64_multitile",
"provenance": {
"notes": "Smallest swept workgroup at the production kernel size; length 520 forces a partial second output tile."
},
"attrs": { "activation": "silu" },
"tunables": { "tiledWorkgroupSize": 64 },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 1, 520],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [1, 1, 128],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
},
"biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.075] } },
"pastStateT": {
"dtype": "float32",
"shape": [1, 1, 127],
"data": { "kind": "fillFloat32", "scale": 0.15, "sinStep": 0.027, "cosStep": 0.019 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 1, 520], "tolerance": 0.0001 },
"presentStateT": { "dtype": "float32", "shape": [1, 1, 127], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_state_bias_k128_wg256",
"provenance": { "notes": "Largest swept workgroup at the production kernel and sequence sizes." },
"attrs": { "activation": "silu" },
"tunables": { "tiledWorkgroupSize": 256 },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 1, 512],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [1, 1, 128],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
},
"biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.075] } },
"pastStateT": {
"dtype": "float32",
"shape": [1, 1, 127],
"data": { "kind": "fillFloat32", "scale": 0.15, "sinStep": 0.027, "cosStep": 0.019 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 1, 512], "tolerance": 0.0001 },
"presentStateT": { "dtype": "float32", "shape": [1, 1, 127], "tolerance": 0.000001 }
}
},
{
"name": "state_window2_pinned",
"provenance": {
"notes": "Hand-computed from the ONNX Runtime state_window contract (onnxruntime/core/graph/contrib_ops/bert_defs.cc, the CausalConvWithState schema). Upstream's own state_window cases are CUDA-only and compare against a replayed reference rather than pinned numbers, so the expected values here were worked out by hand instead of ported. Slot 0 is the carry state after position 1 and slot 1 after position 2, so slot 1 repeats what the unwindowed op writes."
},
"attrs": { "activation": "none", "state_window": 2 },
"inputs": {
"inputT": { "dtype": "float32", "shape": [1, 1, 3], "data": { "kind": "values", "values": [1.0, 2.0, 3.0] } },
"weightT": {
"dtype": "float32",
"shape": [1, 1, 3],
"data": { "kind": "values", "values": [1.0, 10.0, 100.0] }
}
},
"outputs": {
"outputT": {
"dtype": "float32",
"shape": [1, 1, 3],
"data": { "kind": "values", "values": [100.0, 210.0, 321.0] },
"tolerance": 0
},
"presentStateT": {
"dtype": "float32",
"shape": [2, 1, 1, 2],
"data": { "kind": "values", "values": [1.0, 2.0, 2.0, 3.0] },
"tolerance": 0
}
}
},
{
"name": "state_window4_longer_than_sequence",
"provenance": {
"notes": "Hand-computed from the ONNX Runtime state_window contract (onnxruntime/core/graph/contrib_ops/bert_defs.cc, the CausalConvWithState schema). Upstream's own state_window cases are CUDA-only and compare against a replayed reference rather than pinned numbers, so the expected values here were worked out by hand instead of ported. W exceeds the sequence length, so the leading W - T slots must be zero rather than uninitialized."
},
"attrs": { "activation": "none", "state_window": 4 },
"inputs": {
"inputT": { "dtype": "float32", "shape": [1, 1, 3], "data": { "kind": "values", "values": [2.0, -1.0, 4.0] } },
"weightT": {
"dtype": "float32",
"shape": [1, 1, 3],
"data": { "kind": "values", "values": [1.0, 10.0, 100.0] }
}
},
"outputs": {
"outputT": {
"dtype": "float32",
"shape": [1, 1, 3],
"data": { "kind": "values", "values": [200.0, -80.0, 392.0] },
"tolerance": 0
},
"presentStateT": {
"dtype": "float32",
"shape": [4, 1, 1, 2],
"data": { "kind": "values", "values": [0.0, 0.0, 0.0, 2.0, 2.0, -1.0, -1.0, 4.0] },
"tolerance": 0
}
}
},
{
"name": "state_window2_past_slot_pinned",
"provenance": {
"notes": "Hand-computed from the ONNX Runtime state_window contract (onnxruntime/core/graph/contrib_ops/bert_defs.cc, the CausalConvWithState schema). Upstream's own state_window cases are CUDA-only and compare against a replayed reference rather than pinned numbers, so the expected values here were worked out by hand instead of ported. past_state slot 0 is poisoned with large negatives that no correct read touches; only slot W-1 carries the previous call's state."
},
"attrs": { "activation": "none", "state_window": 2 },
"inputs": {
"inputT": { "dtype": "float32", "shape": [1, 1, 2], "data": { "kind": "values", "values": [1.0, 2.0] } },
"weightT": {
"dtype": "float32",
"shape": [1, 1, 3],
"data": { "kind": "values", "values": [1.0, 10.0, 100.0] }
},
"pastStateT": {
"dtype": "float32",
"shape": [2, 1, 1, 2],
"data": { "kind": "values", "values": [-1000.0, -2000.0, 5.0, 7.0] }
}
},
"outputs": {
"outputT": {
"dtype": "float32",
"shape": [1, 1, 2],
"data": { "kind": "values", "values": [175.0, 217.0] },
"tolerance": 0
},
"presentStateT": {
"dtype": "float32",
"shape": [2, 1, 1, 2],
"data": { "kind": "values", "values": [7.0, 1.0, 1.0, 2.0] },
"tolerance": 0
}
}
},
{
"name": "vec4_state_window3",
"provenance": {
"notes": "Gives the aligned K=4 vec4 prefill path a windowed present_state; its scalar-typed state output has to be gathered lane by lane out of the vec4 input row."
},
"attrs": { "activation": "silu", "state_window": 3 },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 8],
"data": { "kind": "fillFloat32", "scale": 0.4, "sinStep": 0.17, "cosStep": 0.31 }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 4],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.11, "cosStep": 0.23 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 8], "tolerance": 0.00002 },
"presentStateT": { "dtype": "float32", "shape": [3, 1, 2, 3], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_zero_state_window2",
"provenance": {
"notes": "Windowed present_state on the large-kernel tiled path with no past state; the state-writing tile now strides over a (slot, element) grid instead of a single slot."
},
"attrs": { "activation": "none", "state_window": 2 },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 1, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [1, 1, 32],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 1, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [2, 1, 1, 31], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_bias_no_state_window2",
"provenance": {
"notes": "Exercises windowed present-state publication on the large-kernel tiled route when bias is present but past state is absent."
},
"attrs": { "activation": "silu", "state_window": 2 },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 1, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [1, 1, 32],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
},
"biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.075] } }
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 1, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [2, 1, 1, 31], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_state_no_bias_window2",
"provenance": {
"notes": "Exercises windowed past-state reads and present-state publication on the large-kernel tiled route without bias."
},
"attrs": { "activation": "none", "state_window": 2 },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 1, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [1, 1, 32],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
},
"pastStateT": {
"dtype": "float32",
"shape": [2, 1, 1, 31],
"data": { "kind": "fillFloat32", "scale": 0.15, "sinStep": 0.027, "cosStep": 0.019 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 1, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [2, 1, 1, 31], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_state_bias_window2",
"provenance": {
"notes": "Windowed present_state on the large-kernel tiled path with a windowed past_state and bias; the earliest slot still reaches back into the carried state."
},
"attrs": { "activation": "silu", "state_window": 2 },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 1, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [1, 1, 32],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
},
"biasT": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [-0.075] } },
"pastStateT": {
"dtype": "float32",
"shape": [2, 1, 1, 31],
"data": { "kind": "fillFloat32", "scale": 0.15, "sinStep": 0.027, "cosStep": 0.019 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 1, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [2, 1, 1, 31], "tolerance": 0.000001 }
}
},
{
"name": "vec4_state_window6_longer_than_sequence",
"provenance": {
"notes": "W = 6 exceeds the four-position input, so the vec4 path's two leading window slots hold no position from this call and must be zero. Only this variant can reach that branch with a window: the tiled path demands at least 256 positions, which no legal window exceeds."
},
"attrs": { "activation": "none", "state_window": 6 },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 4],
"data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.29, "cosStep": 0.13 }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 4],
"data": { "kind": "fillFloat32", "scale": 0.3, "sinStep": 0.19, "cosStep": 0.37 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0.00002 },
"presentStateT": { "dtype": "float32", "shape": [6, 1, 2, 3], "tolerance": 0.000001 }
}
},
{
"name": "vec4_state_window_past_state_prefix",
"provenance": {
"notes": "A windowed state whose window reaches back further than this call is long, WITH a past state: the early slots carry positions from before this call, so they have to come from past_state rather than from the input row."
},
"attrs": { "activation": "silu", "state_window": 6 },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 4],
"data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.29, "cosStep": 0.13 }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 4],
"data": { "kind": "fillFloat32", "scale": 0.3, "sinStep": 0.19, "cosStep": 0.37 }
},
"pastStateT": {
"dtype": "float32",
"shape": [6, 1, 2, 3],
"data": { "kind": "fillFloat32", "sinStep": 0.29, "cosStep": 0.37, "scale": 0.5 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0.00002 },
"presentStateT": { "dtype": "float32", "shape": [6, 1, 2, 3], "tolerance": 0.000001 }
}
},
{
"name": "f16_scalar_state_bias_silu",
"provenance": {
"notes": "float16 tensors on the scalar kernel. ONNX Runtime registers this operator for the whole supported float set; this port pinned float32. Every tap and accumulation still runs in f32 and only the store narrows, which is what the kernel already did for float32."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float16",
"shape": [1, 2, 4],
"data": { "kind": "fillFloat32", "scale": 0.4, "sinStep": 0.17, "cosStep": 0.31 }
},
"weightT": {
"dtype": "float16",
"shape": [2, 1, 3],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.11, "cosStep": 0.23 }
},
"biasT": { "dtype": "float16", "shape": [2], "data": { "kind": "values", "values": [0.1, -0.2] } },
"pastStateT": {
"dtype": "float16",
"shape": [1, 2, 2],
"data": { "kind": "fillFloat32", "scale": 0.3, "sinStep": 0.29, "cosStep": 0.13 }
}
},
"outputs": {
"outputT": { "dtype": "float16", "shape": [1, 2, 4], "tolerance": 0.005 },
"presentStateT": { "dtype": "float16", "shape": [1, 2, 2], "tolerance": 0.005 }
}
},
{
"name": "f16_k4_vec4_zero_state_silu",
"provenance": {
"notes": "float16 on the four-tap vectorized kernel, which read the bound element type directly and so was the only one of the three actually pinned to float32."
},
"attrs": { "activation": "silu" },
"inputs": {
"inputT": {
"dtype": "float16",
"shape": [2, 3, 8],
"data": { "kind": "fillFloat32", "scale": 0.4, "sinStep": 0.17, "cosStep": 0.31 }
},
"weightT": {
"dtype": "float16",
"shape": [3, 1, 4],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.11, "cosStep": 0.23 }
}
},
"outputs": {
"outputT": { "dtype": "float16", "shape": [2, 3, 8], "tolerance": 0.005 },
"presentStateT": { "dtype": "float16", "shape": [2, 3, 3], "tolerance": 0.005 }
}
},
{
"name": "f16_large_kernel_tiled_state_bias",
"provenance": {
"notes": "float16 on the tiled large-kernel path, which stages the weight and the virtual input in float32 workgroup memory regardless of the tensor type."
},
"inputs": {
"inputT": {
"dtype": "float16",
"shape": [1, 1, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float16",
"shape": [1, 1, 32],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
},
"biasT": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [-0.075] } },
"pastStateT": {
"dtype": "float16",
"shape": [1, 1, 31],
"data": { "kind": "fillFloat32", "scale": 0.15, "sinStep": 0.027, "cosStep": 0.019 }
}
},
"outputs": {
"outputT": { "dtype": "float16", "shape": [1, 1, 256], "tolerance": 0.01 },
"presentStateT": { "dtype": "float16", "shape": [1, 1, 31], "tolerance": 0.005 }
}
},
{
"name": "weight_rank3_k4_vec4_zero_state",
"provenance": {
"notes": "A rank-3 weight on the four-tap vectorized kernel, where the kernel extent is read as a vec4 rather than element by element."
},
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [2, 3, 8],
"data": { "kind": "fillFloat32", "scale": 0.4, "sinStep": 0.17, "cosStep": 0.31 }
},
"weightT": {
"dtype": "float32",
"shape": [3, 1, 4],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.11, "cosStep": 0.23 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [2, 3, 8], "tolerance": 0.00002 },
"presentStateT": { "dtype": "float32", "shape": [2, 3, 3], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_unaligned_k33_weight_tile_pad",
"provenance": {
"notes": "Kernel length 1 mod 4. The tap loop consumes four weights per iteration, so this shape reaches the tiled path only via the zero-padded weight tile; before that it fell to the untiled kernel."
},
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 33],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 32], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_unaligned_k34_weight_tile_pad",
"provenance": { "notes": "Kernel length 2 mod 4 -- the other half of the padded-tail arithmetic." },
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 34],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 33], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_unaligned_k35_bias_weight_tile_pad",
"provenance": {
"notes": "Kernel length 3 mod 4, the largest pad, with a bias so the padded tail is exercised on the bias arm of the family too."
},
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 35],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
},
"biasT": {
"dtype": "float32",
"shape": [2],
"data": { "kind": "fillFloat32", "scale": 0.1, "sinStep": 0.07, "cosStep": 0.03 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 34], "tolerance": 0.000001 }
}
},
{
"name": "large_kernel_tiled_unaligned_k37_state_weight_tile_pad",
"provenance": {
"notes": "Kernel length 1 mod 4 carrying past state, so the padded weight tile is covered on the stateful arm where STATE_LENGTH stays the true kernel-1."
},
"attrs": { "activation": "none" },
"inputs": {
"inputT": {
"dtype": "float32",
"shape": [1, 2, 256],
"data": { "kind": "fillFloat32", "scale": 0.2, "sinStep": 0.013, "cosStep": 0.021 }
},
"weightT": {
"dtype": "float32",
"shape": [2, 1, 37],
"data": { "kind": "fillFloat32", "scale": 0.05, "sinStep": 0.031, "cosStep": 0.017 }
},
"pastStateT": {
"dtype": "float32",
"shape": [1, 2, 36],
"data": { "kind": "fillFloat32", "scale": 0.15, "sinStep": 0.011, "cosStep": 0.029 }
}
},
"outputs": {
"outputT": { "dtype": "float32", "shape": [1, 2, 256], "tolerance": 0.00005 },
"presentStateT": { "dtype": "float32", "shape": [1, 2, 36], "tolerance": 0.000001 }
}
}
]
}