Download build/webgpu/test.json from webgpu-kernels/com.microsoft.SparseAttention: direct link, hf CLI and curl.
- Browser
- Download file 341 kB
-
https://huggingface.co/kernels/webgpu-kernels/com.microsoft.SparseAttention/resolve/v1/build/webgpu/test.json
- Command line
-
hf download hf://webgpu-kernels/com.microsoft.SparseAttention@v1/build/webgpu/test.json
-
curl -L -o test.json https://huggingface.co/kernels/webgpu-kernels/com.microsoft.SparseAttention/resolve/v1/build/webgpu/test.json
341 kB
| { | |
| "fixtureArrays": { | |
| "prompt_separate_two_layouts_input_blockColIndicesT": [0, 0, 1, 1, 2, 1, 2, 3, -1, 0, 0, 1, 0, 1, 2, 0, 2, 3] | |
| }, | |
| "cases": [ | |
| { | |
| "name": "prompt_separate_f32_tile8_occupancy_b4_s68_h32", | |
| "provenance": { | |
| "notes": "A 4-batch, 68-token sparse-attention prompt (not a multiple of the 64-token block size) with 32 query heads grouped 4:1 over 8 key/value heads, head width 128." | |
| }, | |
| "attrs": { "num_heads": 32, "kv_num_heads": 8, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [4, 68, 4096], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [4, 68, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [4, 68, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [4, 8, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [4, 8, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [4, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 3, 5, 7, 0, 1, 3, 5, 7, 0, 1, 3, 5, 7] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [4, 7], | |
| "data": { | |
| "kind": "values", | |
| "values": [0, 0, 1, 0, 2, 1, 3, 0, 0, 1, 0, 2, 1, 3, 0, 0, 1, 0, 2, 1, 3, 0, 0, 1, 0, 2, 1, 3] | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [68] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [4], | |
| "data": { "kind": "values", "values": [68, 68, 68, 68] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [4, 68, 4096], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [4, 8, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [4, 8, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "prompt_separate_two_layouts", | |
| "provenance": { | |
| "notes": "The two-layout CSR example from the ONNX Runtime operator documentation, using separate Q/K/V tensors." | |
| }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 32, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 32, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 32, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [32, 32] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 32, 32], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "prompt_packed_two_layouts", | |
| "provenance": { "notes": "Packed [Q|K|V] form of the documented two-layout prompt case." }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 32, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.27, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 64, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 64, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 32, 32], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "prompt_separate_rotary_neox", | |
| "provenance": { | |
| "notes": "Full-width NeoX rotary with the minimum accepted head width; rotary_interleaved values other than 1 retain the NeoX layout." | |
| }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16, "do_rotary": 1, "rotary_interleaved": 2 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 32, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 32, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 32, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 64, 16], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 64, 16], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } }, | |
| "cosCacheT": { "dtype": "float32", "shape": [64, 8], "data": { "kind": "constant", "value": 0.8 } }, | |
| "sinCacheT": { "dtype": "float32", "shape": [64, 8], "data": { "kind": "constant", "value": 0.6 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 32, 64], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 64, 16], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 64, 16], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "prompt_packed_partial_rotary_interleaved", | |
| "provenance": { | |
| "notes": "Packed QKV with interleaved rotary over the first 16 of 32 head channels; ONNX Runtime copies the remainder through." | |
| }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 32, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.19, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 64, 32], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 64, 32], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } }, | |
| "cosCacheT": { "dtype": "float32", "shape": [64, 8], "data": { "kind": "constant", "value": 0.8 } }, | |
| "sinCacheT": { "dtype": "float32", "shape": [64, 8], "data": { "kind": "constant", "value": 0.6 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 32, 128], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 64, 32], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 64, 32], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "decode_separate_two_layouts", | |
| "provenance": { | |
| "notes": "Two decode rows with different history lengths, so the scalar maximum and per-row key lengths have distinct jobs." | |
| }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 32], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "decode_packed_rotary_neox", | |
| "provenance": { "notes": "Packed decode with full-width NeoX rotary at each row's absolute position." }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16, "do_rotary": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } }, | |
| "cosCacheT": { "dtype": "float32", "shape": [64, 8], "data": { "kind": "constant", "value": 0.8 } }, | |
| "sinCacheT": { "dtype": "float32", "shape": [64, 8], "data": { "kind": "constant", "value": 0.6 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 64], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 16], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 16], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "chunked_separate_two_layouts", | |
| "provenance": { | |
| "notes": "Eight new tokens over 24 cached tokens, covering the non-prompt sequence_length > 1 path." | |
| }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 8, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 8, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 8, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [32, 32] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 8, 32], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "prompt_all_rows_gqa_four_to_one", | |
| "provenance": { | |
| "notes": "A 64-token prompt reaches every documented block row while four query heads share each KV head." | |
| }, | |
| "attrs": { "num_heads": 8, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 64, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 64, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 64, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 64, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 64, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [64] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [64] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 64, 64], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "prompt_block32_head_dim16", | |
| "provenance": { | |
| "notes": "Block size 32 and head width 16 exercise independent key-tile and output-channel tails." | |
| }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 32 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 64, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 128, 16], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 128, 16], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [64] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [64] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 64, 64], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 128, 16], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 128, 16], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "prompt_explicit_scale", | |
| "provenance": { "notes": "Explicit non-default score scale." }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16, "scale": 0.25 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 32, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 32, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 32, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 64, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 64, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 32, 32], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 64, 8], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "f16_prompt_separate", | |
| "provenance": { "notes": "Meaningful float16 prompt; scores and online-softmax accumulators remain float32." }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [1, 32, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [1, 32, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [1, 32, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float16", "shape": [1, 2, 64, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float16", "shape": [1, 2, 64, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [1, 32, 32], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [1, 2, 64, 8], "tolerance": 0.001, "relTolerance": 0.001 }, | |
| "pastValueT": { "dtype": "float16", "shape": [1, 2, 64, 8], "tolerance": 0.001, "relTolerance": 0.001 } | |
| } | |
| }, | |
| { | |
| "name": "f16_decode_packed_partial_rotary", | |
| "provenance": { "notes": "Float16 packed decode with partial NeoX rotary and unequal per-batch history lengths." }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16, "do_rotary": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } }, | |
| "cosCacheT": { "dtype": "float16", "shape": [64, 8], "data": { "kind": "constant", "value": 0.8 } }, | |
| "sinCacheT": { "dtype": "float16", "shape": [64, 8], "data": { "kind": "constant", "value": 0.6 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 128], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 32], "tolerance": 0.002, "relTolerance": 0.005 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 32], "tolerance": 0.001, "relTolerance": 0.001 } | |
| } | |
| }, | |
| { | |
| "name": "dense_layout_ignores_malformed_columns", | |
| "provenance": { | |
| "notes": "ORT classifies a layout from its final CSR count. Once dense, repeated non-prefix column contents are ignored." | |
| }, | |
| "attrs": { "num_heads": 1, "kv_num_heads": 1, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 32, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 32, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 32, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 32, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 32, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { "dtype": "int32", "shape": [1, 3], "data": { "kind": "values", "values": [0, 1, 3] } }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [1, 3], "data": { "kind": "values", "values": [1, 1, 1] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [32] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 32, 8], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 32, 8], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 32, 8], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sparse_duplicate_columns_are_idempotent", | |
| "provenance": { | |
| "notes": "A sparse row repeats block 0. CSR encodes a boolean mask, so the duplicate must not duplicate probability mass." | |
| }, | |
| "attrs": { "num_heads": 1, "kv_num_heads": 1, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 48, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 48, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 48, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 48, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 48, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { "dtype": "int32", "shape": [1, 4], "data": { "kind": "values", "values": [0, 1, 3, 5] } }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [1, 5], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [48] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [48] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 48, 8], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 48, 8], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 48, 8], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "empty_csr_row_uniform_scalar_total", | |
| "provenance": { | |
| "notes": "Pinned all-masked-row behavior from ORT's lowest-sentinel softmax: one causal key yields its value, not zero. Also covers scalar total_sequence_length and a zero-width column tensor." | |
| }, | |
| "attrs": { "num_heads": 1, "kv_num_heads": 1, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 8], | |
| "data": { "kind": "values", "values": [0.5, -0.5, 1.0, -1.0, 2.0, -2.0, 3.0, -3.0] } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 8], | |
| "data": { "kind": "values", "values": [8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0] } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 8], | |
| "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 16, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 16, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { "dtype": "int32", "shape": [1, 2], "data": { "kind": "values", "values": [0, 0] } }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [1, 0], "data": { "kind": "values", "values": [] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [], "data": { "kind": "values", "values": [1] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [1] } } | |
| }, | |
| "outputs": { | |
| "outputT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 8], | |
| "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] }, | |
| "tolerance": 0 | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 16, 8], "tolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 16, 8], "tolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "optional_rotary_input_ignored_when_attribute_is_not_one", | |
| "provenance": { | |
| "notes": "The CPU kernel enables do_rotary only for the exact integer value 1. Otherwise optional rotary inputs are ignored and need not be paired." | |
| }, | |
| "attrs": { "num_heads": 1, "kv_num_heads": 1, "sparse_block_size": 16, "do_rotary": 2, "rotary_interleaved": 2 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 16, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 16, 8], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { "dtype": "int32", "shape": [1, 2], "data": { "kind": "values", "values": [0, 1] } }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [1, 1], "data": { "kind": "values", "values": [0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [1] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [1] } }, | |
| "cosCacheT": { "dtype": "float32", "shape": [1, 1], "data": { "kind": "constant", "value": 0.0 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 1, 8], "tolerance": 0.000001, "relTolerance": 0.000001 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 16, 8], "tolerance": 0.000001, "relTolerance": 0.000001 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 16, 8], "tolerance": 0.000001, "relTolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "zero_width_rotary_is_a_noop", | |
| "provenance": { | |
| "notes": "ONNX Runtime accepts zero-width paired caches with do_rotary=1; the resulting zero-dimensional rotary transform copies Q and K through." | |
| }, | |
| "attrs": { "num_heads": 1, "kv_num_heads": 1, "sparse_block_size": 16, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 1, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 16, 16], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 16, 16], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { "dtype": "int32", "shape": [1, 2], "data": { "kind": "values", "values": [0, 1] } }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [1, 1], "data": { "kind": "values", "values": [0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [1] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [1] } }, | |
| "cosCacheT": { "dtype": "float32", "shape": [1, 0], "data": { "kind": "values", "values": [] } }, | |
| "sinCacheT": { "dtype": "float32", "shape": [1, 0], "data": { "kind": "values", "values": [] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 1, 16], "tolerance": 0.000001, "relTolerance": 0.000001 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 16, 16], "tolerance": 0.000001, "relTolerance": 0.000001 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 16, 16], "tolerance": 0.000001, "relTolerance": 0.000001 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_prompt_separate_blk64_duplicate_csr", | |
| "provenance": { | |
| "notes": "Prefill shape on the subgroup-matrix route: 64-token blocks, a duplicate CSR column whose repeated block must not repeat its mass, a dense-by-count row, and an off-diagonal-only row." | |
| }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 192, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 192, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 192, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 192, 64], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 192, 64], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 4], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 0, 1, 2, 3] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 0, 1, 1, 1, 0, 1, 2, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [192] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [192] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 192, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 192, 64], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 192, 64], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_prompt_packed_blk64", | |
| "provenance": { | |
| "notes": "Packed [Q|K|V] prefill checks that layout 0 ignores dense-row column values while layout 1 retains a gapped sparse row." | |
| }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 128, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 128, 64], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 128, 64], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 3, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 1, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 128, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 128, 64], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 128, 64], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_prompt_separate_rotary_neox_blk64", | |
| "provenance": { | |
| "notes": "Grouped-query prefill with partial NeoX rotary on the subgroup-matrix route; the attention pass reads the rotated-Q intermediate." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 1, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 128, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 128, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 128, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 128, 64], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 128, 64], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 3, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 1, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "cosCacheT": { "dtype": "float32", "shape": [128, 16], "data": { "kind": "constant", "value": 0.8 } }, | |
| "sinCacheT": { "dtype": "float32", "shape": [128, 16], "data": { "kind": "constant", "value": 0.6 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 128, 128], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 128, 64], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 128, 64], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_prompt_packed_rotary_interleaved_blk64", | |
| "provenance": { | |
| "notes": "A packed [Q|K|V] prefill with 2 query and 2 key/value heads at head width 32, full interleaved rotary embedding (rotary dimension equal to head width), and 64-token sparse blocks." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 128, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 128, 32], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 128, 32], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 3, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 1, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "cosCacheT": { "dtype": "float32", "shape": [128, 16], "data": { "kind": "constant", "value": 0.8 } }, | |
| "sinCacheT": { "dtype": "float32", "shape": [128, 16], "data": { "kind": "constant", "value": 0.6 } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 128, 64], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 2, 128, 32], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 2, 128, 32], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_prompt_tail_s100_explicit_scale", | |
| "provenance": { | |
| "notes": "A 100-token prefill leaves the second query tile 36 rows live, exercising the staged-Q zero padding and guarded stores; the explicit scale attribute overrides the head-size default." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 1, "sparse_block_size": 64, "scale": 0.25 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 100, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 100, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 100, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 128, 32], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 128, 32], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { "dtype": "int32", "shape": [1, 3], "data": { "kind": "values", "values": [0, 1, 3] } }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [1, 3], "data": { "kind": "values", "values": [0, 0, 1] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [100] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [100] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 100, 64], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 128, 32], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 128, 32], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_prompt_blk128_subtiles", | |
| "provenance": { | |
| "notes": "128-token sparse blocks decompose into two 64-key tiles per block at head_size 128, the flagship geometry; the second mask row skips block 0 so its diagonal block carries the ragged causal edge." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 1, "sparse_block_size": 128 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 256, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 256, 128], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 256, 128], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { "dtype": "int32", "shape": [1, 3], "data": { "kind": "values", "values": [0, 1, 2] } }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [1, 2], "data": { "kind": "values", "values": [0, 1] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 256, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_chunked_two_mask_rows", | |
| "provenance": { | |
| "notes": "A chunked sparse-attention prefill with 2 batches: past lengths of 100 and 68 tokens (each not a multiple of the 64-token block size) precede a shared 64-token query chunk. 2 query and 2 key/value heads, head width 64." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [164, 132] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 64, 128], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_empty_row_uniform_fallback", | |
| "provenance": { | |
| "notes": "The second block row of the mask is empty, so its 64 queries follow ONNX Runtime's all-masked behavior and return the uniform average of the values in their causal history." | |
| }, | |
| "attrs": { "num_heads": 1, "kv_num_heads": 1, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [1, 128, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [1, 128, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [1, 128, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 128, 64], "data": { "kind": "constant", "value": 0.0 } }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 128, 64], "data": { "kind": "constant", "value": 0.0 } }, | |
| "blockRowIndicesT": { "dtype": "int32", "shape": [1, 3], "data": { "kind": "values", "values": [0, 1, 1] } }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [1, 1], "data": { "kind": "values", "values": [0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [1, 128, 64], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [1, 1, 128, 64], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [1, 1, 128, 64], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_capacity_d96_s64_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Three 32-wide head blocks exercise the final partial publication bank on a constrained matrix tile; per-batch history crosses sparse rows, with complete and padded query tiles." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 64, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 64, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 64, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [164, 132] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 64, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_capacity_d96_s64_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Three 32-wide head blocks exercise the final partial publication bank on a constrained matrix tile; per-batch history crosses sparse rows, with complete and padded query tiles." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 64, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 64, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 64, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [164, 132] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 64, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_capacity_d96_s64_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Three 32-wide head blocks exercise the final partial publication bank on a constrained matrix tile; per-batch history crosses sparse rows, with complete and padded query tiles." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 64, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [164, 132] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 64, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_capacity_d96_s64_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Three 32-wide head blocks exercise the final partial publication bank on a constrained matrix tile; per-batch history crosses sparse rows, with complete and padded query tiles." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 64, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [164, 132] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 64, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_capacity_d96_s65_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Three 32-wide head blocks exercise the final partial publication bank on a constrained matrix tile; per-batch history crosses sparse rows, with complete and padded query tiles." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [165, 133] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_capacity_d96_s65_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Three 32-wide head blocks exercise the final partial publication bank on a constrained matrix tile; per-batch history crosses sparse rows, with complete and padded query tiles." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [165, 133] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_capacity_d96_s65_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Three 32-wide head blocks exercise the final partial publication bank on a constrained matrix tile; per-batch history crosses sparse rows, with complete and padded query tiles." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [165, 133] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_capacity_d96_s65_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Three 32-wide head blocks exercise the final partial publication bank on a constrained matrix tile; per-batch history crosses sparse rows, with complete and padded query tiles." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [165, 133] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_parallelism_d96_s128", | |
| "provenance": { | |
| "notes": "The matrix scheduling boundary: 16 or 32 workgroups with identical batch/head geometry. A 96-wide head exercises partial result-bank publication on the smaller capacity tier." | |
| }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [256, 256] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 128, 384], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "sgmat_parallelism_d96_s256", | |
| "provenance": { | |
| "notes": "The matrix scheduling boundary: 16 or 32 workgroups with identical batch/head geometry. A 96-wide head exercises partial result-bank publication on the smaller capacity tier." | |
| }, | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 256, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 256, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 256, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [256, 256] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 256, 384], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d8-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 32], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 8], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 8], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d8-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 32], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 8], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 8], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d24-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 24], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 24], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 96], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 24], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 24], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d24-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 24], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 24], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 96], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 24], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 24], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d32-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 128], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 32], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 32], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d32-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 128], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 32], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 32], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d48-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 192], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 48], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 48], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d48-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 192], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 48], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 48], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d64-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 256], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 64], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 64], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d64-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 256], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 64], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 64], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d96-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 384], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 96], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d96-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 384], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 96], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d128-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 512], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d128-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 512], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d256-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 1024], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 256], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 256], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d256-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 1024], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 256], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 256], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d512-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 2048], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 2048], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 512], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 512], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d512-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 2048], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 2048], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 512], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 512], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d520-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 2080], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 1040], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 1040], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 520], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 520], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 2080], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 520], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 520], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float32-d520-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 2080], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 1040], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 1040], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 520], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 520], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 2080], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 520], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 520], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d8-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 32], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 8], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 8], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d8-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 32], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 8], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 8], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d24-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 24], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 24], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 96], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 24], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 24], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d24-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 24], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 24], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 96], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 24], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 24], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d32-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 128], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 32], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 32], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d32-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 128], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 32], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 32], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d48-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 192], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 48], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 48], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d48-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 192], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 48], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 48], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d64-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 256], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 64], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 64], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d64-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 256], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 64], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 64], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d96-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 384], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 96], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d96-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 384], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 96], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d128-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 512], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d128-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 512], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d256-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 1024], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 256], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 256], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d256-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 1024], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 256], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 256], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d512-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 2048], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 2048], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 512], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 512], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d512-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 2048], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 1024], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 2048], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 512], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 512], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d520-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 2080], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 1040], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 1040], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 520], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 520], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 2080], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 520], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 520], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-partition-float16-d520-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 2080], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 1040], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 1040], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 520], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 520], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 2080], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 520], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 520], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "value-owner-float32-d144-wg32-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 288], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 288], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 144], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 144], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 576], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 144], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 144], "tolerance": 0, "relTolerance": 0 } | |
| }, | |
| "tunables": { "WORKGROUP_SIZE": 32 } | |
| }, | |
| { | |
| "name": "value-owner-float32-d144-wg32-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 288], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 288], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 144], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 144], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 576], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 144], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 144], "tolerance": 0, "relTolerance": 0 } | |
| }, | |
| "tunables": { "WORKGROUP_SIZE": 32 } | |
| }, | |
| { | |
| "name": "value-owner-float16-d144-wg32-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 288], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 288], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 144], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 144], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 576], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 144], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 144], "tolerance": 0, "relTolerance": 0 } | |
| }, | |
| "tunables": { "WORKGROUP_SIZE": 32 } | |
| }, | |
| { | |
| "name": "value-owner-float16-d144-wg32-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 288], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 288], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 144], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 144], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 576], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 144], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 144], "tolerance": 0, "relTolerance": 0 } | |
| }, | |
| "tunables": { "WORKGROUP_SIZE": 32 } | |
| }, | |
| { | |
| "name": "value-staged-float32-d128-wg32-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 1, 512], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 } | |
| }, | |
| "tunables": { "WORKGROUP_SIZE": 32 } | |
| }, | |
| { | |
| "name": "value-staged-float32-d128-wg32-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 5, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 5, 512], "tolerance": 0.00003, "relTolerance": 0.0003 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 } | |
| }, | |
| "tunables": { "WORKGROUP_SIZE": 32 } | |
| }, | |
| { | |
| "name": "value-staged-float16-d128-wg32-s1", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 1, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 1, 512], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 } | |
| }, | |
| "tunables": { "WORKGROUP_SIZE": 32 } | |
| }, | |
| { | |
| "name": "value-staged-float16-d128-wg32-s5", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 16 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 5, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 64, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 8, 0, 1, 3, 6, 9] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 9], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/prompt_separate_two_layouts_input_blockColIndicesT" } | |
| } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [41] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [41, 34] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 5, 512], "tolerance": 0.003, "relTolerance": 0.01 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 64, 128], "tolerance": 0, "relTolerance": 0 } | |
| }, | |
| "tunables": { "WORKGROUP_SIZE": 32 } | |
| }, | |
| { | |
| "name": "sgmat_online_score_shifts_d32", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 64, "scale": 0.25 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 2.0 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 2.0 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 2.0 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [256, 256] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 128, 128], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 32], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 32], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| }, | |
| "provenance": { | |
| "notes": "Explicit score scaling and larger Q/K magnitudes exercise online softmax rescaling across multiple key tiles, including both key-tile capacities and a partial output-fragment bank." | |
| } | |
| }, | |
| { | |
| "name": "sgmat_online_score_shifts_d64", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 64, "scale": 0.25 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 2.0 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 2.0 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 2.0 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [256, 256] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 128, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| }, | |
| "provenance": { | |
| "notes": "Explicit score scaling and larger Q/K magnitudes exercise online softmax rescaling across multiple key tiles, including both key-tile capacities and a partial output-fragment bank." | |
| } | |
| }, | |
| { | |
| "name": "sgmat_online_score_shifts_d96", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 64, "scale": 0.25 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 2.0 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 2.0 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 2.0 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [256, 256] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 128, 384], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| }, | |
| "provenance": { | |
| "notes": "Explicit score scaling and larger Q/K magnitudes exercise online softmax rescaling across multiple key tiles, including both key-tile capacities and a partial output-fragment bank." | |
| } | |
| }, | |
| { | |
| "name": "sgmat_online_score_shifts_d128", | |
| "attrs": { "num_heads": 4, "kv_num_heads": 2, "sparse_block_size": 64, "scale": 0.25 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 512], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 2.0 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 2.0 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 128, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 2.0 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [256, 256] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 128, 512], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| }, | |
| "provenance": { | |
| "notes": "Explicit score scaling and larger Q/K magnitudes exercise online softmax rescaling across multiple key tiles, including both key-tile capacities and a partial output-fragment bank." | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s66_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [166, 134] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s66_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [166, 134] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s66_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [166, 134] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s66_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [166, 134] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s67_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [167, 135] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s67_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [167, 135] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s67_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [167, 135] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s67_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [167, 135] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s68_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [168, 136] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 68, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s68_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [168, 136] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 68, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s68_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [168, 136] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 68, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d96_s68_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [168, 136] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 68, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s66_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [166, 134] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s66_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [166, 134] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s66_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 768], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [166, 134] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s66_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 768], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [166, 134] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s67_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [167, 135] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s67_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [167, 135] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s67_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 768], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [167, 135] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s67_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 768], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [167, 135] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s68_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [168, 136] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 68, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s68_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [168, 136] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 68, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s68_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 768], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [168, 136] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 68, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s68_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 768], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [168, 136] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 68, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s65_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s65_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s65_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s65_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s66_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s66_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s66_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s66_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s67_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s67_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s67_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_query_tail_s67_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 128, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s65_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s65_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0.001, "relTolerance": 0.001 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s65_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 65, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s65_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 65, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0.001, "relTolerance": 0.001 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s66_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s66_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0.001, "relTolerance": 0.001 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s66_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 66, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s66_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 66, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0.001, "relTolerance": 0.001 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s67_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s67_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float16", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float16", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0.001, "relTolerance": 0.001 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s67_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 67, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "terminal_f16_query_tail_s67_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Final live query ends at cache capacity. Inactive query lanes must not walk a nonexistent CSR row; nondense terminal row makes an unchecked CSR subtraction wrap." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float16", | |
| "shape": [2, 67, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float16", | |
| "shape": [2, 2, 128, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2] } | |
| }, | |
| "blockColIndicesT": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 0, 0] } }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [128] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [128, 128] } | |
| }, | |
| "cosCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float16", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float16", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.001 }, | |
| "pastKeyT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0.001, "relTolerance": 0.001 }, | |
| "pastValueT": { "dtype": "float16", "shape": [2, 2, 128, 96], "tolerance": 0, "relTolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_tail_d128_s67_narrow_groups", | |
| "provenance": { | |
| "notes": "Exact portable query-tail lengths 2/3/4 after a matrix prefix, packed/rotary layouts, and nonaligned per-batch history. The wider head exercises device-limited tail partitions, and rotary remains partial-width." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [256] } }, | |
| "keyTotalSequenceLengthsT": { | |
| "dtype": "int32", | |
| "shape": [2], | |
| "data": { "kind": "values", "values": [167, 135] } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| }, | |
| "tunables": { "NARROW_MIN_WORKGROUPS": 1 } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d96_s65_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Prompt-mode mixed matrix/portable execution covers tail lengths 1–4, non-power-of-two query streams, packed/rotary modes and both head bank widths." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [65] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [65, 65] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d96_s66_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Prompt-mode mixed matrix/portable execution covers tail lengths 1–4, non-power-of-two query streams, packed/rotary modes and both head bank widths." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [66] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [66, 66] } }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d96_s67_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Prompt-mode mixed matrix/portable execution covers tail lengths 1–4, non-power-of-two query streams, packed/rotary modes and both head bank widths." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [67] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [67, 67] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d96_s68_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Prompt-mode mixed matrix/portable execution covers tail lengths 1–4, non-power-of-two query streams, packed/rotary modes and both head bank widths." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 576], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 96], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [68] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [68, 68] } }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 68, 192], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 96], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d128_s65_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Prompt-mode mixed matrix/portable execution covers tail lengths 1–4, non-power-of-two query streams, packed/rotary modes and both head bank widths." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 768], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [65] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [65, 65] } }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d128_s66_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Prompt-mode mixed matrix/portable execution covers tail lengths 1–4, non-power-of-two query streams, packed/rotary modes and both head bank widths." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 66, 768], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [66] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [66, 66] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 66, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d128_s67_packed0_rotary1", | |
| "provenance": { | |
| "notes": "Prompt-mode mixed matrix/portable execution covers tail lengths 1–4, non-power-of-two query streams, packed/rotary modes and both head bank widths." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 0 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [67] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [67, 67] } }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 48], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d128_s68_packed0_rotary0", | |
| "provenance": { | |
| "notes": "Prompt-mode mixed matrix/portable execution covers tail lengths 1–4, non-power-of-two query streams, packed/rotary modes and both head bank widths." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "keyT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 0.5 } | |
| }, | |
| "valueT": { | |
| "dtype": "float32", | |
| "shape": [2, 68, 256], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 128], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [68] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [68, 68] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 68, 256], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 128], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d32_s65_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Prompt-tail coverage for each smaller matrix head bank, packed QKV, odd query counts, and rotary preparation." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [65] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [65, 65] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 64], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 32], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 32], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d32_s65_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Prompt-tail coverage for each smaller matrix head bank, packed QKV, odd query counts, and rotary preparation." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [65] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [65, 65] } }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 64], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 32], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 32], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d32_s67_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Prompt-tail coverage for each smaller matrix head bank, packed QKV, odd query counts, and rotary preparation." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [67] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [67, 67] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 64], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 32], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 32], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d32_s67_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Prompt-tail coverage for each smaller matrix head bank, packed QKV, odd query counts, and rotary preparation." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 192], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [67] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [67, 67] } }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 16], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 64], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 32], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 32], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d64_s65_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Prompt-tail coverage for each smaller matrix head bank, packed QKV, odd query counts, and rotary preparation." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [65] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [65, 65] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 128], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d64_s65_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Prompt-tail coverage for each smaller matrix head bank, packed QKV, odd query counts, and rotary preparation." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 65, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [65] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [65, 65] } }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 65, 128], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d64_s67_packed1_rotary0", | |
| "provenance": { | |
| "notes": "Prompt-tail coverage for each smaller matrix head bank, packed QKV, odd query counts, and rotary preparation." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [67] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [67, 67] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 128], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| }, | |
| { | |
| "name": "hybrid_prompt_d64_s67_packed1_rotary1", | |
| "provenance": { | |
| "notes": "Prompt-tail coverage for each smaller matrix head bank, packed QKV, odd query counts, and rotary preparation." | |
| }, | |
| "attrs": { "num_heads": 2, "kv_num_heads": 2, "sparse_block_size": 64, "do_rotary": 1, "rotary_interleaved": 1 }, | |
| "inputs": { | |
| "queryT": { | |
| "dtype": "float32", | |
| "shape": [2, 67, 384], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.5 } | |
| }, | |
| "pastKeyT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.011, "cosStep": 0.017, "scale": 0.25 } | |
| }, | |
| "pastValueT": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 256, 64], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.019, "cosStep": 0.013, "scale": 0.25 } | |
| }, | |
| "blockRowIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 5], | |
| "data": { "kind": "values", "values": [0, 1, 3, 5, 7, 0, 1, 2, 4, 5] } | |
| }, | |
| "blockColIndicesT": { | |
| "dtype": "int32", | |
| "shape": [2, 7], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 2, 1, 3, 0, 1, 0, 2, 3, 0, 0] } | |
| }, | |
| "totalSequenceLengthT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [67] } }, | |
| "keyTotalSequenceLengthsT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [67, 67] } }, | |
| "cosCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.01, "cosStep": 0.013, "scale": 0.5 } | |
| }, | |
| "sinCacheT": { | |
| "dtype": "float32", | |
| "shape": [256, 32], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.017, "cosStep": 0.013, "scale": 0.5 } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "dtype": "float32", "shape": [2, 67, 128], "tolerance": 0.0001, "relTolerance": 0.0005 }, | |
| "pastKeyT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 }, | |
| "pastValueT": { "dtype": "float32", "shape": [2, 2, 256, 64], "tolerance": 0.00002, "relTolerance": 0.0002 } | |
| } | |
| } | |
| ] | |
| } | |