| { |
| "op": "com.microsoft.MatMulNBitsMlp", |
| "fixtureArrays": { |
| "pinned_plain_gb_ub_input_aT": [0.9181, 1.1011, 1.115, 0.9522, 0.6333, 0.2043, -0.2696, -0.7143, -1.0586, -1.2453, -1.2411, -1.0421, -0.6753, -0.1947, 0.3263, 0.8068, 1.1707, 1.3587, 1.3385, 1.1098, 0.7051, 0.1852, -0.3707, -0.8762, -1.2521, -1.4384, -1.4042, -1.1526, -0.7208, -0.1744, 0.4029, 0.9218], |
| "pinned_plain_gb_ub_input_gateBT": [52, 93, 210, 163, 160, 89, 30, 255, 204, 21, 42, 27, 184, 145, 246, 247, 100, 205, 130, 147, 208, 201, 206, 239, 252, 133, 218, 11, 232, 1, 166, 231], |
| "pinned_plain_gb_ub_input_upBT": [248, 209, 54, 55, 164, 13, 194, 211, 16, 9, 14, 47, 60, 197, 26, 75, 40, 65, 230, 39, 212, 125, 114, 195, 64, 121, 190, 31, 108, 53, 202, 59], |
| "pinned_norm_nogb_noub_input_normScaleT": [1.1719, 1.2817, 1.29, 1.1936, 1.0274, 0.8514, 0.7289, 0.7042, 0.7862, 0.9454, 1.1242, 1.2582, 1.2991, 1.2321, 1.0814, 0.9013] |
| }, |
| "cases": [ |
| { |
| "name": "plain_nogb_noub", |
| "attrs": { "K": 32, "N": 8, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [3, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "plain_nogb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [3, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "plain_gb_noub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [3, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "plain_gb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [3, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "decode_norm_nogb_noub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "decode_skip_nogb_noub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "decode_skipsum_nogb_noub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu", "epsilon": 0.001 }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { |
| "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 }, |
| "residualT": { "dtype": "float32", "shape": [1, 32], "tolerance": 0.000001, "relTolerance": 0.000001 } |
| } |
| }, |
| { |
| "name": "decode_norm_nogb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "decode_skip_nogb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "decode_skipsum_nogb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { |
| "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 }, |
| "residualT": { "dtype": "float32", "shape": [1, 32], "tolerance": 0.000001, "relTolerance": 0.000001 } |
| } |
| }, |
| { |
| "name": "decode_norm_gb_noub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "decode_skip_gb_noub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "decode_skipsum_gb_noub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { |
| "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 }, |
| "residualT": { "dtype": "float32", "shape": [1, 32], "tolerance": 0.000001, "relTolerance": 0.000001 } |
| } |
| }, |
| { |
| "name": "decode_norm_gb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "decode_skip_gb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "decode_skipsum_gb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { |
| "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 }, |
| "residualT": { "dtype": "float32", "shape": [1, 32], "tolerance": 0.000001, "relTolerance": 0.000001 } |
| } |
| }, |
| { |
| "name": "prefill_norm_nogb_noub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [5, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [5, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "prefill_norm_nogb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [5, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [5, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "prefill_norm_gb_noub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [5, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [5, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "prefill_norm_gb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [5, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [5, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "prefill_skip_gb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [5, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [5, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [5, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "prefill_skipsum_gb_ub", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [5, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [5, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { |
| "yT": { "dtype": "float32", "shape": [5, 8], "tolerance": 0.0001, "relTolerance": 0.0001 }, |
| "residualT": { "dtype": "float32", "shape": [5, 32], "tolerance": 0.000001, "relTolerance": 0.000001 } |
| } |
| }, |
| { |
| "name": "tail_column_not_tile_aligned", |
| "provenance": { |
| "notes": "N is not a multiple of the column tile, so the last tile's out-of-range lanes must contribute nothing." |
| }, |
| "attrs": { "K": 32, "N": 5, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [2, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [5, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [5, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [5], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [5, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [5, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [5], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [2, 5], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "tail_block_partial_k", |
| "provenance": { "notes": "K is not a multiple of block_size, so the final block is partly out of range." }, |
| "attrs": { "K": 20, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [2, 20], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [20], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [2, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "rank3_activation", |
| "provenance": { "notes": "Rank-3 activation: the leading axes fold into the row count." }, |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 4, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [1, 4, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "bits2_decode", |
| "provenance": { "notes": "2-bit codes pack four per stored byte with a default zero point of 2." }, |
| "attrs": { "K": 32, "N": 8, "bits": 2, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 4], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 4], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "bits8_prefill", |
| "provenance": { "notes": "8-bit codes are one byte per weight with a default zero point of 128." }, |
| "attrs": { "K": 32, "N": 8, "bits": 8, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [3, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 16], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 16], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [3, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "block32_decode", |
| "provenance": { "notes": "block_size 32, the size ONNX Runtime's fused decode kernel is specialized for." }, |
| "attrs": { "K": 64, "N": 8, "bits": 4, "block_size": 32, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [1, 64], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [1, 64], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [64], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 16], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 16], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { |
| "yT": { "dtype": "float32", "shape": [1, 8], "tolerance": 0.0001, "relTolerance": 0.0001 }, |
| "residualT": { "dtype": "float32", "shape": [1, 64], "tolerance": 0.000001, "relTolerance": 0.000001 } |
| } |
| }, |
| { |
| "name": "f16_decode_skipsum", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float16", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float16", |
| "shape": [1, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float16", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float16", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float16", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float16", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float16", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { |
| "yT": { "dtype": "float16", "shape": [1, 8], "tolerance": 0.002, "relTolerance": 0.01 }, |
| "residualT": { "dtype": "float16", "shape": [1, 32], "tolerance": 0.002, "relTolerance": 0.002 } |
| } |
| }, |
| { |
| "name": "f16_prefill_norm", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float16", |
| "shape": [4, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float16", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float16", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float16", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float16", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float16", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float16", "shape": [4, 8], "tolerance": 0.002, "relTolerance": 0.01 } } |
| }, |
| { |
| "name": "f16_plain", |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float16", |
| "shape": [3, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float16", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "gateBiasT": { |
| "dtype": "float16", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.53, "scale": 0.3 } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float16", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| }, |
| "upBiasT": { |
| "dtype": "float16", |
| "shape": [8], |
| "data": { "kind": "fillFloat32", "sinStep": 0.61, "cosStep": 0.17, "scale": 0.25 } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float16", "shape": [3, 8], "tolerance": 0.002, "relTolerance": 0.01 } } |
| }, |
| { |
| "name": "pinned_plain_gb_ub", |
| "provenance": { |
| "notes": "Expected values computed by an independent implementation written from the ONNX Runtime schema text alone, so this case checks the trusted reference as well as the kernels. No normalization: the projections read A directly." |
| }, |
| "attrs": { "K": 16, "N": 4, "bits": 4, "block_size": 8, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [2, 16], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/pinned_plain_gb_ub_input_aT" } } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [4, 2, 4], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/pinned_plain_gb_ub_input_gateBT" } } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [4, 2], |
| "data": { "kind": "values", "values": [0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0.1782, 0.1617, -0.0315, -0.1903] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [4, 2, 4], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/pinned_plain_gb_ub_input_upBT" } } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [4, 2], |
| "data": { "kind": "values", "values": [0.05, 0.046, 0.042, 0.038, 0.034, 0.03, 0.026, 0.022] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0.0932, -0.0341, -0.1356, -0.1345] } |
| } |
| }, |
| "outputs": { |
| "yT": { |
| "dtype": "float32", |
| "shape": [2, 4], |
| "data": { |
| "kind": "values", |
| "values": [0.2154822, -0.4471286, 0.0238219, -0.4921483, 0.272635, -0.6797003, -0.0049887, -0.738616] |
| }, |
| "tolerance": 0.00001, |
| "relTolerance": 0.0001 |
| } |
| } |
| }, |
| { |
| "name": "pinned_norm_nogb_noub", |
| "provenance": { |
| "notes": "Expected values computed by an independent implementation written from the ONNX Runtime schema text alone, so this case checks the trusted reference as well as the kernels. SimplifiedLayerNormalization with no biases." |
| }, |
| "attrs": { "K": 16, "N": 4, "bits": 4, "block_size": 8, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [2, 16], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/pinned_plain_gb_ub_input_aT" } } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [16], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/pinned_norm_nogb_noub_input_normScaleT" } } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [4, 2, 4], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/pinned_plain_gb_ub_input_gateBT" } } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [4, 2], |
| "data": { "kind": "values", "values": [0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [4, 2, 4], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/pinned_plain_gb_ub_input_upBT" } } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [4, 2], |
| "data": { "kind": "values", "values": [0.05, 0.046, 0.042, 0.038, 0.034, 0.03, 0.026, 0.022] } |
| } |
| }, |
| "outputs": { |
| "yT": { |
| "dtype": "float32", |
| "shape": [2, 4], |
| "data": { |
| "kind": "values", |
| "values": [0.0651757, -0.5406582, 0.1351256, -0.4018507, 0.0572953, -0.6108609, 0.1088786, -0.5550907] |
| }, |
| "tolerance": 0.00001, |
| "relTolerance": 0.0001 |
| } |
| } |
| }, |
| { |
| "name": "pinned_skipsum_gb_ub", |
| "provenance": { |
| "notes": "Expected values computed by an independent implementation written from the ONNX Runtime schema text alone, so this case checks the trusted reference as well as the kernels. SkipSimplifiedLayerNormalization with both biases and the residual-sum output." |
| }, |
| "attrs": { "K": 16, "N": 4, "bits": 4, "block_size": 8, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [2, 16], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/pinned_plain_gb_ub_input_aT" } } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [2, 16], |
| "data": { |
| "kind": "values", |
| "values": [0.0537, 0.2754, 0.2738, 0.0827, -0.1607, -0.2913, -0.2055, 0.0807, 0.4361, 0.6796, 0.672, 0.3892, -0.0618, -0.4922, -0.7224, -0.6678, -0.3779, -0.0076, 0.2621, 0.3158, 0.1593, -0.0878, -0.2585, -0.2289, 0.0133, 0.3593, 0.6324, 0.678, 0.4447, 0.0142, -0.4352, -0.7141] |
| } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [16], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/pinned_norm_nogb_noub_input_normScaleT" } } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [4, 2, 4], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/pinned_plain_gb_ub_input_gateBT" } } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [4, 2], |
| "data": { "kind": "values", "values": [0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1] } |
| }, |
| "gateBiasT": { |
| "dtype": "float32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0.1782, 0.1617, -0.0315, -0.1903] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [4, 2, 4], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/pinned_plain_gb_ub_input_upBT" } } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [4, 2], |
| "data": { "kind": "values", "values": [0.05, 0.046, 0.042, 0.038, 0.034, 0.03, 0.026, 0.022] } |
| }, |
| "upBiasT": { |
| "dtype": "float32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [0.0932, -0.0341, -0.1356, -0.1345] } |
| } |
| }, |
| "outputs": { |
| "yT": { |
| "dtype": "float32", |
| "shape": [2, 4], |
| "data": { |
| "kind": "values", |
| "values": [-0.052766, -0.1362556, 0.2952684, -1.5736477, 0.0464634, -0.1608242, -0.1441075, -0.5477401] |
| }, |
| "tolerance": 0.00001, |
| "relTolerance": 0.0001 |
| }, |
| "residualT": { |
| "dtype": "float32", |
| "shape": [2, 16], |
| "data": { |
| "kind": "values", |
| "values": [0.9718, 1.3765, 1.3888, 1.0349, 0.4726, -0.087, -0.4751, -0.6336, -0.6225, -0.5657, -0.5691, -0.6529, -0.7371, -0.6869, -0.3961, 0.139, 0.7928, 1.3511, 1.6006, 1.4256, 0.8644, 0.0974, -0.6292, -1.1051, -1.2388, -1.0791, -0.7718, -0.4746, -0.2761, -0.1602, -0.0323, 0.2077] |
| }, |
| "tolerance": 0.000001, |
| "relTolerance": 0.000001 |
| } |
| } |
| }, |
| { |
| "name": "prefill_skip_nogb_noub", |
| "provenance": { |
| "notes": "Five activation rows force the two-pass prefill schedule. Supplying skip and norm_scale while omitting both projection biases exercises staged SkipSimplifiedLayerNormalization without the residual-sum output." |
| }, |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [5, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "skipT": { |
| "dtype": "float32", |
| "shape": [5, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.37, "cosStep": 0.11, "scale": 0.5 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [5, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| }, |
| { |
| "name": "norm_rows_past_one_tile", |
| "provenance": { |
| "notes": "Ten activation rows against a ROW_TILE of eight, so the row axis dispatches two groups and the second holds two real rows and six that clamp onto the last one. It is the only case where the store guard has anything to drop; every other multi-row case fits one group, where the guard cannot fire." |
| }, |
| "attrs": { "K": 32, "N": 8, "bits": 4, "block_size": 16, "activation": "silu" }, |
| "inputs": { |
| "aT": { |
| "dtype": "float32", |
| "shape": [10, 32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.29, "scale": 0.8 } |
| }, |
| "normScaleT": { |
| "dtype": "float32", |
| "shape": [32], |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.41, "scale": 0.4, "offset": 1.0 } |
| }, |
| "gateBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [27, 180, 75, 226, 33, 150, 201, 108, 57, 246, 129, 66, 195] } |
| }, |
| "gateScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.04, 0.055, 0.05, 0.065, 0.06, 0.075, 0.07] } |
| }, |
| "upBT": { |
| "dtype": "uint8", |
| "shape": [8, 2, 8], |
| "data": { "kind": "cycle", "values": [211, 44, 137, 98, 165, 20, 233, 121, 78, 190, 15, 252, 87, 143, 61] } |
| }, |
| "upScalesT": { |
| "dtype": "float32", |
| "shape": [8, 2], |
| "data": { "kind": "cycle", "values": [0.045, 0.03, 0.07, 0.05, 0.08, 0.035] } |
| } |
| }, |
| "outputs": { "yT": { "dtype": "float32", "shape": [10, 8], "tolerance": 0.0001, "relTolerance": 0.0001 } } |
| } |
| ] |
| } |
|
|