Download build/webgpu/bench.json from webgpu-kernels/com.microsoft.DecoderMaskedMultiHeadAttention: direct link, hf CLI and curl.
- Browser
- Download file 46.6 kB
-
https://huggingface.co/kernels/webgpu-kernels/com.microsoft.DecoderMaskedMultiHeadAttention/resolve/v1/build/webgpu/bench.json
- Command line
-
hf download hf://webgpu-kernels/com.microsoft.DecoderMaskedMultiHeadAttention@v1/build/webgpu/bench.json
-
curl -L -o bench.json https://huggingface.co/kernels/webgpu-kernels/com.microsoft.DecoderMaskedMultiHeadAttention/resolve/v1/build/webgpu/bench.json
46.6 kB
| { | |
| "tunableSpace": { "THREAD_QK_OUTPUT_WORKGROUPS": [0, 2] }, | |
| "cases": [ | |
| { | |
| "name": "cross-whisper-tiny-b1-h6-kv1500-d64-qk-f32", | |
| "preset": "model", | |
| "vars": { "elemBytes": 4, "qkBytes": 4 }, | |
| "attrs": { "num_heads": 6, "output_qk": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float32", "dist": "normal", "seed": 301, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 1500, 64], "dtype": "float32", "dist": "normal", "seed": 302, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 1500, 64], "dtype": "float32", "dist": "normal", "seed": 303, "scale": 0.2 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 1, 384], "dtype": "float32" }, | |
| "qkT": { "shape": [1, 6, 1, 1500], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(1 * 6 * 1500 * 64 * 2 + 1 * 384 * 2) * args.elemBytes + 1 * 6 * 1500 * args.qkBytes" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-whisper-large-b1-h20-kv1500-d64-qk-f16", | |
| "preset": "model", | |
| "vars": { "elemBytes": 2, "qkBytes": 4 }, | |
| "attrs": { "num_heads": 20, "output_qk": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 1280], "dtype": "float16", "dist": "normal", "seed": 304, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 305, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 306, "scale": 0.2 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 1, 1280], "dtype": "float16" }, | |
| "qkT": { "shape": [1, 20, 1, 1500], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(1 * 20 * 1500 * 64 * 2 + 1 * 1280 * 2) * args.elemBytes + 1 * 20 * 1500 * args.qkBytes" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-whisper-large-b4-h20-kv1500-d64-qk-f16", | |
| "preset": "model", | |
| "vars": { "elemBytes": 2, "qkBytes": 4 }, | |
| "attrs": { "num_heads": 20, "output_qk": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [4, 1, 1280], "dtype": "float16", "dist": "normal", "seed": 307, "scale": 0.2 }, | |
| "keyT": { "shape": [4, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 308, "scale": 0.2 }, | |
| "valueT": { "shape": [4, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 309, "scale": 0.2 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [4, 1, 1280], "dtype": "float16" }, | |
| "qkT": { "shape": [4, 20, 1, 1500], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(4 * 20 * 1500 * 64 * 2 + 4 * 1280 * 2) * args.elemBytes + 4 * 20 * 1500 * args.qkBytes" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-whisper-large-b8-h20-kv1500-d64-f16", | |
| "preset": "model", | |
| "vars": { "elemBytes": 2, "qkBytes": 0 }, | |
| "attrs": { "num_heads": 20 }, | |
| "inputs": { | |
| "queryT": { "shape": [8, 1, 1280], "dtype": "float16", "dist": "normal", "seed": 310, "scale": 0.2 }, | |
| "keyT": { "shape": [8, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 311, "scale": 0.2 }, | |
| "valueT": { "shape": [8, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 312, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [8, 1, 1280], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(8 * 20 * 1500 * 64 * 2 + 8 * 1280 * 2) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "cross-whisper-large-b8-h20-kv1500-d64-f32", | |
| "preset": "model", | |
| "vars": { "elemBytes": 4, "qkBytes": 0 }, | |
| "attrs": { "num_heads": 20 }, | |
| "inputs": { | |
| "queryT": { "shape": [8, 1, 1280], "dtype": "float32", "dist": "normal", "seed": 313, "scale": 0.2 }, | |
| "keyT": { "shape": [8, 20, 1500, 64], "dtype": "float32", "dist": "normal", "seed": 314, "scale": 0.2 }, | |
| "valueT": { "shape": [8, 20, 1500, 64], "dtype": "float32", "dist": "normal", "seed": 315, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [8, 1, 1280], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(8 * 20 * 1500 * 64 * 2 + 8 * 1280 * 2) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "cross-whisper-large-b16-h20-kv1500-d64-f16", | |
| "preset": "stress", | |
| "vars": { "elemBytes": 2, "qkBytes": 0 }, | |
| "attrs": { "num_heads": 20 }, | |
| "inputs": { | |
| "queryT": { "shape": [16, 1, 1280], "dtype": "float16", "dist": "normal", "seed": 316, "scale": 0.2 }, | |
| "keyT": { "shape": [16, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 317, "scale": 0.2 }, | |
| "valueT": { "shape": [16, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 318, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [16, 1, 1280], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(16 * 20 * 1500 * 64 * 2 + 16 * 1280 * 2) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "cross-whisper-large-b8-h20-kv1500-d64-mask-f16", | |
| "preset": "model", | |
| "vars": { "elemBytes": 2, "qkBytes": 0 }, | |
| "attrs": { "num_heads": 20 }, | |
| "inputs": { | |
| "queryT": { "shape": [8, 1, 1280], "dtype": "float16", "dist": "normal", "seed": 319, "scale": 0.2 }, | |
| "keyT": { "shape": [8, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 320, "scale": 0.2 }, | |
| "valueT": { "shape": [8, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 321, "scale": 0.2 }, | |
| "maskIndexT": { "shape": [8, 1500], "dtype": "int32", "data": { "kind": "cycle", "values": [1, 1, 1, 0] } } | |
| }, | |
| "outputs": { "outputT": { "shape": [8, 1, 1280], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(8 * 20 * 1500 * 64 * 2 + 8 * 1280 * 2) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "cross-whisper-large-b8-h20-kv1500-d64-qk-f16", | |
| "preset": "model", | |
| "vars": { "elemBytes": 2, "qkBytes": 4 }, | |
| "attrs": { "num_heads": 20, "output_qk": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [8, 1, 1280], "dtype": "float16", "dist": "normal", "seed": 322, "scale": 0.2 }, | |
| "keyT": { "shape": [8, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 323, "scale": 0.2 }, | |
| "valueT": { "shape": [8, 20, 1500, 64], "dtype": "float16", "dist": "normal", "seed": 324, "scale": 0.2 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [8, 1, 1280], "dtype": "float16" }, | |
| "qkT": { "shape": [8, 20, 1, 1500], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "(8 * 20 * 1500 * 64 * 2 + 8 * 1280 * 2) * args.elemBytes + 8 * 20 * 1500 * args.qkBytes" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv256-d64-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 256, 64], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 256, 64], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 384], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(1 * 6 * 256 * 64 * 2 + 1 * 384 * 2) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "cross-b2-h8-kv512-d128-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0 }, | |
| "attrs": { "num_heads": 8 }, | |
| "inputs": { | |
| "queryT": { "shape": [2, 1, 1024], "dtype": "float32", "dist": "normal", "seed": 328, "scale": 0.2 }, | |
| "keyT": { "shape": [2, 8, 512, 128], "dtype": "float32", "dist": "normal", "seed": 329, "scale": 0.2 }, | |
| "valueT": { "shape": [2, 8, 512, 128], "dtype": "float32", "dist": "normal", "seed": 330, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 1, 1024], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(2 * 8 * 512 * 128 * 2 + 2 * 1024 * 2) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "self-whisper-base-b1-h8-cap448-d64-past1-f32", | |
| "preset": "model", | |
| "vars": { "elemBytes": 4 }, | |
| "attrs": { "num_heads": 8, "past_present_share_buffer": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 512], "dtype": "float32", "dist": "normal", "seed": 331, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 1, 512], "dtype": "float32", "dist": "normal", "seed": 332, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 1, 512], "dtype": "float32", "dist": "normal", "seed": 333, "scale": 0.2 }, | |
| "pastKeyT": { "shape": [1, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 334, "scale": 0.2 }, | |
| "pastValueT": { "shape": [1, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 335, "scale": 0.2 }, | |
| "pastSequenceLengthT": { "shape": [1], "dtype": "int32", "data": { "kind": "values", "values": [1] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 1, 512], "dtype": "float32" }, | |
| "presentKeyT": { "shape": [1, 8, 448, 64], "dtype": "float32" }, | |
| "presentValueT": { "shape": [1, 8, 448, 64], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(4 * 229376 + 2 * 1024 + 2 * 1 * 512) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "self-whisper-base-b1-h8-cap448-d64-past223-f32", | |
| "preset": "model", | |
| "vars": { "elemBytes": 4 }, | |
| "attrs": { "num_heads": 8, "past_present_share_buffer": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 512], "dtype": "float32", "dist": "normal", "seed": 336, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 1, 512], "dtype": "float32", "dist": "normal", "seed": 337, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 1, 512], "dtype": "float32", "dist": "normal", "seed": 338, "scale": 0.2 }, | |
| "pastKeyT": { "shape": [1, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 339, "scale": 0.2 }, | |
| "pastValueT": { "shape": [1, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 340, "scale": 0.2 }, | |
| "pastSequenceLengthT": { "shape": [1], "dtype": "int32", "data": { "kind": "values", "values": [223] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 1, 512], "dtype": "float32" }, | |
| "presentKeyT": { "shape": [1, 8, 448, 64], "dtype": "float32" }, | |
| "presentValueT": { "shape": [1, 8, 448, 64], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(4 * 229376 + 2 * 114688 + 2 * 1 * 512) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "self-whisper-base-b1-h8-cap448-d64-past447-f32", | |
| "preset": "model", | |
| "vars": { "elemBytes": 4 }, | |
| "attrs": { "num_heads": 8, "past_present_share_buffer": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 512], "dtype": "float32", "dist": "normal", "seed": 341, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 1, 512], "dtype": "float32", "dist": "normal", "seed": 342, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 1, 512], "dtype": "float32", "dist": "normal", "seed": 343, "scale": 0.2 }, | |
| "pastKeyT": { "shape": [1, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 344, "scale": 0.2 }, | |
| "pastValueT": { "shape": [1, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 345, "scale": 0.2 }, | |
| "pastSequenceLengthT": { "shape": [1], "dtype": "int32", "data": { "kind": "values", "values": [446] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 1, 512], "dtype": "float32" }, | |
| "presentKeyT": { "shape": [1, 8, 448, 64], "dtype": "float32" }, | |
| "presentValueT": { "shape": [1, 8, 448, 64], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(4 * 229376 + 2 * 228864 + 2 * 1 * 512) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "self-whisper-base-b4-h8-cap448-d64-past223-f16", | |
| "preset": "model", | |
| "vars": { "elemBytes": 2 }, | |
| "attrs": { "num_heads": 8, "past_present_share_buffer": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [4, 1, 512], "dtype": "float16", "dist": "normal", "seed": 346, "scale": 0.2 }, | |
| "keyT": { "shape": [4, 1, 512], "dtype": "float16", "dist": "normal", "seed": 347, "scale": 0.2 }, | |
| "valueT": { "shape": [4, 1, 512], "dtype": "float16", "dist": "normal", "seed": 348, "scale": 0.2 }, | |
| "pastKeyT": { "shape": [4, 8, 448, 64], "dtype": "float16", "dist": "normal", "seed": 349, "scale": 0.2 }, | |
| "pastValueT": { "shape": [4, 8, 448, 64], "dtype": "float16", "dist": "normal", "seed": 350, "scale": 0.2 }, | |
| "pastSequenceLengthT": { "shape": [1], "dtype": "int32", "data": { "kind": "values", "values": [223] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [4, 1, 512], "dtype": "float16" }, | |
| "presentKeyT": { "shape": [4, 8, 448, 64], "dtype": "float16" }, | |
| "presentValueT": { "shape": [4, 8, 448, 64], "dtype": "float16" } | |
| }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(4 * 917504 + 2 * 458752 + 2 * 4 * 512) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "self-b32-h8-cap448-d64-past223-f32", | |
| "preset": "model", | |
| "vars": { "elemBytes": 4 }, | |
| "attrs": { "num_heads": 8, "past_present_share_buffer": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [32, 1, 512], "dtype": "float32", "dist": "normal", "seed": 351, "scale": 0.2 }, | |
| "keyT": { "shape": [32, 1, 512], "dtype": "float32", "dist": "normal", "seed": 352, "scale": 0.2 }, | |
| "valueT": { "shape": [32, 1, 512], "dtype": "float32", "dist": "normal", "seed": 353, "scale": 0.2 }, | |
| "pastKeyT": { "shape": [32, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 354, "scale": 0.2 }, | |
| "pastValueT": { "shape": [32, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 355, "scale": 0.2 }, | |
| "pastSequenceLengthT": { "shape": [1], "dtype": "int32", "data": { "kind": "values", "values": [223] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [32, 1, 512], "dtype": "float32" }, | |
| "presentKeyT": { "shape": [32, 8, 448, 64], "dtype": "float32" }, | |
| "presentValueT": { "shape": [32, 8, 448, 64], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(4 * 7340032 + 2 * 3670016 + 2 * 32 * 512) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "self-b32-h8-cap448-d64-past223-f16", | |
| "preset": "model", | |
| "vars": { "elemBytes": 2 }, | |
| "attrs": { "num_heads": 8, "past_present_share_buffer": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [32, 1, 512], "dtype": "float16", "dist": "normal", "seed": 356, "scale": 0.2 }, | |
| "keyT": { "shape": [32, 1, 512], "dtype": "float16", "dist": "normal", "seed": 357, "scale": 0.2 }, | |
| "valueT": { "shape": [32, 1, 512], "dtype": "float16", "dist": "normal", "seed": 358, "scale": 0.2 }, | |
| "pastKeyT": { "shape": [32, 8, 448, 64], "dtype": "float16", "dist": "normal", "seed": 359, "scale": 0.2 }, | |
| "pastValueT": { "shape": [32, 8, 448, 64], "dtype": "float16", "dist": "normal", "seed": 360, "scale": 0.2 }, | |
| "pastSequenceLengthT": { "shape": [1], "dtype": "int32", "data": { "kind": "values", "values": [223] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [32, 1, 512], "dtype": "float16" }, | |
| "presentKeyT": { "shape": [32, 8, 448, 64], "dtype": "float16" }, | |
| "presentValueT": { "shape": [32, 8, 448, 64], "dtype": "float16" } | |
| }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(4 * 7340032 + 2 * 3670016 + 2 * 32 * 512) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "self-b32-h8-cap448-d64-past447-f32", | |
| "preset": "stress", | |
| "vars": { "elemBytes": 4 }, | |
| "attrs": { "num_heads": 8, "past_present_share_buffer": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [32, 1, 512], "dtype": "float32", "dist": "normal", "seed": 361, "scale": 0.2 }, | |
| "keyT": { "shape": [32, 1, 512], "dtype": "float32", "dist": "normal", "seed": 362, "scale": 0.2 }, | |
| "valueT": { "shape": [32, 1, 512], "dtype": "float32", "dist": "normal", "seed": 363, "scale": 0.2 }, | |
| "pastKeyT": { "shape": [32, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 364, "scale": 0.2 }, | |
| "pastValueT": { "shape": [32, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 365, "scale": 0.2 }, | |
| "pastSequenceLengthT": { "shape": [1], "dtype": "int32", "data": { "kind": "values", "values": [446] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [32, 1, 512], "dtype": "float32" }, | |
| "presentKeyT": { "shape": [32, 8, 448, 64], "dtype": "float32" }, | |
| "presentValueT": { "shape": [32, 8, 448, 64], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(4 * 7340032 + 2 * 7323648 + 2 * 32 * 512) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "self-b32-h8-cap448-d64-past223-mask-f32", | |
| "preset": "model", | |
| "vars": { "elemBytes": 4 }, | |
| "attrs": { "num_heads": 8, "past_present_share_buffer": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [32, 1, 512], "dtype": "float32", "dist": "normal", "seed": 366, "scale": 0.2 }, | |
| "keyT": { "shape": [32, 1, 512], "dtype": "float32", "dist": "normal", "seed": 367, "scale": 0.2 }, | |
| "valueT": { "shape": [32, 1, 512], "dtype": "float32", "dist": "normal", "seed": 368, "scale": 0.2 }, | |
| "maskIndexT": { "shape": [32, 224], "dtype": "int32", "data": { "kind": "cycle", "values": [1, 1, 1, 0] } }, | |
| "pastKeyT": { "shape": [32, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 369, "scale": 0.2 }, | |
| "pastValueT": { "shape": [32, 8, 448, 64], "dtype": "float32", "dist": "normal", "seed": 370, "scale": 0.2 }, | |
| "pastSequenceLengthT": { "shape": [1], "dtype": "int32", "data": { "kind": "values", "values": [223] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [32, 1, 512], "dtype": "float32" }, | |
| "presentKeyT": { "shape": [32, 8, 448, 64], "dtype": "float32" }, | |
| "presentValueT": { "shape": [32, 8, 448, 64], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(4 * 7340032 + 2 * 3670016 + 2 * 32 * 512) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "self-b16-h12-cap2048-d64-past1023-f16", | |
| "preset": "stress", | |
| "vars": { "elemBytes": 2 }, | |
| "attrs": { "num_heads": 12, "past_present_share_buffer": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [16, 1, 768], "dtype": "float16", "dist": "normal", "seed": 371, "scale": 0.2 }, | |
| "keyT": { "shape": [16, 1, 768], "dtype": "float16", "dist": "normal", "seed": 372, "scale": 0.2 }, | |
| "valueT": { "shape": [16, 1, 768], "dtype": "float16", "dist": "normal", "seed": 373, "scale": 0.2 }, | |
| "pastKeyT": { "shape": [16, 12, 2048, 64], "dtype": "float16", "dist": "normal", "seed": 374, "scale": 0.2 }, | |
| "pastValueT": { "shape": [16, 12, 2048, 64], "dtype": "float16", "dist": "normal", "seed": 375, "scale": 0.2 }, | |
| "pastSequenceLengthT": { "shape": [1], "dtype": "int32", "data": { "kind": "values", "values": [1023] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [16, 1, 768], "dtype": "float16" }, | |
| "presentKeyT": { "shape": [16, 12, 2048, 64], "dtype": "float16" }, | |
| "presentValueT": { "shape": [16, 12, 2048, 64], "dtype": "float16" } | |
| }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(4 * 25165824 + 2 * 12582912 + 2 * 16 * 768) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "self-b1-h4-cap64-d64-past31-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4 }, | |
| "attrs": { "num_heads": 4, "past_present_share_buffer": 1 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 256], "dtype": "float32", "dist": "normal", "seed": 376, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 1, 256], "dtype": "float32", "dist": "normal", "seed": 377, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 1, 256], "dtype": "float32", "dist": "normal", "seed": 378, "scale": 0.2 }, | |
| "pastKeyT": { "shape": [1, 4, 64, 64], "dtype": "float32", "dist": "normal", "seed": 379, "scale": 0.2 }, | |
| "pastValueT": { "shape": [1, 4, 64, 64], "dtype": "float32", "dist": "normal", "seed": 380, "scale": 0.2 }, | |
| "pastSequenceLengthT": { "shape": [1], "dtype": "int32", "data": { "kind": "values", "values": [31] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 1, 256], "dtype": "float32" }, | |
| "presentKeyT": { "shape": [1, 4, 64, 64], "dtype": "float32" }, | |
| "presentValueT": { "shape": [1, 4, 64, 64], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [{ "type": "bandwidth", "value": "(4 * 16384 + 2 * 8192 + 2 * 1 * 256) * args.elemBytes" }] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv16-d64-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 16, "headDim": 64, "maskBytes": 0 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 16, 64], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 16, 64], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 384], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv16-d64-f16", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 2, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 16, "headDim": 64, "maskBytes": 0 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float16", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 16, 64], "dtype": "float16", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 16, 64], "dtype": "float16", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 384], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv64-d64-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 64, "headDim": 64, "maskBytes": 0 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 64, 64], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 64, 64], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 384], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv64-d64-f16", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 2, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 64, "headDim": 64, "maskBytes": 0 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float16", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 64, 64], "dtype": "float16", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 64, 64], "dtype": "float16", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 384], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv255-d64-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 255, "headDim": 64, "maskBytes": 0 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 255, 64], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 255, 64], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 384], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv255-d64-f16", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 2, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 255, "headDim": 64, "maskBytes": 0 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float16", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 255, 64], "dtype": "float16", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 255, 64], "dtype": "float16", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 384], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv257-d64-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 257, "headDim": 64, "maskBytes": 0 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 257, 64], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 257, 64], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 384], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv257-d64-f16", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 2, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 257, "headDim": 64, "maskBytes": 0 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float16", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 257, 64], "dtype": "float16", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 257, 64], "dtype": "float16", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 384], "dtype": "float16" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-mask-qk-b1-h6-kv64-d64-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 1536, "batch": 1, "heads": 6, "keys": 64, "headDim": 64, "maskBytes": 256 }, | |
| "attrs": { "num_heads": 6, "output_qk": 1, "mask_filter_value": -4 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 64, 64], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 64, 64], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 }, | |
| "maskIndexT": { "dtype": "int32", "shape": [1, 64], "data": { "kind": "cycle", "values": [1, 0, 1] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 1, 384], "dtype": "float32" }, | |
| "qkT": { "dtype": "float32", "shape": [1, 6, 1, 64] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-mask-qk-b1-h6-kv64-d64-f16", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 2, "qkBytes": 768, "batch": 1, "heads": 6, "keys": 64, "headDim": 64, "maskBytes": 256 }, | |
| "attrs": { "num_heads": 6, "output_qk": 1, "mask_filter_value": -4 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float16", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 64, 64], "dtype": "float16", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 64, 64], "dtype": "float16", "dist": "normal", "seed": 327, "scale": 0.2 }, | |
| "maskIndexT": { "dtype": "int32", "shape": [1, 64], "data": { "kind": "cycle", "values": [1, 0, 1] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 1, 384], "dtype": "float16" }, | |
| "qkT": { "dtype": "float16", "shape": [1, 6, 1, 64] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-mask-qk-b1-h6-kv257-d64-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 6168, "batch": 1, "heads": 6, "keys": 257, "headDim": 64, "maskBytes": 1028 }, | |
| "attrs": { "num_heads": 6, "output_qk": 1, "mask_filter_value": -4 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 257, 64], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 257, 64], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 }, | |
| "maskIndexT": { "dtype": "int32", "shape": [1, 257], "data": { "kind": "cycle", "values": [1, 0, 1] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 1, 384], "dtype": "float32" }, | |
| "qkT": { "dtype": "float32", "shape": [1, 6, 1, 257] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-mask-qk-b1-h6-kv257-d64-f16", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 2, "qkBytes": 3084, "batch": 1, "heads": 6, "keys": 257, "headDim": 64, "maskBytes": 1028 }, | |
| "attrs": { "num_heads": 6, "output_qk": 1, "mask_filter_value": -4 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float16", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 257, 64], "dtype": "float16", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 257, 64], "dtype": "float16", "dist": "normal", "seed": 327, "scale": 0.2 }, | |
| "maskIndexT": { "dtype": "int32", "shape": [1, 257], "data": { "kind": "cycle", "values": [1, 0, 1] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 1, 384], "dtype": "float16" }, | |
| "qkT": { "dtype": "float16", "shape": [1, 6, 1, 257] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes + args.maskBytes + args.qkBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv256-d32-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 256, "headDim": 32 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 192], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 256, 32], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 256, 32], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 192], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv256-d128-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 256, "headDim": 128 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 768], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 256, 128], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 256, 128], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 768], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv256-d256-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 256, "headDim": 256 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 1536], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 256, 256], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 256, 256], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 1536], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b1-h6-kv1500-d64-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 6, "keys": 1500, "headDim": 64 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 384], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 6, 1500, 64], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 6, 1500, 64], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 384], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b2-h6-kv1500-d64-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 2, "heads": 6, "keys": 1500, "headDim": 64 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [2, 1, 384], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [2, 6, 1500, 64], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [2, 6, 1500, 64], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [2, 1, 384], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "cross-b4-h6-kv1500-d64-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 4, "heads": 6, "keys": 1500, "headDim": 64 }, | |
| "attrs": { "num_heads": 6 }, | |
| "inputs": { | |
| "queryT": { "shape": [4, 1, 384], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [4, 6, 1500, 64], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [4, 6, 1500, 64], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [4, 1, 384], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "qk-policy-b1-h4-kv256-d512-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 4, "keys": 256, "headDim": 512 }, | |
| "attrs": { "num_heads": 4 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 2048], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 4, 256, 512], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 4, 256, 512], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 2048], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "qk-policy-b1-h2-kv256-d1024-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 2, "keys": 256, "headDim": 1024 }, | |
| "attrs": { "num_heads": 2 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 2048], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 2, 256, 1024], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 2, 256, 1024], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 2048], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "qk-policy-b1-h15-kv256-d128-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 15, "keys": 256, "headDim": 128 }, | |
| "attrs": { "num_heads": 15 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 1920], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 15, 256, 128], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 15, 256, 128], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 1920], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "qk-policy-b1-h16-kv256-d128-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 16, "keys": 256, "headDim": 128 }, | |
| "attrs": { "num_heads": 16 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 2048], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 16, 256, 128], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 16, 256, 128], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 2048], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "qk-policy-b1-h17-kv256-d128-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 17, "keys": 256, "headDim": 128 }, | |
| "attrs": { "num_heads": 17 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 2176], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 17, 256, 128], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 17, 256, 128], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 2176], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "qk-policy-b1-h15-kv1500-d128-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 15, "keys": 1500, "headDim": 128 }, | |
| "attrs": { "num_heads": 15 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 1920], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 15, 1500, 128], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 15, 1500, 128], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 1920], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "qk-policy-b1-h16-kv1500-d128-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 16, "keys": 1500, "headDim": 128 }, | |
| "attrs": { "num_heads": 16 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 2048], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 16, 1500, 128], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 16, 1500, 128], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 2048], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "qk-policy-b1-h17-kv1500-d128-f32", | |
| "preset": "smoke", | |
| "vars": { "elemBytes": 4, "qkBytes": 0, "batch": 1, "heads": 17, "keys": 1500, "headDim": 128 }, | |
| "attrs": { "num_heads": 17 }, | |
| "inputs": { | |
| "queryT": { "shape": [1, 1, 2176], "dtype": "float32", "dist": "normal", "seed": 325, "scale": 0.2 }, | |
| "keyT": { "shape": [1, 17, 1500, 128], "dtype": "float32", "dist": "normal", "seed": 326, "scale": 0.2 }, | |
| "valueT": { "shape": [1, 17, 1500, 128], "dtype": "float32", "dist": "normal", "seed": 327, "scale": 0.2 } | |
| }, | |
| "outputs": { "outputT": { "shape": [1, 1, 2176], "dtype": "float32" } }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "value": "2 * args.batch * args.heads * args.headDim * (args.keys + 1) * args.elemBytes", | |
| "provenance": "logical" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| } | |