| { |
| "op": "ai.onnx.TensorScatter", |
| "cases": [ |
| { |
| "name": "decode-kv-update-f32", |
| "attrs": { "mode": "linear", "axis": -2 }, |
| "inputs": { |
| "past": { "dtype": "float32", "shape": [4, 8, 2048, 64] }, |
| "update": { "dtype": "float32", "shape": [4, 8, 1, 64] }, |
| "writeIndices": { |
| "dtype": "uint32", |
| "shape": [4], |
| "data": { "kind": "values", "values": [100, 200, 300, 400] } |
| } |
| }, |
| "outputs": { "present": { "dtype": "float32", "shape": [4, 8, 2048, 64] } }, |
| "preset": "smoke" |
| }, |
| { |
| "name": "decode_kv_update_scalar_copy_cliff_odd_numel_f32", |
| "preset": "stress", |
| "attrs": { "mode": "linear", "axis": -2 }, |
| "inputs": { |
| "past": { "dtype": "float32", "shape": [1, 1, 65537, 127], "dist": "normal", "seed": 11, "scale": 2 }, |
| "update": { "dtype": "float32", "shape": [1, 1, 1, 127], "dist": "normal", "seed": 12, "scale": 2 }, |
| "writeIndices": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [40000] } } |
| }, |
| "outputs": { "present": { "dtype": "float32", "shape": [1, 1, 65537, 127], "dist": "empty" } }, |
| "bench": { |
| "primary": true, |
| "metrics": [ |
| { |
| "type": "bandwidth", |
| "value": "dtypeBytes(args.dtype) * (numel(shapes.past) + numel(shapes.present) + 2 * numel(shapes.update))" |
| } |
| ] |
| }, |
| "vars": { "dtype": "float32" } |
| }, |
| { |
| "name": "decode_kv_update_scalar_copy_cliff_odd_numel_f16", |
| "preset": "stress", |
| "attrs": { "mode": "linear", "axis": -2 }, |
| "inputs": { |
| "past": { "dtype": "float16", "shape": [1, 1, 131073, 63], "dist": "normal", "seed": 21, "scale": 2 }, |
| "update": { "dtype": "float16", "shape": [1, 1, 1, 63], "dist": "normal", "seed": 22, "scale": 2 }, |
| "writeIndices": { "dtype": "uint32", "shape": [1], "data": { "kind": "values", "values": [65000] } } |
| }, |
| "outputs": { "present": { "dtype": "float16", "shape": [1, 1, 131073, 63], "dist": "empty" } }, |
| "bench": { |
| "metrics": [ |
| { |
| "type": "bandwidth", |
| "value": "dtypeBytes(args.dtype) * (numel(shapes.past) + numel(shapes.present) + 2 * numel(shapes.update))" |
| } |
| ] |
| }, |
| "vars": { "dtype": "float16" } |
| } |
| ] |
| } |
|
|