| { |
| "op": "com.microsoft.VarlenCausalConvWithState", |
| "cases": [ |
| { |
| "name": "k4_varlen_plain", |
| "provenance": { |
| "notes": "Three packed sequences of different lengths on the streaming kernel, without bias or state_update. The uneven lengths are the point: every sequence starts its window from its own initial_state, so a kernel that walked the packed axis would read its neighbour's tail." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [8, 8], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.18000000000000002, "cosStep": 0.32 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [8, 1, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.12, "cosStep": 0.24000000000000002 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0, 3, 4, 8] } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [3, 8, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.3, "cosStep": 0.14 } |
| } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [8, 8], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [3, 8, 3], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| } |
| }, |
| { |
| "name": "k4_varlen_bias_silu", |
| "provenance": { |
| "notes": "Streaming kernel with a per-channel bias and the fused SiLU. Bias enters before the activation, so it is not a post-hoc add." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [8, 6], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.19, "cosStep": 0.33 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [6, 1, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.13, "cosStep": 0.25 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0, 2, 7, 8] } |
| }, |
| "biasT": { |
| "dtype": "float32", |
| "shape": [6], |
| "data": { "kind": "fillFloat32", "scale": 0.3, "sinStep": 0.43, "cosStep": 0.09000000000000001 } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [3, 6, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.31, "cosStep": 0.15 } |
| } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [8, 6], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [3, 6, 3], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "activation": "silu" } |
| }, |
| { |
| "name": "k4_varlen_state_update", |
| "provenance": { |
| "notes": "Covers the schema-defined compact state_update. capture_count includes full, partial, negative, or over-capacity requests as the batch permits; each request is clamped to its sequence length and capacity, active slots copy raw input tokens, and all inactive slots are zero." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [7, 6], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.2, "cosStep": 0.33999999999999997 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [6, 1, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.14, "cosStep": 0.26 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0, 4, 5, 7] } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [3, 6, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.31999999999999995, "cosStep": 0.16 } |
| }, |
| "captureCountT": { "dtype": "int32", "shape": [3], "data": { "kind": "values", "values": [3, 2, -1] } } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [7, 6], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [3, 6, 3], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "stateUpdateT": { "dtype": "float32", "shape": [3, 3, 6], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "state_update_capacity": 3 } |
| }, |
| { |
| "name": "k4_varlen_capture_without_output", |
| "provenance": { |
| "notes": "Pins the schema-independent optional output: positive state_update_capacity still requires capture_count, but omitting state_update must not change output or final_state." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [7, 6], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.2, "cosStep": 0.33999999999999997 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [6, 1, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.14, "cosStep": 0.26 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0, 4, 5, 7] } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [3, 6, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.31999999999999995, "cosStep": 0.16 } |
| }, |
| "captureCountT": { "dtype": "int32", "shape": [3], "data": { "kind": "values", "values": [3, 2, -1] } } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [7, 6], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [3, 6, 3], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "state_update_capacity": 3 } |
| }, |
| { |
| "name": "k4_varlen_empty_state_update", |
| "provenance": { |
| "notes": "Requests the optional state_update at its default zero capacity. Its exact shape is (batch_size, 0, channels), capture_count remains absent, and convolution outputs are unchanged." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [8, 8], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.18000000000000002, "cosStep": 0.32 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [8, 1, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.12, "cosStep": 0.24000000000000002 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0, 3, 4, 8] } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [3, 8, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.3, "cosStep": 0.14 } |
| } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [8, 8], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [3, 8, 3], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "stateUpdateT": { "dtype": "float32", "shape": [3, 0, 8], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| } |
| }, |
| { |
| "name": "k4_varlen_bias_state_update_swish", |
| "provenance": { |
| "notes": "Covers the schema-defined compact state_update. capture_count includes full, partial, negative, or over-capacity requests as the batch permits; each request is clamped to its sequence length and capacity, active slots copy raw input tokens, and all inactive slots are zero." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [8, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.21000000000000002, "cosStep": 0.35 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [4, 1, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.15, "cosStep": 0.27 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0, 3, 6, 8] } |
| }, |
| "biasT": { |
| "dtype": "float32", |
| "shape": [4], |
| "data": { |
| "kind": "fillFloat32", |
| "scale": 0.3, |
| "sinStep": 0.44999999999999996, |
| "cosStep": 0.11000000000000001 |
| } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [3, 4, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.32999999999999996, "cosStep": 0.17 } |
| }, |
| "captureCountT": { "dtype": "int32", "shape": [3], "data": { "kind": "values", "values": [2, 1, -1] } } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [8, 4], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [3, 4, 3], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "stateUpdateT": { "dtype": "float32", "shape": [3, 2, 4], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "activation": "swish", "state_update_capacity": 2 } |
| }, |
| { |
| "name": "k3_varlen_plain", |
| "provenance": { |
| "notes": "Kernel extent 3 falls off the streaming variant onto the portable one, which walks the window per output element for any extent." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [6, 8], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.22000000000000003, "cosStep": 0.36 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [8, 1, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.16, "cosStep": 0.28 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [3], |
| "data": { "kind": "values", "values": [0, 2, 6] } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [2, 8, 2], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.33999999999999997, "cosStep": 0.18 } |
| } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [6, 8], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [2, 8, 2], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| } |
| }, |
| { |
| "name": "k2_varlen_bias_silu", |
| "provenance": { |
| "notes": "Portable kernel at extent 2 with bias and SiLU: the shortest window that still carries state across a call." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [8, 5], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.23, "cosStep": 0.37 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [5, 1, 2], |
| "data": { |
| "kind": "fillFloat32", |
| "scale": 0.5, |
| "sinStep": 0.16999999999999998, |
| "cosStep": 0.29000000000000004 |
| } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0, 5, 7, 8] } |
| }, |
| "biasT": { |
| "dtype": "float32", |
| "shape": [5], |
| "data": { "kind": "fillFloat32", "scale": 0.3, "sinStep": 0.47, "cosStep": 0.13 } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [3, 5, 1], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.35, "cosStep": 0.19 } |
| } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [8, 5], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [3, 5, 1], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "activation": "silu" } |
| }, |
| { |
| "name": "k3_varlen_state_update", |
| "provenance": { |
| "notes": "Covers the schema-defined compact state_update. capture_count includes full, partial, negative, or over-capacity requests as the batch permits; each request is clamped to its sequence length and capacity, active slots copy raw input tokens, and all inactive slots are zero." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [8, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.24000000000000002, "cosStep": 0.38 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [4, 1, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.18, "cosStep": 0.30000000000000004 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0, 3, 4, 8] } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [3, 4, 2], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.36, "cosStep": 0.2 } |
| }, |
| "captureCountT": { "dtype": "int32", "shape": [3], "data": { "kind": "values", "values": [2, 1, -1] } } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [8, 4], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [3, 4, 2], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "stateUpdateT": { "dtype": "float32", "shape": [3, 2, 4], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "state_update_capacity": 2 } |
| }, |
| { |
| "name": "k5_varlen_bias_state_update", |
| "provenance": { |
| "notes": "Covers the schema-defined compact state_update. capture_count includes full, partial, negative, or over-capacity requests as the batch permits; each request is clamped to its sequence length and capacity, active slots copy raw input tokens, and all inactive slots are zero." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [10, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.25, "cosStep": 0.39 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [3, 1, 5], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.19, "cosStep": 0.31 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [3], |
| "data": { "kind": "values", "values": [0, 4, 10] } |
| }, |
| "biasT": { |
| "dtype": "float32", |
| "shape": [3], |
| "data": { "kind": "fillFloat32", "scale": 0.3, "sinStep": 0.49, "cosStep": 0.15000000000000002 } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [2, 3, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.37, "cosStep": 0.21000000000000002 } |
| }, |
| "captureCountT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [4, 3] } } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [10, 3], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [2, 3, 4], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "stateUpdateT": { "dtype": "float32", "shape": [2, 4, 3], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "activation": "silu", "state_update_capacity": 4 } |
| }, |
| { |
| "name": "k1_stateless_plain", |
| "provenance": { |
| "notes": "Kernel extent 1: state_length is 0, so initial_state and final_state are empty tensors and the convolution degenerates to a per-channel scale. The loops must survive a zero extent." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [5, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.26, "cosStep": 0.4 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [4, 1, 1], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.2, "cosStep": 0.32 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [3], |
| "data": { "kind": "values", "values": [0, 2, 5] } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [2, 4, 0], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.38, "cosStep": 0.22 } |
| } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [5, 4], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [2, 4, 0], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| } |
| }, |
| { |
| "name": "k4_single_long_sequence", |
| "provenance": { |
| "notes": "One sequence of 64 tokens -- the prefill shape, where the streaming kernel has only channels-many threads and each walks the whole sequence." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [64, 16], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.27, "cosStep": 0.41000000000000003 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [16, 1, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.21000000000000002, "cosStep": 0.33 } |
| }, |
| "cumulativeSequenceLengthT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [0, 64] } }, |
| "biasT": { |
| "dtype": "float32", |
| "shape": [16], |
| "data": { "kind": "fillFloat32", "scale": 0.3, "sinStep": 0.51, "cosStep": 0.17 } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [1, 16, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.39, "cosStep": 0.23 } |
| } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [64, 16], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [1, 16, 3], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "activation": "silu" } |
| }, |
| { |
| "name": "k4_all_decode_steps", |
| "provenance": { |
| "notes": "Covers the schema-defined compact state_update. capture_count includes full, partial, negative, or over-capacity requests as the batch permits; each request is clamped to its sequence length and capacity, active slots copy raw input tokens, and all inactive slots are zero." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [6, 8], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.28, "cosStep": 0.42 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [8, 1, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.22, "cosStep": 0.34 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [7], |
| "data": { "kind": "values", "values": [0, 1, 2, 3, 4, 5, 6] } |
| }, |
| "biasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "scale": 0.3, "sinStep": 0.52, "cosStep": 0.18 } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [6, 8, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.39999999999999997, "cosStep": 0.24 } |
| }, |
| "captureCountT": { "dtype": "int32", "shape": [6], "data": { "kind": "values", "values": [1, 0, -1, 3, 1, 0] } } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [6, 8], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [6, 8, 3], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "stateUpdateT": { "dtype": "float32", "shape": [6, 1, 8], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "state_update_capacity": 1 } |
| }, |
| { |
| "name": "k4_rank3_weight", |
| "provenance": { "notes": "Pins the schema's required `(channels, 1, kernel_size)` weight layout." }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [5, 6], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.29000000000000004, "cosStep": 0.43 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [6, 1, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.22999999999999998, "cosStep": 0.35 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [3], |
| "data": { "kind": "values", "values": [0, 3, 5] } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [2, 6, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.41, "cosStep": 0.25 } |
| } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [5, 6], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [2, 6, 3], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| } |
| }, |
| { |
| "name": "k4_state_update_capacity_8", |
| "provenance": { |
| "notes": "Covers the schema-defined compact state_update. capture_count includes full, partial, negative, or over-capacity requests as the batch permits; each request is clamped to its sequence length and capacity, active slots copy raw input tokens, and all inactive slots are zero." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [13, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.30000000000000004, "cosStep": 0.44 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [4, 1, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.24, "cosStep": 0.36 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [3], |
| "data": { "kind": "values", "values": [0, 10, 13] } |
| }, |
| "biasT": { |
| "dtype": "float32", |
| "shape": [4], |
| "data": { "kind": "fillFloat32", "scale": 0.3, "sinStep": 0.54, "cosStep": 0.2 } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [2, 4, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.42, "cosStep": 0.26 } |
| }, |
| "captureCountT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [8, 7] } } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [13, 4], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [2, 4, 3], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "stateUpdateT": { "dtype": "float32", "shape": [2, 8, 4], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "activation": "silu", "state_update_capacity": 8 } |
| }, |
| { |
| "name": "k12_large_kernel_bias_state_update", |
| "provenance": { |
| "notes": "Covers the schema-defined compact state_update. capture_count includes full, partial, negative, or over-capacity requests as the batch permits; each request is clamped to its sequence length and capacity, active slots copy raw input tokens, and all inactive slots are zero." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [14, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.33, "cosStep": 0.47 } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [4, 1, 12], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.27, "cosStep": 0.39 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [3], |
| "data": { "kind": "values", "values": [0, 5, 14] } |
| }, |
| "biasT": { |
| "dtype": "float32", |
| "shape": [4], |
| "data": { "kind": "fillFloat32", "scale": 0.3, "sinStep": 0.57, "cosStep": 0.23 } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [2, 4, 11], |
| "data": { |
| "kind": "fillFloat32", |
| "scale": 0.6, |
| "sinStep": 0.44999999999999996, |
| "cosStep": 0.29000000000000004 |
| } |
| }, |
| "captureCountT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [3, 2] } } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float32", "shape": [14, 4], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "finalStateT": { "dtype": "float32", "shape": [2, 4, 11], "tolerance": 0.00001, "relTolerance": 0.0001 }, |
| "stateUpdateT": { "dtype": "float32", "shape": [2, 3, 4], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "activation": "silu", "state_update_capacity": 3 } |
| }, |
| { |
| "name": "f16_k4_bias_silu", |
| "provenance": { |
| "notes": "float16 tensors on the streaming kernel. Taps and accumulation stay in f32 and only the store narrows, which is what the f32 path already did." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float16", |
| "shape": [5, 6], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.31000000000000005, "cosStep": 0.45 } |
| }, |
| "weightT": { |
| "dtype": "float16", |
| "shape": [6, 1, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.25, "cosStep": 0.37 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [3], |
| "data": { "kind": "values", "values": [0, 3, 5] } |
| }, |
| "biasT": { |
| "dtype": "float16", |
| "shape": [6], |
| "data": { "kind": "fillFloat32", "scale": 0.3, "sinStep": 0.55, "cosStep": 0.21000000000000002 } |
| }, |
| "initialStateT": { |
| "dtype": "float16", |
| "shape": [2, 6, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.43, "cosStep": 0.27 } |
| } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float16", "shape": [5, 6], "tolerance": 0.005 }, |
| "finalStateT": { "dtype": "float16", "shape": [2, 6, 3], "tolerance": 0.005 } |
| }, |
| "attrs": { "activation": "silu" } |
| }, |
| { |
| "name": "f16_k3_state_update", |
| "provenance": { |
| "notes": "Covers the schema-defined compact state_update. capture_count includes full, partial, negative, or over-capacity requests as the batch permits; each request is clamped to its sequence length and capacity, active slots copy raw input tokens, and all inactive slots are zero." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float16", |
| "shape": [5, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.7, "sinStep": 0.32, "cosStep": 0.45999999999999996 } |
| }, |
| "weightT": { |
| "dtype": "float16", |
| "shape": [4, 1, 3], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.26, "cosStep": 0.38 } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [3], |
| "data": { "kind": "values", "values": [0, 2, 5] } |
| }, |
| "initialStateT": { |
| "dtype": "float16", |
| "shape": [2, 4, 2], |
| "data": { "kind": "fillFloat32", "scale": 0.6, "sinStep": 0.43999999999999995, "cosStep": 0.28 } |
| }, |
| "captureCountT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [2, 1] } } |
| }, |
| "outputs": { |
| "outputT": { "dtype": "float16", "shape": [5, 4], "tolerance": 0.005 }, |
| "finalStateT": { "dtype": "float16", "shape": [2, 4, 2], "tolerance": 0.005 }, |
| "stateUpdateT": { "dtype": "float16", "shape": [2, 2, 4], "tolerance": 0.005 } |
| }, |
| "attrs": { "state_update_capacity": 2 } |
| }, |
| { |
| "name": "pinned_k4_boundary_bias_silu", |
| "provenance": { |
| "notes": "Hand-computed from the schema by an independent CPU model that materializes each sequence's sample stream by concatenation instead of computing addresses. Sequence 1's samples are an order of magnitude larger than sequence 0's, so a window that crossed the boundary could not cancel out to the right answer." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [5, 2], |
| "data": { "kind": "values", "values": [0.5, -0.25, 1.0, 0.75, -0.5, 0.25, 8.0, -6.0, 4.0, 12.0] } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [2, 1, 4], |
| "data": { "kind": "values", "values": [0.5, 0.25, -0.125, 2.0, 1.0, -0.5, 0.25, 0.75] } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [3], |
| "data": { "kind": "values", "values": [0, 3, 5] } |
| }, |
| "biasT": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.125, -0.25] } }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [2, 2, 3], |
| "data": { "kind": "values", "values": [0.25, -0.5, 1.5, 2.0, 0.5, -1.0, -3.0, 7.0, 5.0, 9.0, -11.0, 13.0] } |
| } |
| }, |
| "outputs": { |
| "outputT": { |
| "dtype": "float32", |
| "shape": [5, 2], |
| "data": { |
| "kind": "values", |
| "values": [0.6736822, 0.789616, 1.966828, 0.9716248, -0.0585988, -0.240616, 15.7499977, 12.9999706, 11.8749173, -0.0003624] |
| }, |
| "tolerance": 0.00001, |
| "relTolerance": 0.0001 |
| }, |
| "finalStateT": { |
| "dtype": "float32", |
| "shape": [2, 2, 3], |
| "data": { "kind": "values", "values": [0.5, 1.0, -0.5, -0.25, 0.75, 0.25, 5.0, 8.0, 4.0, 13.0, -6.0, 12.0] }, |
| "tolerance": 0.00001, |
| "relTolerance": 0.0001 |
| } |
| }, |
| "attrs": { "activation": "silu" } |
| }, |
| { |
| "name": "pinned_k4_state_update_zero_fill", |
| "provenance": { |
| "notes": "Covers the schema-defined compact state_update. capture_count includes full, partial, negative, or over-capacity requests as the batch permits; each request is clamped to its sequence length and capacity, active slots copy raw input tokens, and all inactive slots are zero." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [4, 2], |
| "data": { "kind": "values", "values": [1.5, -2.5, 0.25, 3.0, -1.25, 0.5, 2.0, -0.75] } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [2, 1, 4], |
| "data": { "kind": "values", "values": [0.5, -0.25, 1.0, 0.125, 2.0, 0.75, -1.5, 0.25] } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [3], |
| "data": { "kind": "values", "values": [0, 3, 4] } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [2, 2, 3], |
| "data": { "kind": "values", "values": [1.0, -2.0, 4.0, -8.0, 16.0, -32.0, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5] } |
| }, |
| "captureCountT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [3, 2] } } |
| }, |
| "outputs": { |
| "outputT": { |
| "dtype": "float32", |
| "shape": [4, 2], |
| "data": { "kind": "values", "values": [5.1875, 43.375, -0.46875, 12.5, 1.71875, -70.25, 2.625, 1.9375] }, |
| "tolerance": 0.00001, |
| "relTolerance": 0.0001 |
| }, |
| "finalStateT": { |
| "dtype": "float32", |
| "shape": [2, 2, 3], |
| "data": { "kind": "values", "values": [1.5, 0.25, -1.25, -2.5, 3.0, 0.5, 1.5, 2.5, 2.0, 4.5, 5.5, -0.75] }, |
| "tolerance": 0.00001, |
| "relTolerance": 0.0001 |
| }, |
| "stateUpdateT": { "dtype": "float32", "shape": [2, 3, 2], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "state_update_capacity": 3 } |
| }, |
| { |
| "name": "pinned_k3_portable_state_update", |
| "provenance": { |
| "notes": "Covers the schema-defined compact state_update. capture_count includes full, partial, negative, or over-capacity requests as the batch permits; each request is clamped to its sequence length and capacity, active slots copy raw input tokens, and all inactive slots are zero." |
| }, |
| "inputs": { |
| "inputT": { |
| "dtype": "float32", |
| "shape": [5, 2], |
| "data": { "kind": "values", "values": [2.0, 1.0, -4.0, 0.5, 0.25, -8.0, 16.0, 0.125, -0.5, 32.0] } |
| }, |
| "weightT": { |
| "dtype": "float32", |
| "shape": [2, 1, 3], |
| "data": { "kind": "values", "values": [1.0, -2.0, 0.5, 0.25, 4.0, -1.0] } |
| }, |
| "cumulativeSequenceLengthT": { |
| "dtype": "int32", |
| "shape": [3], |
| "data": { "kind": "values", "values": [0, 3, 5] } |
| }, |
| "initialStateT": { |
| "dtype": "float32", |
| "shape": [2, 2, 2], |
| "data": { "kind": "values", "values": [3.0, -6.0, 12.0, 0.75, -24.0, 48.0, 0.375, -96.0] } |
| }, |
| "captureCountT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [2, 1] } } |
| }, |
| "outputs": { |
| "outputT": { |
| "dtype": "float32", |
| "shape": [5, 2], |
| "data": { |
| "kind": "values", |
| "values": [16.0, 5.0, -12.0, 3.6875, 10.125, 10.25, -112.0, -384.03125, 15.75, -55.5] |
| }, |
| "tolerance": 0.00001, |
| "relTolerance": 0.0001 |
| }, |
| "finalStateT": { |
| "dtype": "float32", |
| "shape": [2, 2, 2], |
| "data": { "kind": "values", "values": [-4.0, 0.25, 0.5, -8.0, 16.0, -0.5, 0.125, 32.0] }, |
| "tolerance": 0.00001, |
| "relTolerance": 0.0001 |
| }, |
| "stateUpdateT": { "dtype": "float32", "shape": [2, 2, 2], "tolerance": 0.00001, "relTolerance": 0.0001 } |
| }, |
| "attrs": { "state_update_capacity": 2 } |
| } |
| ] |
| } |
|
|