Download build/webgpu/bench.json from webgpu-kernels/com.microsoft.VarlenCausalConvWithState: direct link, hf CLI and curl.
- Browser
- Download file 26.1 kB
-
https://huggingface.co/kernels/webgpu-kernels/com.microsoft.VarlenCausalConvWithState/resolve/v1/build/webgpu/bench.json
- Command line
-
hf download hf://webgpu-kernels/com.microsoft.VarlenCausalConvWithState@v1/build/webgpu/bench.json
-
curl -L -o bench.json https://huggingface.co/kernels/webgpu-kernels/com.microsoft.VarlenCausalConvWithState/resolve/v1/build/webgpu/bench.json
26.1 kB
| { | |
| "tunableSpace": { | |
| "workgroupSize": [64, 128, 256], | |
| "streamWorkgroupSize": [64, 128, 256], | |
| "streamChunk": [16, 32, 64, 128, 256] | |
| }, | |
| "fixtureArrays": { | |
| "varlenconv-unit-capture-b64-c4096-k4-cap4_input_captureCountT": [2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99, 2, 0, -3, 99] | |
| }, | |
| "cases": [ | |
| { | |
| "name": "varlenconv-decode-b32-c4096-k4", | |
| "preset": "smoke", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [32, 4096], "dtype": "float32", "dist": "normal", "seed": 4100, "scale": 1 }, | |
| "weightT": { "shape": [4096, 1, 4], "dtype": "float32", "dist": "normal", "seed": 4101, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "shape": [33], | |
| "dtype": "int32", | |
| "data": { | |
| "kind": "values", | |
| "values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32] | |
| } | |
| }, | |
| "biasT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 4102, "scale": 1 }, | |
| "initialStateT": { "shape": [32, 4096, 3], "dtype": "float32", "dist": "normal", "seed": 4103, "scale": 1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [32, 4096], "dtype": "float32" }, | |
| "finalStateT": { "shape": [32, 4096, 3], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu" } | |
| }, | |
| { | |
| "name": "varlenconv-prefill-b1-t2048-c4096-k4", | |
| "preset": "smoke", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [2048, 4096], "dtype": "float32", "dist": "normal", "seed": 4110, "scale": 1 }, | |
| "weightT": { "shape": [4096, 1, 4], "dtype": "float32", "dist": "normal", "seed": 4111, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "shape": [2], | |
| "dtype": "int32", | |
| "data": { "kind": "values", "values": [0, 2048] } | |
| }, | |
| "biasT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 4112, "scale": 1 }, | |
| "initialStateT": { "shape": [1, 4096, 3], "dtype": "float32", "dist": "normal", "seed": 4113, "scale": 1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [2048, 4096], "dtype": "float32" }, | |
| "finalStateT": { "shape": [1, 4096, 3], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu" } | |
| }, | |
| { | |
| "name": "varlenconv-mixed-b8-t512-c4096-k4", | |
| "preset": "smoke", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [512, 4096], "dtype": "float32", "dist": "normal", "seed": 4120, "scale": 1 }, | |
| "weightT": { "shape": [4096, 1, 4], "dtype": "float32", "dist": "normal", "seed": 4121, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "shape": [9], | |
| "dtype": "int32", | |
| "data": { "kind": "values", "values": [0, 64, 128, 192, 256, 320, 384, 448, 512] } | |
| }, | |
| "biasT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 4122, "scale": 1 }, | |
| "initialStateT": { "shape": [8, 4096, 3], "dtype": "float32", "dist": "normal", "seed": 4123, "scale": 1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [512, 4096], "dtype": "float32" }, | |
| "finalStateT": { "shape": [8, 4096, 3], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu" } | |
| }, | |
| { | |
| "name": "varlenconv-ragged-b6-t378-c2048-k4", | |
| "preset": "model", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [378, 2048], "dtype": "float32", "dist": "normal", "seed": 4130, "scale": 1 }, | |
| "weightT": { "shape": [2048, 1, 4], "dtype": "float32", "dist": "normal", "seed": 4131, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "shape": [7], | |
| "dtype": "int32", | |
| "data": { "kind": "values", "values": [0, 3, 131, 148, 348, 349, 378] } | |
| }, | |
| "biasT": { "shape": [2048], "dtype": "float32", "dist": "normal", "seed": 4132, "scale": 1 }, | |
| "initialStateT": { "shape": [6, 2048, 3], "dtype": "float32", "dist": "normal", "seed": 4133, "scale": 1 }, | |
| "captureCountT": { "dtype": "int32", "shape": [6], "data": { "kind": "values", "values": [4, 4, 4, 4, 4, 4] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [378, 2048], "dtype": "float32" }, | |
| "finalStateT": { "shape": [6, 2048, 3], "dtype": "float32" }, | |
| "stateUpdateT": { "dtype": "float32", "shape": [6, 4, 2048] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu", "state_update_capacity": 4 }, | |
| "provenance": { | |
| "notes": "The compact state_update accompanies convolution and captures up to the configured contiguous-prefix capacity." | |
| } | |
| }, | |
| { | |
| "name": "varlenconv-balanced-b6-t378-c2048-k4", | |
| "preset": "model", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [378, 2048], "dtype": "float32", "dist": "normal", "seed": 4160, "scale": 1 }, | |
| "weightT": { "shape": [2048, 1, 4], "dtype": "float32", "dist": "normal", "seed": 4161, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "shape": [7], | |
| "dtype": "int32", | |
| "data": { "kind": "values", "values": [0, 63, 126, 189, 252, 315, 378] } | |
| }, | |
| "biasT": { "shape": [2048], "dtype": "float32", "dist": "normal", "seed": 4162, "scale": 1 }, | |
| "initialStateT": { "shape": [6, 2048, 3], "dtype": "float32", "dist": "normal", "seed": 4163, "scale": 1 }, | |
| "captureCountT": { "dtype": "int32", "shape": [6], "data": { "kind": "values", "values": [4, 4, 4, 4, 4, 4] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [378, 2048], "dtype": "float32" }, | |
| "finalStateT": { "shape": [6, 2048, 3], "dtype": "float32" }, | |
| "stateUpdateT": { "dtype": "float32", "shape": [6, 4, 2048] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu", "state_update_capacity": 4 }, | |
| "provenance": { | |
| "notes": "The compact state_update accompanies convolution and captures up to the configured contiguous-prefix capacity." | |
| } | |
| }, | |
| { | |
| "name": "varlenconv-balanced-b4-t512-c4096-k4", | |
| "preset": "model", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [512, 4096], "dtype": "float32", "dist": "normal", "seed": 4170, "scale": 1 }, | |
| "weightT": { "shape": [4096, 1, 4], "dtype": "float32", "dist": "normal", "seed": 4171, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "shape": [5], | |
| "dtype": "int32", | |
| "data": { "kind": "values", "values": [0, 128, 256, 384, 512] } | |
| }, | |
| "biasT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 4172, "scale": 1 }, | |
| "initialStateT": { "shape": [4, 4096, 3], "dtype": "float32", "dist": "normal", "seed": 4173, "scale": 1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [512, 4096], "dtype": "float32" }, | |
| "finalStateT": { "shape": [4, 4096, 3], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu" } | |
| }, | |
| { | |
| "name": "varlenconv-f16-mixed-b8-t512-c4096-k4", | |
| "preset": "model", | |
| "vars": { "dtype": "float16" }, | |
| "inputs": { | |
| "inputT": { "shape": [512, 4096], "dtype": "float16", "dist": "normal", "seed": 4140, "scale": 1 }, | |
| "weightT": { "shape": [4096, 1, 4], "dtype": "float16", "dist": "normal", "seed": 4141, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "shape": [9], | |
| "dtype": "int32", | |
| "data": { "kind": "values", "values": [0, 64, 128, 192, 256, 320, 384, 448, 512] } | |
| }, | |
| "biasT": { "shape": [4096], "dtype": "float16", "dist": "normal", "seed": 4142, "scale": 1 }, | |
| "initialStateT": { "shape": [8, 4096, 3], "dtype": "float16", "dist": "normal", "seed": 4143, "scale": 1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [512, 4096], "dtype": "float16" }, | |
| "finalStateT": { "shape": [8, 4096, 3], "dtype": "float16" } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu" } | |
| }, | |
| { | |
| "name": "varlenconv-k3-mixed-b8-t512-c4096", | |
| "preset": "model", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [512, 4096], "dtype": "float32", "dist": "normal", "seed": 4150, "scale": 1 }, | |
| "weightT": { "shape": [4096, 1, 3], "dtype": "float32", "dist": "normal", "seed": 4151, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "shape": [9], | |
| "dtype": "int32", | |
| "data": { "kind": "values", "values": [0, 64, 128, 192, 256, 320, 384, 448, 512] } | |
| }, | |
| "biasT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 4152, "scale": 1 }, | |
| "initialStateT": { "shape": [8, 4096, 2], "dtype": "float32", "dist": "normal", "seed": 4153, "scale": 1 } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [512, 4096], "dtype": "float32" }, | |
| "finalStateT": { "shape": [8, 4096, 2], "dtype": "float32" } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu" } | |
| }, | |
| { | |
| "name": "varlenconv-unit-capture-b1-c4096-k4-cap4", | |
| "preset": "smoke", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [1, 4096], "dtype": "float32", "dist": "normal", "seed": 4100, "scale": 1 }, | |
| "weightT": { "shape": [4096, 1, 4], "dtype": "float32", "dist": "normal", "seed": 4101, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { "dtype": "int32", "shape": [2], "data": { "kind": "values", "values": [0, 1] } }, | |
| "biasT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 4102, "scale": 1 }, | |
| "initialStateT": { "shape": [1, 4096, 3], "dtype": "float32", "dist": "normal", "seed": 4103, "scale": 1 }, | |
| "captureCountT": { "dtype": "int32", "shape": [1], "data": { "kind": "values", "values": [2] } } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [1, 4096], "dtype": "float32" }, | |
| "finalStateT": { "shape": [1, 4096, 3], "dtype": "float32" }, | |
| "stateUpdateT": { "dtype": "float32", "shape": [1, 4, 4096] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu", "state_update_capacity": 4 } | |
| }, | |
| { | |
| "name": "varlenconv-unit-capture-b64-c4096-k4-cap4", | |
| "preset": "smoke", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [64, 4096], "dtype": "float32", "dist": "normal", "seed": 4100, "scale": 1 }, | |
| "weightT": { "shape": [4096, 1, 4], "dtype": "float32", "dist": "normal", "seed": 4101, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "dtype": "int32", | |
| "shape": [65], | |
| "data": { | |
| "kind": "values", | |
| "values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64] | |
| } | |
| }, | |
| "biasT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 4102, "scale": 1 }, | |
| "initialStateT": { "shape": [64, 4096, 3], "dtype": "float32", "dist": "normal", "seed": 4103, "scale": 1 }, | |
| "captureCountT": { | |
| "dtype": "int32", | |
| "shape": [64], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/varlenconv-unit-capture-b64-c4096-k4-cap4_input_captureCountT" } | |
| } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [64, 4096], "dtype": "float32" }, | |
| "finalStateT": { "shape": [64, 4096, 3], "dtype": "float32" }, | |
| "stateUpdateT": { "dtype": "float32", "shape": [64, 4, 4096] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu", "state_update_capacity": 4 } | |
| }, | |
| { | |
| "name": "varlenconv-unit-alignment-b64-c4098-k3-cap4", | |
| "preset": "smoke", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [64, 4098], "dtype": "float32", "dist": "normal", "seed": 4100, "scale": 1 }, | |
| "weightT": { "shape": [4098, 1, 3], "dtype": "float32", "dist": "normal", "seed": 4101, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "dtype": "int32", | |
| "shape": [65], | |
| "dist": "linearMod", | |
| "mod": 65, | |
| "step": 1, | |
| "offset": 0 | |
| }, | |
| "biasT": { "shape": [4098], "dtype": "float32", "dist": "normal", "seed": 4102, "scale": 1 }, | |
| "initialStateT": { "shape": [64, 4098, 2], "dtype": "float32", "dist": "normal", "seed": 4103, "scale": 1 }, | |
| "captureCountT": { | |
| "dtype": "int32", | |
| "shape": [64], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/varlenconv-unit-capture-b64-c4096-k4-cap4_input_captureCountT" } | |
| } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [64, 4098], "dtype": "float32" }, | |
| "finalStateT": { "shape": [64, 4098, 2], "dtype": "float32" }, | |
| "stateUpdateT": { "dtype": "float32", "shape": [64, 4, 4098] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu", "state_update_capacity": 4 } | |
| }, | |
| { | |
| "name": "varlenconv-unit-alignment-b64-c4097-k8-cap8", | |
| "preset": "smoke", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [64, 4097], "dtype": "float32", "dist": "normal", "seed": 4100, "scale": 1 }, | |
| "weightT": { "shape": [4097, 1, 8], "dtype": "float32", "dist": "normal", "seed": 4101, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "dtype": "int32", | |
| "shape": [65], | |
| "dist": "linearMod", | |
| "mod": 65, | |
| "step": 1, | |
| "offset": 0 | |
| }, | |
| "biasT": { "shape": [4097], "dtype": "float32", "dist": "normal", "seed": 4102, "scale": 1 }, | |
| "initialStateT": { "shape": [64, 4097, 7], "dtype": "float32", "dist": "normal", "seed": 4103, "scale": 1 }, | |
| "captureCountT": { | |
| "dtype": "int32", | |
| "shape": [64], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/varlenconv-unit-capture-b64-c4096-k4-cap4_input_captureCountT" } | |
| } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [64, 4097], "dtype": "float32" }, | |
| "finalStateT": { "shape": [64, 4097, 7], "dtype": "float32" }, | |
| "stateUpdateT": { "dtype": "float32", "shape": [64, 8, 4097] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu", "state_update_capacity": 8 } | |
| }, | |
| { | |
| "name": "varlenconv-capture-b64-t128-c4096-k4-d1", | |
| "preset": "smoke", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [128, 4096], "dtype": "float32", "dist": "normal", "seed": 4100, "scale": 1 }, | |
| "weightT": { "shape": [4096, 1, 4], "dtype": "float32", "dist": "normal", "seed": 4101, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "dtype": "int32", | |
| "shape": [65], | |
| "dist": "linearMod", | |
| "mod": 130, | |
| "step": 2, | |
| "offset": 0 | |
| }, | |
| "biasT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 4102, "scale": 1 }, | |
| "initialStateT": { "shape": [64, 4096, 3], "dtype": "float32", "dist": "normal", "seed": 4103, "scale": 1 }, | |
| "captureCountT": { | |
| "dtype": "int32", | |
| "shape": [64], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/varlenconv-unit-capture-b64-c4096-k4-cap4_input_captureCountT" } | |
| } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [128, 4096], "dtype": "float32" }, | |
| "finalStateT": { "shape": [64, 4096, 3], "dtype": "float32" }, | |
| "stateUpdateT": { "dtype": "float32", "shape": [64, 4, 4096] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu", "state_update_capacity": 4, "dilation": 1 } | |
| }, | |
| { | |
| "name": "varlenconv-capture-b64-t128-c4096-k4-d2", | |
| "preset": "smoke", | |
| "vars": { "dtype": "float32" }, | |
| "inputs": { | |
| "inputT": { "shape": [128, 4096], "dtype": "float32", "dist": "normal", "seed": 4100, "scale": 1 }, | |
| "weightT": { "shape": [4096, 1, 4], "dtype": "float32", "dist": "normal", "seed": 4101, "scale": 1 }, | |
| "cumulativeSequenceLengthT": { | |
| "dtype": "int32", | |
| "shape": [65], | |
| "dist": "linearMod", | |
| "mod": 130, | |
| "step": 2, | |
| "offset": 0 | |
| }, | |
| "biasT": { "shape": [4096], "dtype": "float32", "dist": "normal", "seed": 4102, "scale": 1 }, | |
| "initialStateT": { "shape": [64, 4096, 6], "dtype": "float32", "dist": "normal", "seed": 4103, "scale": 1 }, | |
| "captureCountT": { | |
| "dtype": "int32", | |
| "shape": [64], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/varlenconv-unit-capture-b64-c4096-k4-cap4_input_captureCountT" } | |
| } | |
| } | |
| }, | |
| "outputs": { | |
| "outputT": { "shape": [128, 4096], "dtype": "float32" }, | |
| "finalStateT": { "shape": [64, 4096, 6], "dtype": "float32" }, | |
| "stateUpdateT": { "dtype": "float32", "shape": [64, 4, 4096] } | |
| }, | |
| "bench": { | |
| "metrics": [ | |
| { | |
| "type": "bandwidth", | |
| "name": "Logical tensor traffic", | |
| "provenance": "logical", | |
| "value": "(numel(shapes.inputT) + numel(shapes.weightT) + numel(shapes.initialStateT) + numel(shapes.outputT) + numel(shapes.finalStateT) + (numel(shapes.biasT) if has(shapes, \"biasT\") else 0) + (numel(shapes.stateUpdateT) if has(shapes, \"stateUpdateT\") else 0)) * dtypeBytes(args.dtype) + 4 * (numel(shapes.cumulativeSequenceLengthT) + (numel(shapes.captureCountT) if has(shapes, \"captureCountT\") else 0))" | |
| } | |
| ] | |
| }, | |
| "attrs": { "activation": "silu", "state_update_capacity": 4, "dilation": 2 } | |
| } | |
| ] | |
| } | |