7254f7b4d1
Build / Build (macos-latest) (push) Has been cancelled
Build / Build (ubuntu-latest) (push) Has been cancelled
Build / Build (windows-latest) (push) Has been cancelled
Build / Analyze (javascript) (push) Has been cancelled
Build / Analyze (python) (push) Has been cancelled
2813 lines
167 KiB
JSON
2813 lines
167 KiB
JSON
[
|
|
{
|
|
"name": "ABS",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "ABS",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "ADD",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "ADD",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "ARGMAX",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor, with rank = rank(shape1) - 1" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis in range from 0 to rank(shape1) - 1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(int32_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(int32_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(int32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "ARGMAX",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor, with rank = rank(shape1) - 1" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis in range from 0 to rank(shape1) - 1" },
|
|
{ "name": "nan_mode", "type": "NanPropagationMode", "description": "PROPAGATE or IGNORE. Set to PROPAGATE by default. This attribute affects the floating-point NaN propagation approach. This attribute is ignored by non floating-point types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "out_t(i32_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_t(i16_t)", "out_t(i32_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_t(fp8e4m3_t)", "out_t(i32_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_t(fp8e5m2_t)", "out_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(i32_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(i32_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(i32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "ARITHMETIC_RIGHT_SHIFT",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "round", "type": "boolean", "description": "If true then the shift is rounded" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "ARITHMETIC_RIGHT_SHIFT",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "round", "type": "boolean", "description": "If true then the shift is rounded" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "AVG_POOL2D",
|
|
"version": "0.80",
|
|
"category": "Pool",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor 4D" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "kernel", "type": "int32", "description": "[kernel_y, kernel_x]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_y, stride_x]" },
|
|
{ "name": "pad", "type": "int32", "description": "[pad_top, pad_bottom, pad_left, pad_right]" },
|
|
{ "name": "acc_size", "type": "acc_size_t", "description": "Enumerated type, must be one of INT32, FP16, FP32, as defined in the Supported Data Types table for this operation" },
|
|
{ "name": "input_zp", "type": "in_out_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "output_zp", "type": "in_out_t", "description": "Output tensor zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)", "acc_t(int32_t)" ] },
|
|
{ "description": "signed 16 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)", "acc_t(int32_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)", "acc_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "AVG_POOL2D",
|
|
"version": "1.0",
|
|
"category": "Pool",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input_zp", "type": "in_out_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "output_zp", "type": "in_out_t", "description": "Output tensor zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor 4D" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "kernel", "type": "int32", "description": "[kernel_y, kernel_x]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_y, stride_x]" },
|
|
{ "name": "pad", "type": "int32", "description": "[pad_top, pad_bottom, pad_left, pad_right]" },
|
|
{ "name": "acc_type", "type": "acc_type_t", "description": "Enumerated type, must be one of INT32, FP16, FP32 matching the type of acc_t in the Supported Data Types table for this operation" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 with int32 accumulate [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "signed 16 with int32 accumulate [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_out_t(i16_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "fp8e4m3 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_out_t(fp8e4m3_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp8e5m2 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_out_t(fp8e5m2_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)", "acc_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "BITWISE_AND",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "BITWISE_AND",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "BITWISE_NOT",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "BITWISE_NOT",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "BITWISE_OR",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "BITWISE_OR",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "BITWISE_XOR",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "BITWISE_XOR",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CAST",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "bool to signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(bool_t)", "out_t(int8_t)" ] },
|
|
{ "description": "bool to signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(bool_t)", "out_t(int16_t)" ] },
|
|
{ "description": "bool to signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(bool_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 8 to bool", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "out_t(bool_t)" ] },
|
|
{ "description": "signed 8 to signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "out_t(int16_t)" ] },
|
|
{ "description": "signed 8 to signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 8 to fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(int8_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "signed 8 to bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(int8_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "signed 8 to fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(int8_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "signed 16 to bool", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "signed 16 to signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "out_t(int8_t)" ] },
|
|
{ "description": "signed 16 to signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 16 to fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(int16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "signed 16 to bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(int16_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "signed 16 to fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(int16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "signed 32 to bool", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int32_t)", "out_t(bool_t)" ] },
|
|
{ "description": "signed 32 to signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int32_t)", "out_t(int8_t)" ] },
|
|
{ "description": "signed 32 to signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int32_t)", "out_t(int16_t)" ] },
|
|
{ "description": "signed 32 to fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(int32_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "signed 32 to bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(int32_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "signed 32 to fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(int32_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "bf16 to signed 8", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(int8_t)" ] },
|
|
{ "description": "bf16 to signed 16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(int16_t)" ] },
|
|
{ "description": "bf16 to signed 32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(int32_t)" ] },
|
|
{ "description": "bf16 to fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp16 to signed 8", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(int8_t)" ] },
|
|
{ "description": "fp16 to signed 16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(int16_t)" ] },
|
|
{ "description": "fp16 to signed 32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(int32_t)" ] },
|
|
{ "description": "fp16 to fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp32 to signed 8", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(int8_t)" ] },
|
|
{ "description": "fp32 to signed 16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(int16_t)" ] },
|
|
{ "description": "fp32 to signed 32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(int32_t)" ] },
|
|
{ "description": "fp32 to bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "fp32 to fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(fp16_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CAST",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "bool to signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(bool_t)", "out_t(i8_t)" ] },
|
|
{ "description": "bool to signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(bool_t)", "out_t(i16_t)" ] },
|
|
{ "description": "bool to signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(bool_t)", "out_t(i32_t)" ] },
|
|
{ "description": "signed 8 to bool [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "out_t(bool_t)" ] },
|
|
{ "description": "signed 8 to signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "out_t(i16_t)" ] },
|
|
{ "description": "signed 8 to signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "out_t(i32_t)" ] },
|
|
{ "description": "signed 8 to fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(i8_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "signed 8 to bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(i8_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "signed 8 to fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(i8_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "signed 16 to bool [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "signed 16 to signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i16_t)", "out_t(i8_t)" ] },
|
|
{ "description": "signed 16 to signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i16_t)", "out_t(i32_t)" ] },
|
|
{ "description": "signed 16 to fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(i16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "signed 16 to bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(i16_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "signed 16 to fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(i16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "signed 32 to bool [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i32_t)", "out_t(bool_t)" ] },
|
|
{ "description": "signed 32 to signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i32_t)", "out_t(i8_t)" ] },
|
|
{ "description": "signed 32 to signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i32_t)", "out_t(i16_t)" ] },
|
|
{ "description": "signed 32 to fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(i32_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "signed 32 to bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(i32_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "signed 32 to fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(i32_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "bf16 to signed 8 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(i8_t)" ] },
|
|
{ "description": "bf16 to signed 16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(i16_t)" ] },
|
|
{ "description": "bf16 to signed 32 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(i32_t)" ] },
|
|
{ "description": "bf16 to fp8e4m3 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(fp8e4m3_t)" ] },
|
|
{ "description": "bf16 to fp8e5m2 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(fp8e5m2_t)" ] },
|
|
{ "description": "bf16 to fp32 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp8e4m3 to fp16 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_t(fp8e4m3_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "fp8e4m3 to bf16 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_t(fp8e4m3_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "fp8e4m3 to fp32 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_t(fp8e4m3_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp8e5m2 to fp16 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_t(fp8e5m2_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "fp8e5m2 to bf16 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_t(fp8e5m2_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "fp8e5m2 to fp32 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_t(fp8e5m2_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp16 to signed 8 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(i8_t)" ] },
|
|
{ "description": "fp16 to signed 16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(i16_t)" ] },
|
|
{ "description": "fp16 to signed 32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(i32_t)" ] },
|
|
{ "description": "fp16 to fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp16 to fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 to fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp32 to signed 8 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(i8_t)" ] },
|
|
{ "description": "fp32 to signed 16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(i16_t)" ] },
|
|
{ "description": "fp32 to signed 32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(i32_t)" ] },
|
|
{ "description": "fp32 to fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp32 to fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp32 to bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "fp32 to fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(fp16_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CEIL",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CEIL",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CLAMP",
|
|
"version": "0.80",
|
|
"category": "Activation",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type and shape as input" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "min_val", "type": "in_out_t", "description": "Minimum clip value" },
|
|
{ "name": "max_val", "type": "in_out_t", "description": "Maximum clip value" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CLAMP",
|
|
"version": "1.0",
|
|
"category": "Activation",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type and shape as input" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "min_val", "type": "in_out_t", "description": "Minimum clip value" },
|
|
{ "name": "max_val", "type": "in_out_t", "description": "Maximum clip value" },
|
|
{ "name": "nan_mode", "type": "NanPropagationMode", "description": "PROPAGATE or IGNORE. Set to PROPAGATE by default. This attribute affects the floating-point NaN propagation approach. This attribute is ignored by non floating-point types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CLZ",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CLZ",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CONCAT",
|
|
"version": "0.80",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "List of input tensors. All inputs must have the same rank and data type" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis along which concatenation is to occur, in range from 0 to rank(shape)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CONCAT",
|
|
"version": "1.0",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "List of input tensors. All inputs must have the same rank and data type" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis along which concatenation is to occur, in range from 0 to rank(shape)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "COND_IF",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "condition", "type": "boolean", "description": "Input condition as a size 1 tensor" },
|
|
{ "name": "input_list", "type": "tensor[]", "description": "List of input tensors" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output_list", "type": "tensor[]", "description": "List of output tensors" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "then_graph", "type": "graph", "description": "TOSA graph to execute if condition is true" },
|
|
{ "name": "else_graph", "type": "graph", "description": "TOSA graph to execute if condition is false" }
|
|
]
|
|
},
|
|
{
|
|
"name": "COND_IF",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "condition", "type": "boolean", "description": "Input condition as a size 1 tensor" },
|
|
{ "name": "input_list", "type": "tensor[]", "description": "List of input tensors" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output_list", "type": "tensor[]", "description": "List of output tensors" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "then_graph", "type": "graph", "description": "TOSA graph to execute if condition is true" },
|
|
{ "name": "else_graph", "type": "graph", "description": "TOSA graph to execute if condition is false" }
|
|
]
|
|
},
|
|
{
|
|
"name": "CONST",
|
|
"version": "0.80",
|
|
"category": "Constant",
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor of the same type, size as the input tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "values", "type": "out_t", "description": "Constant values" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "out_t(bool_t)" ] },
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "out_t(int32_t)" ] },
|
|
{ "description": "signed 48", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "out_t(int48_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CONST",
|
|
"version": "1.0",
|
|
"category": "Constant",
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "values", "type": "out_t", "description": "Constant values" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "out_t(bool_t)" ] },
|
|
{ "description": "4-bit [v1.0]", "type_param_str": "EXT-INT4", "allowed_type_strs": [ "out_t(i4_t)" ] },
|
|
{ "description": "8-bit [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "out_t(i8_t)" ] },
|
|
{ "description": "16-bit [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "out_t(i16_t)" ] },
|
|
{ "description": "32-bit [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "out_t(i32_t)" ] },
|
|
{ "description": "48-bit [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "out_t(i48_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CONST_SHAPE",
|
|
"version": "1.0",
|
|
"category": "Constant",
|
|
"outputs": [
|
|
{ "name": "output", "type": "shape", "description": "Output shape" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "values", "type": "shape", "description": "Constant shape" }
|
|
]
|
|
},
|
|
{
|
|
"name": "CONV2D",
|
|
"version": "0.80",
|
|
"category": "Layer",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "weight", "type": "weight_t", "description": "Weight kernel size KH x KW" },
|
|
{ "name": "bias", "type": "out_t", "description": "Per output channel bias data." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "pad", "type": "int32", "description": "[pad_top, pad_bottom, pad_left, pad_right]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_y, stride_x]" },
|
|
{ "name": "dilation", "type": "int32", "description": "[dilation_y, dilation_x]" },
|
|
{ "name": "input_zp", "type": "in_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "weight_zp", "type": "weight_t", "description": "Weight zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8x8 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "weight_t(int8_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 8x4 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "weight_t(int4_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 16x8 with int48 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "weight_t(int8_t)", "out_t(int48_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "weight_t(bf16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "weight_t(fp32_t)", "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CONV2D",
|
|
"version": "1.0",
|
|
"category": "Layer",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "weight", "type": "weight_t", "description": "Weight kernel size KH x KW" },
|
|
{ "name": "bias", "type": "out_t", "description": "Per output channel bias data. + Bias data will be broadcast if BC == 1." },
|
|
{ "name": "input_zp", "type": "in_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "weight_zp", "type": "weight_t", "description": "Weight zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "pad", "type": "int32", "description": "[pad_top, pad_bottom, pad_left, pad_right]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_y, stride_x]" },
|
|
{ "name": "dilation", "type": "int32", "description": "[dilation_y, dilation_x]" },
|
|
{ "name": "acc_type", "type": "acc_type_t", "description": "Enumerated type, must be one of INT32, INT48, FP16, FP32 matching the type of acc_t in the Supported Data Types table for this operation" },
|
|
{ "name": "local_bound", "type": "boolean", "description": "This optional attribute affects the floating-point compliance error bound. The default of false allows for direct and transform based, fast convolution algorithms. Only set to true if direct dot-product calculation precision is required." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8x8 with int32 accumulate [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "weight_t(i8_t)", "out_t(i32_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "signed 8x4 with int32 accumulate [v1.0]", "type_param_str": "EXT-INT4", "allowed_type_strs": [ "in_t(i8_t)", "weight_t(i4_t)", "out_t(i32_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "signed 16x8 with int48 accumulate [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_t(i16_t)", "weight_t(i8_t)", "out_t(i48_t)", "acc_t(i48_t)" ] },
|
|
{ "description": "fp8e4m3 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_t(fp8e4m3_t)", "weight_t(fp8e4m3_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp8e5m2 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_t(fp8e5m2_t)", "weight_t(fp8e5m2_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "weight_t(bf16_t)", "out_t(bf16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "weight_t(fp32_t)", "out_t(fp32_t)", "acc_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CONV3D",
|
|
"version": "0.80",
|
|
"category": "Layer",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "weight", "type": "weight_t", "description": "Weight kernel size KDxKHxKW" },
|
|
{ "name": "bias", "type": "out_t", "description": "Per output channel bias data." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "pad", "type": "int32", "description": "[pad_d0, pad_d1, pad_top, pad_bottom, pad_left, pad_right]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_d, stride_y, stride_x]" },
|
|
{ "name": "dilation", "type": "int32", "description": "[dilation_d, dilation_y, dilation_x]" },
|
|
{ "name": "input_zp", "type": "in_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "weight_zp", "type": "weight_t", "description": "Weight zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8x8 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "weight_t(int8_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 8x4 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "weight_t(int4_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 16x8 with int48 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "weight_t(int8_t)", "out_t(int48_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "weight_t(bf16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "weight_t(fp32_t)", "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CONV3D",
|
|
"version": "1.0",
|
|
"category": "Layer",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "weight", "type": "weight_t", "description": "Weight kernel size KDxKHxKW" },
|
|
{ "name": "bias", "type": "out_t", "description": "Per output channel bias data. + Bias data will be broadcast if BC == 1." },
|
|
{ "name": "input_zp", "type": "in_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "weight_zp", "type": "weight_t", "description": "Weight zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "pad", "type": "int32", "description": "[pad_d0, pad_d1, pad_top, pad_bottom, pad_left, pad_right]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_d, stride_y, stride_x]" },
|
|
{ "name": "dilation", "type": "int32", "description": "[dilation_d, dilation_y, dilation_x]" },
|
|
{ "name": "acc_type", "type": "acc_type_t", "description": "Enumerated type, must be one of INT32, INT48, FP16, FP32 matching the type of acc_t in the Supported Data Types table for this operation" },
|
|
{ "name": "local_bound", "type": "boolean", "description": "This optional attribute affects the floating-point compliance error bound. The default of false allows for direct and transform based, fast convolution algorithms. Only set to true if direct dot-product calculation precision is required." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8x8 with int32 accumulate [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "weight_t(i8_t)", "out_t(i32_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "signed 8x4 with int32 accumulate [v1.0]", "type_param_str": "EXT-INT4", "allowed_type_strs": [ "in_t(i8_t)", "weight_t(i4_t)", "out_t(i32_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "signed 16x8 with int48 accumulate [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_t(i16_t)", "weight_t(i8_t)", "out_t(i48_t)", "acc_t(i48_t)" ] },
|
|
{ "description": "fp8e4m3 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_t(fp8e4m3_t)", "weight_t(fp8e4m3_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp8e5m2 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_t(fp8e5m2_t)", "weight_t(fp8e5m2_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "weight_t(bf16_t)", "out_t(bf16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "weight_t(fp32_t)", "out_t(fp32_t)", "acc_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "COS",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type and shape as input" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "CUSTOM",
|
|
"version": "1.0",
|
|
"category": "Custom",
|
|
"inputs": [
|
|
{ "name": "input_list", "type": "tensor[]", "description": "List of input tensors" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output_list", "type": "tensor[]", "description": "List of output tensors" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "operator_name", "type": "string", "description": "String which tells the backend which custom operator is being called" },
|
|
{ "name": "domain_name", "type": "string", "description": "String identifier which can help avoid name collisions on the operator field. Different implementations of a given operator would be in different domains. Implementations can choose which domains they want to support." },
|
|
{ "name": "implementation_attrs", "type": "string", "description": "String value containing implementation specific attributes which apply to the operation" }
|
|
]
|
|
},
|
|
{
|
|
"name": "DEPTHWISE_CONV2D",
|
|
"version": "0.80",
|
|
"category": "Layer",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "weight", "type": "weight_t", "description": "Weight kernel size KH x KW" },
|
|
{ "name": "bias", "type": "out_t", "description": "Per output channel bias data." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "pad", "type": "int32", "description": "[pad_top, pad_bottom, pad_left, pad_right]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_y, stride_x]" },
|
|
{ "name": "dilation", "type": "int32", "description": "[dilation_y, dilation_x]" },
|
|
{ "name": "input_zp", "type": "in_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "weight_zp", "type": "weight_t", "description": "Weight zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8x8 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "weight_t(int8_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 8x4 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "weight_t(int4_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 16x8 with int48 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "weight_t(int8_t)", "out_t(int48_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "weight_t(bf16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "weight_t(fp32_t)", "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "DEPTHWISE_CONV2D",
|
|
"version": "1.0",
|
|
"category": "Layer",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "weight", "type": "weight_t", "description": "Weight kernel size KH x KW" },
|
|
{ "name": "bias", "type": "out_t", "description": "Per output channel bias data. + Bias data will be broadcast if BC == 1." },
|
|
{ "name": "input_zp", "type": "in_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "weight_zp", "type": "weight_t", "description": "Weight zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "pad", "type": "int32", "description": "[pad_top, pad_bottom, pad_left, pad_right]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_y, stride_x]" },
|
|
{ "name": "dilation", "type": "int32", "description": "[dilation_y, dilation_x]" },
|
|
{ "name": "acc_type", "type": "acc_type_t", "description": "Enumerated type, must be one of INT32, INT48, FP16, FP32 matching the type of acc_t in the Supported Data Types table for this operation" },
|
|
{ "name": "local_bound", "type": "boolean", "description": "This optional attribute affects the floating-point compliance error bound. The default of false allows for direct and transform based, fast convolution algorithms. Only set to true if direct dot-product calculation precision is required." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8x8 with int32 accumulate [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "weight_t(i8_t)", "out_t(i32_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "signed 8x4 with int32 accumulate [v1.0]", "type_param_str": "EXT-INT4", "allowed_type_strs": [ "in_t(i8_t)", "weight_t(i4_t)", "out_t(i32_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "signed 16x8 with int48 accumulate [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_t(i16_t)", "weight_t(i8_t)", "out_t(i48_t)", "acc_t(i48_t)" ] },
|
|
{ "description": "fp8e4m3 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_t(fp8e4m3_t)", "weight_t(fp8e4m3_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp8e5m2 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_t(fp8e5m2_t)", "weight_t(fp8e5m2_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "weight_t(bf16_t)", "out_t(bf16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "weight_t(fp32_t)", "out_t(fp32_t)", "acc_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "EQUAL",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int32_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "EQUAL",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i32_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "ERF",
|
|
"version": "1.0",
|
|
"category": "Activation",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type and shape as input" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "EXP",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "EXP",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "FFT2D",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input_real", "type": "in_out_t", "description": "Real part of the complex input. H,W must be powers of two." },
|
|
{ "name": "input_imag", "type": "in_out_t", "description": "Imaginary part of the complex input. H,W must be powers of two." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output_real", "type": "in_out_t", "description": "Real part of the complex output." },
|
|
{ "name": "output_imag", "type": "in_out_t", "description": "Imaginary part of the complex output." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "inverse", "type": "boolean", "description": "false for forward FFT, true for inverse FFT" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "FFT2D",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input_real", "type": "in_out_t", "description": "Real part of the complex input. H,W must be powers of two." },
|
|
{ "name": "input_imag", "type": "in_out_t", "description": "Imaginary part of the complex input. H,W must be powers of two." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output_real", "type": "in_out_t", "description": "Real part of the complex output." },
|
|
{ "name": "output_imag", "type": "in_out_t", "description": "Imaginary part of the complex output." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "inverse", "type": "boolean", "description": "false for forward FFT, true for inverse FFT" },
|
|
{ "name": "local_bound", "type": "boolean", "description": "This optional attribute affects the floating-point compliance error bound. The default of false allows for direct and transform based, fast convolution algorithms. Only set to true if direct dot-product calculation precision is required." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "EXT-FFT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "FLOOR",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "FLOOR",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "FULLY_CONNECTED",
|
|
"version": "0.80",
|
|
"category": "Layer",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "weight", "type": "weight_t", "description": "Weights" },
|
|
{ "name": "bias", "type": "out_t", "description": "Per output channel bias data." },
|
|
{ "name": "input_zp", "type": "in_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "weight_zp", "type": "weight_t", "description": "Weight zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8x8 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "weight_t(int8_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 8x4 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "weight_t(int4_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 16x8 with int48 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "weight_t(int8_t)", "out_t(int48_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "weight_t(bf16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "weight_t(fp32_t)", "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "GATHER",
|
|
"version": "0.80",
|
|
"category": "Transform",
|
|
"inputs": [
|
|
{ "name": "values", "type": "in_out_t", "description": "3D value tensor" },
|
|
{ "name": "indices", "type": "index_t", "description": "2D index tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "3D output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "GATHER",
|
|
"version": "1.0",
|
|
"category": "Transform",
|
|
"inputs": [
|
|
{ "name": "values", "type": "in_out_t", "description": "3D value tensor" },
|
|
{ "name": "indices", "type": "index_t", "description": "2D index tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "3D output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(i32_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "GREATER",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int32_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "GREATER",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i32_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "GREATER_EQUAL",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int32_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "GREATER_EQUAL",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i32_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(bool_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "IDENTITY",
|
|
"version": "0.80",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of the same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "IDENTITY",
|
|
"version": "1.0",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of the same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "4-bit [v1.0]", "type_param_str": "EXT-INT4", "allowed_type_strs": [ "in_out_t(i4_t)" ] },
|
|
{ "description": "8-bit [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "16-bit [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "32-bit [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "48-bit [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_out_t(i48_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "INTDIV",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "INTDIV",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOG",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOG",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_AND",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_AND",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_LEFT_SHIFT",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_LEFT_SHIFT",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_NOT",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_NOT",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_OR",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_OR",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_RIGHT_SHIFT",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_RIGHT_SHIFT",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_XOR",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "LOGICAL_XOR",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "MATMUL",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "A", "type": "in_t", "description": "Input tensor A, N matrices of size HxC" },
|
|
{ "name": "B", "type": "in_t", "description": "Input tensor B, N matrices of size CxW" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor, N matrices of size HxW" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "A_zp", "type": "in_t", "description": "Input tensor A zero point. Must be zero for non-int8 types." },
|
|
{ "name": "B_zp", "type": "in_t", "description": "Input tensor B zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8x8 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 16x16 with int48 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "out_t(int48_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "MATMUL",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "A", "type": "in_t", "description": "Input tensor A, N matrices of size HxC" },
|
|
{ "name": "B", "type": "in_t", "description": "Input tensor B, N matrices of size CxW" },
|
|
{ "name": "A_zp", "type": "in_t", "description": "Input tensor A zero point. Must be zero for non-int8 types." },
|
|
{ "name": "B_zp", "type": "in_t", "description": "Input tensor B zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor, N matrices of size HxW" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8x8 with int32 accumulate [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "out_t(i32_t)" ] },
|
|
{ "description": "signed 16x16 with int48 accumulate [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_t(i16_t)", "out_t(i48_t)" ] },
|
|
{ "description": "fp8e4m3 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_t(fp8e4m3_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "fp8e5m2 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_t(fp8e5m2_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "MAX_POOL2D",
|
|
"version": "0.80",
|
|
"category": "Pool",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor 4D" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor 4D" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "kernel", "type": "int32", "description": "[kernel_y, kernel_x]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_y, stride_x]" },
|
|
{ "name": "pad", "type": "int32", "description": "[pad_top, pad_bottom, pad_left, pad_right]" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "16-bit", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "MAX_POOL2D",
|
|
"version": "1.0",
|
|
"category": "Pool",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor 4D" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor 4D" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "kernel", "type": "int32", "description": "[kernel_y, kernel_x]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_y, stride_x]" },
|
|
{ "name": "pad", "type": "int32", "description": "[pad_top, pad_bottom, pad_left, pad_right]" },
|
|
{ "name": "nan_mode", "type": "NanPropagationMode", "description": "PROPAGATE or IGNORE. Set to PROPAGATE by default. This attribute affects the floating-point NaN propagation approach. This attribute is ignored by non floating-point types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "MAXIMUM",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "MAXIMUM",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "nan_mode", "type": "NanPropagationMode", "description": "PROPAGATE or IGNORE. Set to PROPAGATE by default. This attribute affects the floating-point NaN propagation approach. This attribute is ignored by non floating-point types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "MINIMUM",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "MINIMUM",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "nan_mode", "type": "NanPropagationMode", "description": "PROPAGATE or IGNORE. Set to PROPAGATE by default. This attribute affects the floating-point NaN propagation approach. This attribute is ignored by non floating-point types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "MUL",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int32_t)", "out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "MUL",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_t", "description": "Input tensor with the same rank as input1" },
|
|
{ "name": "shift", "type": "int8", "description": "Result right shift (used only when in_t is i32_t)" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "out_t(i32_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i16_t)", "out_t(i32_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_t(i32_t)", "out_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "NEGATE",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "input1_zp", "type": "in_out_t", "description": "Input 1 zero point. Must be zero for non-int8 types." },
|
|
{ "name": "output_zp", "type": "in_out_t", "description": "Output zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)", "acc_t(int32_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)", "acc_t(int32_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)", "acc_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)", "acc_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)", "acc_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "NEGATE",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input1_zp", "type": "in_out_t", "description": "Input 1 zero point. Must be zero for non-int8 types." },
|
|
{ "name": "output_zp", "type": "in_out_t", "description": "Output zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)", "acc_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)", "acc_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "PAD",
|
|
"version": "0.80",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type as the input tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "padding", "type": "int32", "description": "Number of pad elements at the start and end of each dimension" },
|
|
{ "name": "pad_const", "type": "in_out_t", "description": "Constant value to be used as padding" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "PAD",
|
|
"version": "1.0",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "padding", "type": "shape", "description": "Number of pad elements at the start and end of each dimension. The values in padding are interpreted as start, end of each dimension. As an example for rank 2, the values would be interpreted as [start_dim0, end_dim0, start_dim1, end_dim1]." },
|
|
{ "name": "pad_const", "type": "in_out_t", "description": "The value to be used as padding." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "POW",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "POW",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RECIPROCAL",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RECIPROCAL",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_ALL",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_ALL",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_ANY",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_ANY",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_MAX",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_MAX",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" },
|
|
{ "name": "nan_mode", "type": "NanPropagationMode", "description": "PROPAGATE or IGNORE. Set to PROPAGATE by default. This attribute affects the floating-point NaN propagation approach. This attribute is ignored by non floating-point types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_MIN",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_MIN",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" },
|
|
{ "name": "nan_mode", "type": "NanPropagationMode", "description": "PROPAGATE or IGNORE. Set to PROPAGATE by default. This attribute affects the floating-point NaN propagation approach. This attribute is ignored by non floating-point types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_PRODUCT",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_PRODUCT",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_SUM",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor with rank from 1 to 4" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REDUCE_SUM",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same rank as the input tensor." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reduce, in range from 0 to rank(shape1)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)", "acc_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RESCALE",
|
|
"version": "0.80",
|
|
"category": "Quantization",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor with the same shape as input" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "input_zp", "type": "in_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "output_zp", "type": "out_t", "description": "Output tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "scale32", "type": "boolean", "description": "if (scale32) mul_t=int32_t else mul_t=int16_t" },
|
|
{ "name": "double_round", "type": "boolean", "description": "Select double round mode" },
|
|
{ "name": "per_channel", "type": "boolean", "description": "if (per_channel) NC=shape[rank(shape)-1] else NC=1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 to signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "out_t(int8_t)" ] },
|
|
{ "description": "signed 8 to signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "out_t(int16_t)" ] },
|
|
{ "description": "signed 8 to signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 8 to unsigned 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "out_t(uint8_t)" ] },
|
|
{ "description": "signed 16 to signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "out_t(int8_t)" ] },
|
|
{ "description": "signed 16 to signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "out_t(int16_t)" ] },
|
|
{ "description": "signed 16 to signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 16 to unsigned 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "out_t(uint8_t)" ] },
|
|
{ "description": "signed 16 to unsigned 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "out_t(uint16_t)" ] },
|
|
{ "description": "signed 32 to signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int32_t)", "out_t(int8_t)" ] },
|
|
{ "description": "signed 32 to signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int32_t)", "out_t(int16_t)" ] },
|
|
{ "description": "signed 32 to signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int32_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 48 to signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int48_t)", "out_t(int8_t)" ] },
|
|
{ "description": "signed 48 to signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int48_t)", "out_t(int16_t)" ] },
|
|
{ "description": "signed 48 to signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int48_t)", "out_t(int32_t)" ] },
|
|
{ "description": "unsigned 8 to signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(uint8_t)", "out_t(int8_t)" ] },
|
|
{ "description": "unsigned 8 to signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(uint8_t)", "out_t(int16_t)" ] },
|
|
{ "description": "unsigned 16 to signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(uint16_t)", "out_t(int16_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RESCALE",
|
|
"version": "1.0",
|
|
"category": "Quantization",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "multiplier", "type": "mul_t", "description": "Scaling multiplier array" },
|
|
{ "name": "shift", "type": "int8", "description": "Scaling shift array" },
|
|
{ "name": "input_zp", "type": "in_t", "description": "Input tensor zero point. int8/uint8 can have zero point within their valid range. uint16 zero point must be either 0 or 32768. All other types must have zero point equal to 0." },
|
|
{ "name": "output_zp", "type": "out_t", "description": "Output tensor zero point.int8/uint8 can have zero point within their valid range. uint16 zero point must be either 0 or 32768. All other types must have zero point equal to 0." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor with the same shape as input" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "scale32", "type": "boolean", "description": "if (scale32) mul_t=i32_t else mul_t=i16_t" },
|
|
{ "name": "rounding_mode", "type": "RoundingMode", "description": "Select rounding mode" },
|
|
{ "name": "per_channel", "type": "boolean", "description": "if (per_channel) NC=shape[rank(shape)-1] else NC=1" },
|
|
{ "name": "input_unsigned", "type": "boolean", "description": "If True, treat the input values as unsigned." },
|
|
{ "name": "output_unsigned", "type": "boolean", "description": "If True, treat the output values as unsigned." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "8-bit to 8-bit [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "out_t(i8_t)" ] },
|
|
{ "description": "8-bit to 16-bit [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "out_t(i16_t)" ] },
|
|
{ "description": "8-bit to 32-bit [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "out_t(i32_t)" ] },
|
|
{ "description": "16-bit to 8-bit [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i16_t)", "out_t(i8_t)" ] },
|
|
{ "description": "16-bit to 16-bit [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i16_t)", "out_t(i16_t)" ] },
|
|
{ "description": "16-bit to 32-bit [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i16_t)", "out_t(i32_t)" ] },
|
|
{ "description": "32-bit to 8-bit [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i32_t)", "out_t(i8_t)" ] },
|
|
{ "description": "32-bit to 16-bit [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i32_t)", "out_t(i16_t)" ] },
|
|
{ "description": "32-bit to 32-bit [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i32_t)", "out_t(i32_t)" ] },
|
|
{ "description": "48-bit to 8-bit [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_t(i48_t)", "out_t(i8_t)" ] },
|
|
{ "description": "48-bit to 16-bit [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_t(i48_t)", "out_t(i16_t)" ] },
|
|
{ "description": "48-bit to 32-bit [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_t(i48_t)", "out_t(i32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RESHAPE",
|
|
"version": "0.80",
|
|
"category": "Shape",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "new_shape", "type": "int32", "description": "List of values, with each element giving the size of the result tensor for the given dimension. At most one dimension may be given as -1 to automatically calculate the dimension size." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RESHAPE",
|
|
"version": "1.0",
|
|
"category": "Shape",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "shape", "type": "shape", "description": "shape_t giving the new shape." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RESIZE",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "scale", "type": "int16", "description": "[scale_y_n, scale_y_d, scale_x_n, scale_x_d]" },
|
|
{ "name": "offset", "type": "int16", "description": "[offset_y, offset_x]" },
|
|
{ "name": "border", "type": "int16", "description": "[border_y, border_x]" },
|
|
{ "name": "mode", "type": "ResizeMode", "description": "BILINEAR or NEAREST" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8, bilinear", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "resize_t(int16_t)", "in_t(int8_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 8, nearest", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "resize_t(int16_t)", "in_t(int8_t)", "out_t(int8_t)" ] },
|
|
{ "description": "signed 16, bilinear", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "resize_t(int16_t)", "in_t(int16_t)", "out_t(int48_t)" ] },
|
|
{ "description": "signed 16, nearest", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "resize_t(int16_t)", "in_t(int16_t)", "out_t(int16_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "resize_t(fp16_t)", "in_t(fp16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "resize_t(bf16_t)", "in_t(bf16_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "resize_t(fp32_t)", "in_t(fp32_t)", "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RESIZE",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "scale", "type": "shape", "description": "[scale_y_n, scale_y_d, scale_x_n, scale_x_d]" },
|
|
{ "name": "offset", "type": "shape", "description": "[offset_y, offset_x]" },
|
|
{ "name": "border", "type": "shape", "description": "[border_y, border_x]" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "mode", "type": "ResizeMode", "description": "BILINEAR or NEAREST" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8, bilinear [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "resize_t(i16_t)", "in_t(i8_t)", "out_t(i32_t)" ] },
|
|
{ "description": "signed 8, nearest [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "resize_t(i16_t)", "in_t(i8_t)", "out_t(i8_t)" ] },
|
|
{ "description": "signed 16, bilinear [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "resize_t(i16_t)", "in_t(i16_t)", "out_t(i48_t)" ] },
|
|
{ "description": "signed 16, nearest [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "resize_t(i16_t)", "in_t(i16_t)", "out_t(i16_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "resize_t(fp16_t)", "in_t(fp16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "resize_t(bf16_t)", "in_t(bf16_t)", "out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "resize_t(fp32_t)", "in_t(fp32_t)", "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REVERSE",
|
|
"version": "0.80",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same shape as input tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reverse, in range from 0 to rank(shape)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "REVERSE",
|
|
"version": "1.0",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor. Same shape as input tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "axis", "type": "int32", "description": "Axis to reverse, in range from 0 to rank(shape)-1" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RFFT2D",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Real input. H,W must be powers of two." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output_real", "type": "in_out_t", "description": "Real part of the complex output" },
|
|
{ "name": "output_imag", "type": "in_out_t", "description": "Imaginary part of the complex output." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RFFT2D",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input_real", "type": "in_out_t", "description": "Real input. H,W must be powers of two." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output_real", "type": "in_out_t", "description": "Real part of the complex output" },
|
|
{ "name": "output_imag", "type": "in_out_t", "description": "Imaginary part of the complex output." }
|
|
],
|
|
"attributes": [
|
|
{ "name": "local_bound", "type": "boolean", "description": "This optional attribute affects the floating-point compliance error bound. The default of false allows for direct and transform based, fast convolution algorithms. Only set to true if direct dot-product calculation precision is required." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "EXT-FFT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RSQRT",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "RSQRT",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, size as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "SCATTER",
|
|
"version": "0.80",
|
|
"category": "Transform",
|
|
"inputs": [
|
|
{ "name": "values_in", "type": "in_out_t", "description": "3D values in tensor" },
|
|
{ "name": "indices", "type": "index_t", "description": "2D index tensor" },
|
|
{ "name": "input", "type": "in_out_t", "description": "3D input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "values_out", "type": "in_out_t", "description": "3D output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "SCATTER",
|
|
"version": "1.0",
|
|
"category": "Transform",
|
|
"inputs": [
|
|
{ "name": "values_in", "type": "in_out_t", "description": "3D values in tensor" },
|
|
{ "name": "indices", "type": "index_t", "description": "2D index tensor" },
|
|
{ "name": "input", "type": "in_out_t", "description": "3D input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "values_out", "type": "in_out_t", "description": "3D output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(i32_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "index_t(i32_t)", "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "SELECT",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "boolean", "description": "Input selector tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input value tensor if input1 is True" },
|
|
{ "name": "input3", "type": "in_out_t", "description": "Input value tensor if input1 is False" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type as input2 and input3, with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "SELECT",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "boolean", "description": "Input selector tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input value tensor if input1 is True" },
|
|
{ "name": "input3", "type": "in_out_t", "description": "Input value tensor if input1 is False" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type as input2 and input3" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "SIGMOID",
|
|
"version": "0.80",
|
|
"category": "Activation",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type and shape as input" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "SIGMOID",
|
|
"version": "1.0",
|
|
"category": "Activation",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type and shape as input" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "SIN",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type and shape as input" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "SLICE",
|
|
"version": "0.80",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type as the input tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "start", "type": "index_t", "description": "List of integer coordinates, of length equal to the rank of input1. Start coordinate for slicing." },
|
|
{ "name": "size", "type": "index_t", "description": "List of integer size values, of length equal to the rank of input1. Size of the input to be used." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "SLICE",
|
|
"version": "1.0",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "start", "type": "shape", "description": "List of integer coordinates, of length equal to the rank of input1. Start coordinate for slicing." },
|
|
{ "name": "size", "type": "shape", "description": "List of integer size values, of length equal to the rank of input1. Size of the input to be used." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "SUB",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor with broadcast shape if necessary" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "SUB",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "input2", "type": "in_out_t", "description": "Input tensor with the same rank as input1" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "TABLE",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "table_t(int8_t)", "out_t(int8_t)", "TABLE_SIZE(256)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "table_t(int16_t)", "out_t(int32_t)", "TABLE_SIZE(513)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "TABLE",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "table", "type": "table_t", "description": "Lookup table tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "table_t(i8_t)", "out_t(i8_t)", "TABLE_SIZE(256)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_t(i16_t)", "table_t(i16_t)", "out_t(i32_t)", "TABLE_SIZE(513)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "TANH",
|
|
"version": "0.80",
|
|
"category": "Activation",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type and shape as input" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "TANH",
|
|
"version": "1.0",
|
|
"category": "Activation",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type and shape as input" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "TILE",
|
|
"version": "0.80",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, rank as the input tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "multiples", "type": "int32", "description": "Number of times to replicate input1 in each dimension" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "TILE",
|
|
"version": "1.0",
|
|
"category": "Tensor",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" },
|
|
{ "name": "multiples", "type": "shape", "description": "Number of times to replicate input1 in each dimension" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, rank as the input tensor" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "TRANSPOSE",
|
|
"version": "0.80",
|
|
"category": "Transform",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, rank as the input tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "perms", "type": "int32", "description": "List of integers of length equal to the rank of input1. Values must be valid dimensions within shape1, and may not be repeated." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "boolean", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int8_t)" ] },
|
|
{ "description": "signed 16", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int16_t)" ] },
|
|
{ "description": "signed 32", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_out_t(int32_t)" ] },
|
|
{ "description": "fp16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "TRANSPOSE",
|
|
"version": "1.0",
|
|
"category": "Transform",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_out_t", "description": "Input tensor" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "in_out_t", "description": "Output tensor of same type, rank as the input tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "perms", "type": "int32", "description": "List of integers of length equal to the rank of input1. Values must be valid dimensions within shape1, and may not be repeated." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "Boolean [v1.0]", "type_param_str": "PRO-INT, PRO-FP", "allowed_type_strs": [ "in_out_t(bool_t)" ] },
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i8_t)" ] },
|
|
{ "description": "signed 16 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i16_t)" ] },
|
|
{ "description": "signed 32 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_out_t(i32_t)" ] },
|
|
{ "description": "fp8e4m3 [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_out_t(fp8e4m3_t)" ] },
|
|
{ "description": "fp8e5m2 [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_out_t(fp8e5m2_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp16_t)" ] },
|
|
{ "description": "bf16 [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_out_t(bf16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "TRANSPOSE_CONV2D",
|
|
"version": "0.80",
|
|
"category": "Layer",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "weight", "type": "weight_t", "description": "Weight kernel size KH x KW" },
|
|
{ "name": "bias", "type": "out_t", "description": "Per output channel bias data." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "out_pad", "type": "int32", "description": "[out_pad_top, out_pad_bottom, out_pad_left, out_pad_right]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_y, stride_x]" },
|
|
{ "name": "out_shape", "type": "int32", "description": "[N,OH,OW,OC]" },
|
|
{ "name": "input_zp", "type": "in_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "weight_zp", "type": "weight_t", "description": "Weight zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8x8 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "weight_t(int8_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 8x4 with int32 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int8_t)", "weight_t(int4_t)", "out_t(int32_t)" ] },
|
|
{ "description": "signed 16x8 with int48 accumulate", "type_param_str": "TOSA-BI", "allowed_type_strs": [ "in_t(int16_t)", "weight_t(int8_t)", "out_t(int48_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(bf16_t)", "weight_t(bf16_t)", "out_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate", "type_param_str": "TOSA-MI, TOSA-MT", "allowed_type_strs": [ "in_t(fp32_t)", "weight_t(fp32_t)", "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "TRANSPOSE_CONV2D",
|
|
"version": "1.0",
|
|
"category": "Layer",
|
|
"inputs": [
|
|
{ "name": "input", "type": "in_t", "description": "Input tensor" },
|
|
{ "name": "weight", "type": "weight_t", "description": "Weight kernel size KH x KW" },
|
|
{ "name": "bias", "type": "out_t", "description": "Per output channel bias data. + Bias data will be broadcast if BC == 1." },
|
|
{ "name": "input_zp", "type": "in_t", "description": "Input tensor zero point. Must be zero for non-int8 types." },
|
|
{ "name": "weight_zp", "type": "weight_t", "description": "Weight zero point. Must be zero for non-int8 types." }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "out_pad", "type": "int32", "description": "[out_pad_top, out_pad_bottom, out_pad_left, out_pad_right]" },
|
|
{ "name": "stride", "type": "int32", "description": "[stride_y, stride_x]" },
|
|
{ "name": "acc_type", "type": "acc_type_t", "description": "Enumerated type, must be one of INT32, INT48, FP16, FP32 matching the type of acc_t in the Supported Data Types table for this operation" },
|
|
{ "name": "local_bound", "type": "boolean", "description": "This optional attribute affects the floating-point compliance error bound. The default of false allows for direct and transform based, fast convolution algorithms. Only set to true if direct dot-product calculation precision is required." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8x8 with int32 accumulate [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)", "weight_t(i8_t)", "out_t(i32_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "signed 8x4 with int32 accumulate [v1.0]", "type_param_str": "EXT-INT4", "allowed_type_strs": [ "in_t(i8_t)", "weight_t(i4_t)", "out_t(i32_t)", "acc_t(i32_t)" ] },
|
|
{ "description": "signed 16x8 with int48 accumulate [v1.0]", "type_param_str": "EXT-INT16", "allowed_type_strs": [ "in_t(i16_t)", "weight_t(i8_t)", "out_t(i48_t)", "acc_t(i48_t)" ] },
|
|
{ "description": "fp8e4m3 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E4M3", "allowed_type_strs": [ "in_t(fp8e4m3_t)", "weight_t(fp8e4m3_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp8e5m2 with fp16 accumulate [v1.0]", "type_param_str": "EXT-FP8E5M2", "allowed_type_strs": [ "in_t(fp8e5m2_t)", "weight_t(fp8e5m2_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp16 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)", "acc_t(fp16_t)" ] },
|
|
{ "description": "fp16 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)", "weight_t(fp16_t)", "out_t(fp16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "bf16 with fp32 accumulate [v1.0]", "type_param_str": "EXT-BF16", "allowed_type_strs": [ "in_t(bf16_t)", "weight_t(bf16_t)", "out_t(bf16_t)", "acc_t(fp32_t)" ] },
|
|
{ "description": "fp32 with fp32 accumulate [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)", "weight_t(fp32_t)", "out_t(fp32_t)", "acc_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "VARIABLE",
|
|
"version": "1.0",
|
|
"attributes": [
|
|
{ "name": "name", "type": "string", "description": "Globally unique identifier for the declared variable tensor." },
|
|
{ "name": "var_shape", "type": "int32[]", "description": "The variable tensor shape" },
|
|
{ "name": "type", "type": "var_t", "description": "Type of the tensor variable elements." },
|
|
{ "name": "initial_value", "type": "in_t", "description": "Initial value of the variable tensor. This argument is optional with default value NULL." }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "VARIABLE_READ",
|
|
"version": "1.0",
|
|
"outputs": [
|
|
{ "name": "output1", "type": "out_t", "description": "Output tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "name", "type": "string", "description": "Globally unique identifier of the variable tensor that is reading from" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "out_t(i8_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "out_t(fp16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "out_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "VARIABLE_WRITE",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input1", "type": "in_t", "description": "Input tensor" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "name", "type": "string", "description": "Globally unique identifier of the variable tensor that is writing to" }
|
|
],
|
|
"type_constraints": [
|
|
{ "description": "signed 8 [v1.0]", "type_param_str": "PRO-INT", "allowed_type_strs": [ "in_t(i8_t)" ] },
|
|
{ "description": "fp16 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp16_t)" ] },
|
|
{ "description": "fp32 [v1.0]", "type_param_str": "PRO-FP", "allowed_type_strs": [ "in_t(fp32_t)" ] }
|
|
]
|
|
},
|
|
{
|
|
"name": "WHILE_LOOP",
|
|
"version": "0.80",
|
|
"inputs": [
|
|
{ "name": "input_list", "type": "tensor[]", "description": "List of input tensors" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output_list", "type": "tensor[]", "description": "List of output tensors" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "cond_graph", "type": "graph", "description": "TOSA graph to evaluate the condition" },
|
|
{ "name": "body_graph", "type": "graph", "description": "TOSA graph to execute the loop body" }
|
|
]
|
|
},
|
|
{
|
|
"name": "WHILE_LOOP",
|
|
"version": "1.0",
|
|
"inputs": [
|
|
{ "name": "input_list", "type": "tensor[]", "description": "List of input tensors" }
|
|
],
|
|
"outputs": [
|
|
{ "name": "output_list", "type": "tensor[]", "description": "List of output tensors" }
|
|
],
|
|
"attributes": [
|
|
{ "name": "cond_graph", "type": "graph", "description": "TOSA graph to evaluate the condition" },
|
|
{ "name": "body_graph", "type": "graph", "description": "TOSA graph to execute the loop body" }
|
|
]
|
|
}
|
|
] |