diff options
Diffstat (limited to 'tosa.xml')
-rw-r--r-- | tosa.xml | 655 |
1 files changed, 226 insertions, 429 deletions
@@ -1,15 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE tosa SYSTEM "tosa.dtd"> <tosa> - <version major="0" minor="80" patch="0" draft="false"/> + <version major="0" minor="70" patch="0" draft="false"/> <profiles> <profile name="BI">Base Inference</profile> <profile name="MI">Main Inference</profile> <profile name="MT">Main Training</profile> </profiles> <levels> - <level name="none" max_rank="32" max_kernel="2147483647" max_stride="2147483647" max_scale="2048" max_log2_size="63" max_nesting="256">No level</level> - <level name="8K" max_rank="6" max_kernel="8192" max_stride="8192" max_scale="256" max_log2_size="31" max_nesting="6">Level 8K</level> + <level name="none" max_rank="32" max_kernel="2147483647" max_stride="2147483647" max_scale="2048" max_log2_size="63">No level</level> + <level name="8K" max_rank="6" max_kernel="8192" max_stride="8192" max_scale="64" max_log2_size="31">Level 8K</level> </levels> <operators> <operatorgroup name="tensor"> @@ -21,7 +21,7 @@ <levellimit value="rank(shape1)" limit="MAX_RANK"/> <rank min="1" max="MAX_RANK"/> </argument> - <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="i32_t"> + <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="int32_t"> <description>Axis in range from 0 to rank(shape1) - 1</description> <rank min="0" max="0"/> </argument> @@ -34,17 +34,17 @@ <type name='in_t' /> <type name='out_t' /> </types> - <typesupport mode="signed 8" in_t="i8_t" out_t="i32_t"/> - <typesupport mode="signed 16" in_t="i16_t" out_t="i32_t" /> - <typesupport mode="fp16" in_t="fp16_t" out_t="i32_t"> + <typesupport mode="signed 8" in_t="int8_t" out_t="int32_t"/> + <typesupport mode="signed 16" in_t="int16_t" out_t="int32_t" /> + <typesupport mode="fp16" in_t="fp16_t" out_t="int32_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="bf16" in_t="bf16_t" out_t="i32_t"> + <typesupport mode="bf16" in_t="bf16_t" out_t="int32_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="fp32" in_t="fp32_t" out_t="i32_t"> + <typesupport mode="fp32" in_t="fp32_t" out_t="int32_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> @@ -56,19 +56,19 @@ <description>Input tensor</description> <rank min="4" max="4"/> </argument> - <argument category="attribute" name="kernel" type="tensor_t" shape="[2]" tensor-element-type="i32_t"> + <argument category="attribute" name="kernel" type="tensor_t" shape="[2]" tensor-element-type="int32_t"> <description>[kernel_y, kernel_x]</description> <levellimit value="kernel_y" limit="MAX_KERNEL"/> <levellimit value="kernel_x" limit="MAX_KERNEL"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="stride" type="tensor_t" shape="[2]" tensor-element-type="i32_t"> + <argument category="attribute" name="stride" type="tensor_t" shape="[2]" tensor-element-type="int32_t"> <description>[stride_y, stride_x]</description> <levellimit value="stride_y" limit="MAX_STRIDE"/> <levellimit value="stride_x" limit="MAX_STRIDE"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="pad" type="tensor_t" shape="[4]" tensor-element-type="i32_t"> + <argument category="attribute" name="pad" type="tensor_t" shape="[4]" tensor-element-type="int32_t"> <description>[pad_top, pad_bottom, pad_left, pad_right]</description> <levellimit value="pad_top" limit="MAX_KERNEL"/> <levellimit value="pad_bottom" limit="MAX_KERNEL"/> @@ -97,8 +97,8 @@ <type name='in_out_t' /> <type name='acc_t' /> </types> - <typesupport mode="signed 8 with int32 accumulate" in_out_t="i8_t" acc_t="i32_t" /> - <typesupport mode="signed 16 with int32 accumulate" in_out_t="i16_t" acc_t="i32_t" /> + <typesupport mode="signed 8 with int32 accumulate" in_out_t="int8_t" acc_t="int32_t" /> + <typesupport mode="signed 16 with int32 accumulate" in_out_t="int16_t" acc_t="int32_t" /> <typesupport mode="fp16 with fp16 accumulate" in_out_t="fp16_t" acc_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -129,11 +129,11 @@ <levellimit value="dilation_x * KW" limit="MAX_KERNEL"/> <rank min="4" max="4"/> </argument> - <argument category="input" name="bias" type="tensor_t" shape="[BC]" tensor-element-type="out_t"> + <argument category="input" name="bias" type="tensor_t" shape="[OC]" tensor-element-type="out_t"> <description>Per output channel bias data.</description> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="pad" type="tensor_t" shape="[4]" tensor-element-type="i32_t"> + <argument category="attribute" name="pad" type="tensor_t" shape="[4]" tensor-element-type="int32_t"> <description>[pad_top, pad_bottom, pad_left, pad_right]</description> <levellimit value="pad_top" limit="MAX_KERNEL"/> <levellimit value="pad_bottom" limit="MAX_KERNEL"/> @@ -141,13 +141,13 @@ <levellimit value="pad_right" limit="MAX_KERNEL"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="stride" type="tensor_t" shape="[2]" tensor-element-type="i32_t"> + <argument category="attribute" name="stride" type="tensor_t" shape="[2]" tensor-element-type="int32_t"> <description>[stride_y, stride_x]</description> <levellimit value="stride_y" limit="MAX_STRIDE"/> <levellimit value="stride_x" limit="MAX_STRIDE"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="dilation" type="tensor_t" shape="[2]" tensor-element-type="i32_t"> + <argument category="attribute" name="dilation" type="tensor_t" shape="[2]" tensor-element-type="int32_t"> <description>[dilation_y, dilation_x]</description> <rank min="1" max="1"/> </argument> @@ -159,14 +159,6 @@ <description>Weight zero point. Must be zero for non-int8 types.</description> <rank min="0" max="0"/> </argument> - <argument category="attribute" name="local_bound" type="tensor_t" shape="-" tensor-element-type="bool_t" optional="true"> - <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. - </description> - <rank min="0" max="0"/> - </argument> <argument category="output" name="output" type="tensor_t" shape="[N,OH,OW,OC]" tensor-element-type="out_t"> <description>Output tensor</description> <rank min="4" max="4"/> @@ -177,9 +169,9 @@ <type name='weight_t' /> <type name='out_t' /> </types> - <typesupport mode="signed 8x8 with int32 accumulate" in_t="i8_t" weight_t="i8_t" out_t="i32_t" /> - <typesupport mode="signed 8x4 with int32 accumulate" in_t="i8_t" weight_t="i4_t" out_t="i32_t" /> - <typesupport mode="signed 16x8 with int48 accumulate" in_t="i16_t" weight_t="i8_t" out_t="i48_t" /> + <typesupport mode="signed 8x8 with int32 accumulate" in_t="int8_t" weight_t="int8_t" out_t="int32_t" /> + <typesupport mode="signed 8x4 with int32 accumulate" in_t="int8_t" weight_t="int4_t" out_t="int32_t" /> + <typesupport mode="signed 16x8 with int48 accumulate" in_t="int16_t" weight_t="int8_t" out_t="int48_t" /> <typesupport mode="fp16 with fp16 accumulate" in_t="fp16_t" weight_t="fp16_t" out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -211,11 +203,11 @@ <levellimit value="dilation_x * KW" limit="MAX_KERNEL"/> <rank min="5" max="5"/> </argument> - <argument category="input" name="bias" type="tensor_t" shape="[BC]" tensor-element-type="out_t"> + <argument category="input" name="bias" type="tensor_t" shape="[OC]" tensor-element-type="out_t"> <description>Per output channel bias data.</description> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="pad" type="tensor_t" shape="[6]" tensor-element-type="i32_t"> + <argument category="attribute" name="pad" type="tensor_t" shape="[6]" tensor-element-type="int32_t"> <description>[pad_d0, pad_d1, pad_top, pad_bottom, pad_left, pad_right]</description> <levellimit value="pad_d0" limit="MAX_KERNEL"/> <levellimit value="pad_d1" limit="MAX_KERNEL"/> @@ -225,14 +217,14 @@ <levellimit value="pad_right" limit="MAX_KERNEL"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="stride" type="tensor_t" shape="[3]" tensor-element-type="i32_t"> + <argument category="attribute" name="stride" type="tensor_t" shape="[3]" tensor-element-type="int32_t"> <description>[stride_d, stride_y, stride_x]</description> <levellimit value="stride_y" limit="MAX_STRIDE"/> <levellimit value="stride_x" limit="MAX_STRIDE"/> <levellimit value="stride_d" limit="MAX_STRIDE"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="dilation" type="tensor_t" shape="[3]" tensor-element-type="i32_t"> + <argument category="attribute" name="dilation" type="tensor_t" shape="[3]" tensor-element-type="int32_t"> <description>[dilation_d, dilation_y, dilation_x]</description> <rank min="1" max="1"/> </argument> @@ -244,14 +236,6 @@ <description>Weight zero point. Must be zero for non-int8 types.</description> <rank min="0" max="0"/> </argument> - <argument category="attribute" name="local_bound" type="tensor_t" shape="-" tensor-element-type="bool_t" optional="true"> - <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. - </description> - <rank min="0" max="0"/> - </argument> <argument category="output" name="output" type="tensor_t" shape="[N,OD,OH,OW,OC]" tensor-element-type="out_t"> <description>Output tensor</description> <rank min="5" max="5"/> @@ -262,9 +246,9 @@ <type name='weight_t' /> <type name='out_t' /> </types> - <typesupport mode="signed 8x8 with int32 accumulate" in_t="i8_t" weight_t="i8_t" out_t="i32_t" /> - <typesupport mode="signed 8x4 with int32 accumulate" in_t="i8_t" weight_t="i4_t" out_t="i32_t" /> - <typesupport mode="signed 16x8 with int48 accumulate" in_t="i16_t" weight_t="i8_t" out_t="i48_t" /> + <typesupport mode="signed 8x8 with int32 accumulate" in_t="int8_t" weight_t="int8_t" out_t="int32_t" /> + <typesupport mode="signed 8x4 with int32 accumulate" in_t="int8_t" weight_t="int4_t" out_t="int32_t" /> + <typesupport mode="signed 16x8 with int48 accumulate" in_t="int16_t" weight_t="int8_t" out_t="int48_t" /> <typesupport mode="fp16 with fp16 accumulate" in_t="fp16_t" weight_t="fp16_t" out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -295,11 +279,11 @@ <levellimit value="dilation_x * KW" limit="MAX_KERNEL"/> <rank min="4" max="4"/> </argument> - <argument category="input" name="bias" type="tensor_t" shape="[BC]" tensor-element-type="out_t"> + <argument category="input" name="bias" type="tensor_t" shape="[C*M]" tensor-element-type="out_t"> <description>Per output channel bias data.</description> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="pad" type="tensor_t" shape="[4]" tensor-element-type="i32_t"> + <argument category="attribute" name="pad" type="tensor_t" shape="[4]" tensor-element-type="int32_t"> <description>[pad_top, pad_bottom, pad_left, pad_right]</description> <levellimit value="pad_top" limit="MAX_KERNEL"/> <levellimit value="pad_bottom" limit="MAX_KERNEL"/> @@ -307,13 +291,13 @@ <levellimit value="pad_right" limit="MAX_KERNEL"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="stride" type="tensor_t" shape="[2]" tensor-element-type="i32_t"> + <argument category="attribute" name="stride" type="tensor_t" shape="[2]" tensor-element-type="int32_t"> <description>[stride_y, stride_x]</description> <levellimit value="stride_y" limit="MAX_STRIDE"/> <levellimit value="stride_x" limit="MAX_STRIDE"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="dilation" type="tensor_t" shape="[2]" tensor-element-type="i32_t"> + <argument category="attribute" name="dilation" type="tensor_t" shape="[2]" tensor-element-type="int32_t"> <description>[dilation_y, dilation_x]</description> <rank min="1" max="1"/> </argument> @@ -325,14 +309,6 @@ <description>Weight zero point. Must be zero for non-int8 types.</description> <rank min="0" max="0"/> </argument> - <argument category="attribute" name="local_bound" type="tensor_t" shape="-" tensor-element-type="bool_t" optional="true"> - <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. - </description> - <rank min="0" max="0"/> - </argument> <argument category="output" name="output" type="tensor_t" shape="[N,OH,OW,C*M]" tensor-element-type="out_t"> <description>Output tensor</description> <rank min="4" max="4"/> @@ -343,9 +319,9 @@ <type name='weight_t' /> <type name='out_t' /> </types> - <typesupport mode="signed 8x8 with int32 accumulate" in_t="i8_t" weight_t="i8_t" out_t="i32_t" /> - <typesupport mode="signed 8x4 with int32 accumulate" in_t="i8_t" weight_t="i4_t" out_t="i32_t" /> - <typesupport mode="signed 16x8 with int48 accumulate" in_t="i16_t" weight_t="i8_t" out_t="i48_t" /> + <typesupport mode="signed 8x8 with int32 accumulate" in_t="int8_t" weight_t="int8_t" out_t="int32_t" /> + <typesupport mode="signed 8x4 with int32 accumulate" in_t="int8_t" weight_t="int4_t" out_t="int32_t" /> + <typesupport mode="signed 16x8 with int48 accumulate" in_t="int16_t" weight_t="int8_t" out_t="int48_t" /> <typesupport mode="fp16 with fp16 accumulate" in_t="fp16_t" weight_t="fp16_t" out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -384,14 +360,6 @@ <description>Real part of the complex output.</description> <rank min="3" max="3"/> </argument> - <argument category="attribute" name="local_bound" type="tensor_t" shape="-" tensor-element-type="bool_t" optional="true"> - <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. - </description> - <rank min="0" max="0"/> - </argument> <argument category="output" name="output_imag" type="tensor_t" shape="[N,H,W]" tensor-element-type="in_out_t"> <description>Imaginary part of the complex output.</description> <rank min="3" max="3"/> @@ -412,11 +380,11 @@ <description>Input tensor</description> <rank min="2" max="2"/> </argument> - <argument category="input" name="weight" type="tensor_t" shape="[OC,IC]" tensor-element-type="weight_t"> + <argument category="attribute" name="weight" type="tensor_t" shape="[OC,IC]" tensor-element-type="weight_t"> <description>Weights</description> <rank min="2" max="2"/> </argument> - <argument category="input" name="bias" type="tensor_t" shape="[BC]" tensor-element-type="out_t"> + <argument category="attribute" name="bias" type="tensor_t" shape="[OC]" tensor-element-type="out_t"> <description>Per output channel bias data.</description> <rank min="1" max="1"/> </argument> @@ -438,9 +406,9 @@ <type name='weight_t' /> <type name='out_t' /> </types> - <typesupport mode="signed 8x8 with int32 accumulate" in_t="i8_t" weight_t="i8_t" out_t="i32_t" /> - <typesupport mode="signed 8x4 with int32 accumulate" in_t="i8_t" weight_t="i4_t" out_t="i32_t" /> - <typesupport mode="signed 16x8 with int48 accumulate" in_t="i16_t" weight_t="i8_t" out_t="i48_t" /> + <typesupport mode="signed 8x8 with int32 accumulate" in_t="int8_t" weight_t="int8_t" out_t="int32_t" /> + <typesupport mode="signed 8x4 with int32 accumulate" in_t="int8_t" weight_t="int4_t" out_t="int32_t" /> + <typesupport mode="signed 16x8 with int48 accumulate" in_t="int16_t" weight_t="int8_t" out_t="int48_t" /> <typesupport mode="fp16 with fp16 accumulate" in_t="fp16_t" weight_t="fp16_t" out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -486,8 +454,8 @@ <type name='in_t' /> <type name='out_t' /> </types> - <typesupport mode="signed 8x8 with int32 accumulate" in_t="i8_t" out_t="i32_t" /> - <typesupport mode="signed 16x16 with int48 accumulate" in_t="i16_t" out_t="i48_t" /> + <typesupport mode="signed 8x8 with int32 accumulate" in_t="int8_t" out_t="int32_t" /> + <typesupport mode="signed 16x16 with int48 accumulate" in_t="int16_t" out_t="int48_t" /> <typesupport mode="fp16 with fp16 accumulate" in_t="fp16_t" out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -512,19 +480,19 @@ <description>Input tensor 4D</description> <rank min="4" max="4"/> </argument> - <argument category="attribute" name="kernel" type="tensor_t" shape="[2]" tensor-element-type="i32_t"> + <argument category="attribute" name="kernel" type="tensor_t" shape="[2]" tensor-element-type="int32_t"> <description>[kernel_y, kernel_x]</description> <levellimit value="kernel_y" limit="MAX_KERNEL"/> <levellimit value="kernel_x" limit="MAX_KERNEL"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="stride" type="tensor_t" shape="[2]" tensor-element-type="i32_t"> + <argument category="attribute" name="stride" type="tensor_t" shape="[2]" tensor-element-type="int32_t"> <description>[stride_y, stride_x]</description> <levellimit value="stride_y" limit="MAX_STRIDE"/> <levellimit value="stride_x" limit="MAX_STRIDE"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="pad" type="tensor_t" shape="[4]" tensor-element-type="i32_t"> + <argument category="attribute" name="pad" type="tensor_t" shape="[4]" tensor-element-type="int32_t"> <description>[pad_top, pad_bottom, pad_left, pad_right]</description> <levellimit value="pad_top" limit="MAX_KERNEL"/> <levellimit value="pad_bottom" limit="MAX_KERNEL"/> @@ -540,8 +508,8 @@ <types> <type name='in_out_t' /> </types> - <typesupport mode="signed 8" in_out_t="i8_t" /> - <typesupport mode="signed 16" in_out_t="i16_t" /> + <typesupport mode="signed 8" in_out_t="int8_t" /> + <typesupport mode="16-bit" in_out_t="int16_t" /> <typesupport mode="fp16" in_out_t="fp16_t" > <profile name="MI"/> <profile name="MT"/> @@ -594,11 +562,11 @@ <levellimit value="KW" limit="MAX_KERNEL"/> <rank min="4" max="4"/> </argument> - <argument category="input" name="bias" type="tensor_t" shape="[BC]" tensor-element-type="out_t"> + <argument category="input" name="bias" type="tensor_t" shape="[OC]" tensor-element-type="out_t"> <description>Per output channel bias data.</description> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="out_pad" type="tensor_t" shape="[4]" tensor-element-type="i32_t"> + <argument category="attribute" name="out_pad" type="tensor_t" shape="[4]" tensor-element-type="int32_t"> <description>[out_pad_top, out_pad_bottom, out_pad_left, out_pad_right]</description> <levellimit value="out_pad_top" limit="MAX_KERNEL"/> <levellimit value="out_pad_bottom" limit="MAX_KERNEL"/> @@ -606,13 +574,13 @@ <levellimit value="out_pad_right" limit="MAX_KERNEL"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="stride" type="tensor_t" shape="[2]" tensor-element-type="i32_t"> + <argument category="attribute" name="stride" type="tensor_t" shape="[2]" tensor-element-type="int32_t"> <description>[stride_y, stride_x]</description> <levellimit value="stride_y" limit="MAX_STRIDE"/> <levellimit value="stride_x" limit="MAX_STRIDE"/> <rank min="1" max="1"/> </argument> - <argument category="attribute" name="out_shape" type="tensor_t" shape="[4]" tensor-element-type="i32_t"> + <argument category="attribute" name="out_shape" type="tensor_t" shape="[4]" tensor-element-type="int32_t"> <description>[N,OH,OW,OC]</description> <rank min="1" max="1"/> </argument> @@ -624,14 +592,6 @@ <description>Weight zero point. Must be zero for non-int8 types.</description> <rank min="0" max="0"/> </argument> - <argument category="attribute" name="local_bound" type="tensor_t" shape="-" tensor-element-type="bool_t" optional="true"> - <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. - </description> - <rank min="0" max="0"/> - </argument> <argument category="output" name="output" type="tensor_t" shape="[N,OH,OW,OC]" tensor-element-type="out_t"> <description>Output tensor</description> <rank min="4" max="4"/> @@ -642,9 +602,9 @@ <type name='weight_t' /> <type name='out_t' /> </types> - <typesupport mode="signed 8x8 with int32 accumulate" in_t="i8_t" weight_t="i8_t" out_t="i32_t" /> - <typesupport mode="signed 8x4 with int32 accumulate" in_t="i8_t" weight_t="i4_t" out_t="i32_t" /> - <typesupport mode="signed 16x8 with int48 accumulate" in_t="i16_t" weight_t="i8_t" out_t="i48_t" /> + <typesupport mode="signed 8x8 with int32 accumulate" in_t="int8_t" weight_t="int8_t" out_t="int32_t" /> + <typesupport mode="signed 8x4 with int32 accumulate" in_t="int8_t" weight_t="int4_t" out_t="int32_t" /> + <typesupport mode="signed 16x8 with int48 accumulate" in_t="int16_t" weight_t="int8_t" out_t="int48_t" /> <typesupport mode="fp16 with fp16 accumulate" in_t="fp16_t" weight_t="fp16_t" out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -688,37 +648,8 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="fp16" in_out_t="fp16_t"> - <profile name="MI"/> - <profile name="MT"/> - </typesupport> - <typesupport mode="bf16" in_out_t="bf16_t"> - <profile name="MI"/> - <profile name="MT"/> - </typesupport> - <typesupport mode="fp32" in_out_t="fp32_t"> - <profile name="MI"/> - <profile name="MT"/> - </typesupport> - </operator> - <operator> - <name>ERF</name> - <arguments> - <argument category="input" name="input" type="tensor_t" shape="shape" tensor-element-type="in_out_t"> - <description>Input tensor</description> - <levellimit value="rank(shape)" limit="MAX_RANK"/> - <rank min="0" max="MAX_RANK"/> - </argument> - <argument category="output" name="output" type="tensor_t" shape="shape" tensor-element-type="in_out_t"> - <description>Output tensor of same type and shape as input</description> - <rank min="0" max="MAX_RANK"/> - </argument> - </arguments> - <types> - <type name='in_out_t'/> - </types> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -812,8 +743,7 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 32" in_out_t="i32_t"/> - <typesupport mode="shape" in_out_t="shape_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t" > <profile name="MI"/> <profile name="MT"/> @@ -851,9 +781,9 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> </operator> <operator> <name>BITWISE_AND</name> @@ -875,9 +805,9 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> </operator> <operator> <name>BITWISE_OR</name> @@ -899,9 +829,9 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> </operator> <operator> <name>BITWISE_XOR</name> @@ -923,9 +853,9 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> </operator> <operator> <name>INTDIV</name> @@ -947,8 +877,7 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 32" in_out_t="i32_t"/> - <typesupport mode="shape" in_out_t="shape_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> </operator> <operator> <name>LOGICAL_AND</name> @@ -992,9 +921,9 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> </operator> <operator> <name>LOGICAL_RIGHT_SHIFT</name> @@ -1016,9 +945,9 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> </operator> <operator> <name>LOGICAL_OR</name> @@ -1084,7 +1013,7 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t" > <profile name="MI"/> <profile name="MT"/> @@ -1118,7 +1047,7 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t" > <profile name="MI"/> <profile name="MT"/> @@ -1143,8 +1072,8 @@ <description>Input tensor with the same rank as input1</description> <rank min="0" max="MAX_RANK"/> </argument> - <argument category="input(MT)|attribute(BI,MI)" name="shift" type="tensor_t" shape="-" tensor-element-type="i8_t"> - <description>Result right shift (i32_t data type only)</description> + <argument category="input(MT)|attribute(BI,MI)" name="shift" type="tensor_t" shape="-" tensor-element-type="int8_t"> + <description>Result right shift (int32_t data type only)</description> <rank min="0" max="0"/> </argument> <argument category="output" name="output" type="tensor_t" shape="shape" tensor-element-type="out_t"> @@ -1157,10 +1086,9 @@ <type name='in_t'/> <type name='out_t'/> </types> - <typesupport mode="signed 8" in_t="i8_t" out_t="i32_t"/> - <typesupport mode="signed 16" in_t="i16_t" out_t="i32_t"/> - <typesupport mode="signed 32" in_t="i32_t" out_t="i32_t"/> - <typesupport mode="shape" in_t="shape_t" out_t="shape_t"/> + <typesupport mode="signed 8" in_t="int8_t" out_t="int32_t"/> + <typesupport mode="signed 16" in_t="int16_t" out_t="int32_t"/> + <typesupport mode="signed 32" in_t="int32_t" out_t="int32_t"/> <typesupport mode="fp16" in_t="fp16_t" out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -1227,8 +1155,7 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 32" in_out_t="i32_t"/> - <typesupport mode="shape" in_out_t="shape_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t" > <profile name="MI"/> <profile name="MT"/> @@ -1265,8 +1192,8 @@ <type name='out_t'/> <type name='TABLE_SIZE'/> </types> - <typesupport mode="signed 8" in_t="i8_t" table_t="i8_t" TABLE_SIZE="256" out_t="i8_t"/> - <typesupport mode="signed 16" in_t="i16_t" table_t="i16_t" TABLE_SIZE="513" out_t="i32_t"/> + <typesupport mode="signed 8" in_t="int8_t" table_t="int8_t" TABLE_SIZE="256" out_t="int8_t"/> + <typesupport mode="signed 16" in_t="int16_t" table_t="int16_t" TABLE_SIZE="513" out_t="int32_t"/> </operator> </operatorgroup> <operatorgroup name="elementwise-unary"> @@ -1286,7 +1213,7 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t" > <profile name="MI"/> <profile name="MT"/> @@ -1316,9 +1243,9 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> </operator> <operator> <name>CEIL</name> @@ -1365,7 +1292,7 @@ <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> </operator> <operator> <name>EXP</name> @@ -1497,9 +1424,9 @@ <type name='in_out_t'/> <type name='acc_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t" acc_t="i32_t"/> - <typesupport mode="signed 16" in_out_t="i16_t" acc_t="i32_t"/> - <typesupport mode="signed 32" in_out_t="i32_t" acc_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t" acc_t="int32_t"/> + <typesupport mode="signed 16" in_out_t="int16_t" acc_t="int32_t"/> + <typesupport mode="signed 32" in_out_t="int32_t" acc_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t" acc_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -1598,9 +1525,9 @@ <type name='in_out_t'/> </types> <typesupport mode="Boolean" in_out_t="bool_t"/> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -1637,7 +1564,7 @@ <type name='in_t'/> <type name='out_t'/> </types> - <typesupport mode="signed 32" in_t="i32_t" out_t="bool_t"/> + <typesupport mode="signed 32" in_t="int32_t" out_t="bool_t"/> <typesupport mode="fp16" in_t="fp16_t" out_t="bool_t"> <profile name="MI"/> <profile name="MT"/> @@ -1672,7 +1599,7 @@ <type name='in_t'/> <type name='out_t'/> </types> - <typesupport mode="signed 32" in_t="i32_t" out_t="bool_t"/> + <typesupport mode="signed 32" in_t="int32_t" out_t="bool_t"/> <typesupport mode="fp16" in_t="fp16_t" out_t="bool_t"> <profile name="MI"/> <profile name="MT"/> @@ -1707,7 +1634,7 @@ <type name='in_t'/> <type name='out_t'/> </types> - <typesupport mode="signed 32" in_t="i32_t" out_t="bool_t"/> + <typesupport mode="signed 32" in_t="int32_t" out_t="bool_t"/> <typesupport mode="fp16" in_t="fp16_t" out_t="bool_t"> <profile name="MI"/> <profile name="MT"/> @@ -1728,15 +1655,15 @@ <arguments> <argument category="input" name="input" type="tensor_t" shape="shape1" tensor-element-type="in_out_t"> <description>Input tensor</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> - <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="i32_t"> + <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="int32_t"> <description>Axis to reduce, in range from 0 to rank(shape1)-1</description> <rank min="0" max="0"/> </argument> <argument category="output" name="output" type="tensor_t" shape="shape" tensor-element-type="in_out_t"> <description>Output tensor. Same rank as the input tensor.</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> </arguments> <types> @@ -1749,15 +1676,15 @@ <arguments> <argument category="input" name="input" type="tensor_t" shape="shape1" tensor-element-type="in_out_t"> <description>Input tensor</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> - <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="i32_t"> + <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="int32_t"> <description>Axis to reduce, in range from 0 to rank(shape1)-1</description> <rank min="0" max="0"/> </argument> <argument category="output" name="output" type="tensor_t" shape="shape" tensor-element-type="in_out_t"> <description>Output tensor. Same rank as the input tensor.</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> </arguments> <types> @@ -1770,23 +1697,23 @@ <arguments> <argument category="input" name="input" type="tensor_t" shape="shape1" tensor-element-type="in_out_t"> <description>Input tensor</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> - <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="i32_t"> + <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="int32_t"> <description>Axis to reduce, in range from 0 to rank(shape1)-1</description> <rank min="0" max="0"/> </argument> <argument category="output" name="output" type="tensor_t" shape="shape" tensor-element-type="in_out_t"> <description>Output tensor. Same rank as the input tensor.</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> </arguments> <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -1805,23 +1732,23 @@ <arguments> <argument category="input" name="input" type="tensor_t" shape="shape1" tensor-element-type="in_out_t"> <description>Input tensor</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> - <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="i32_t"> + <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="int32_t"> <description>Axis to reduce, in range from 0 to rank(shape1)-1</description> <rank min="0" max="0"/> </argument> <argument category="output" name="output" type="tensor_t" shape="shape" tensor-element-type="in_out_t"> <description>Output tensor. Same rank as the input tensor.</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> </arguments> <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -1840,15 +1767,15 @@ <arguments> <argument category="input" name="input" type="tensor_t" shape="shape1" tensor-element-type="in_out_t"> <description>Input tensor</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> - <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="i32_t"> + <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="int32_t"> <description>Axis to reduce, in range from 0 to rank(shape1)-1</description> <rank min="0" max="0"/> </argument> <argument category="output" name="output" type="tensor_t" shape="shape" tensor-element-type="in_out_t"> <description>Output tensor. Same rank as the input tensor.</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> </arguments> <types> @@ -1872,21 +1799,21 @@ <arguments> <argument category="input" name="input" type="tensor_t" shape="shape1" tensor-element-type="in_out_t"> <description>Input tensor with rank from 1 to 4</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> - <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="i32_t"> + <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="int32_t"> <description>Axis to reduce, in range from 0 to rank(shape1)-1</description> <rank min="0" max="0"/> </argument> <argument category="output" name="output" type="tensor_t" shape="shape" tensor-element-type="in_out_t"> <description>Output tensor. Same rank as the input tensor.</description> - <rank min="1" max="MAX_RANK"/> + <rank min="1" max="4"/> </argument> </arguments> <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -1907,9 +1834,9 @@ <arguments> <argument category="input" name="input1" type="tensor_list_t" shape="shapes1" tensor-element-type="in_out_t"> <description>List of input tensors. All inputs must have the same rank and data type</description> - <rank min="0" max="MAX_RANK"/> + <rank min="1" max="MAX_RANK"/> </argument> - <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="i32_t"> + <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="int32_t"> <description>Axis along which concatenation is to occur, in range from 0 to rank(shape)-1</description> <rank min="0" max="0"/> </argument> @@ -1923,10 +1850,9 @@ <type name='in_out_t'/> </types> <typesupport mode="boolean" in_out_t="bool_t"/> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> - <typesupport mode="shape" in_out_t="shape_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -1947,7 +1873,7 @@ <description>Input tensor</description> <rank min="1" max="MAX_RANK"/> </argument> - <argument category="input" name="padding" type="tensor_t" shape="[rank(shape1),2]" tensor-element-type="shape_t"> + <argument category="attribute" name="padding" type="tensor_t" shape="[rank(shape1),2]" tensor-element-type="int32_t"> <description>Number of pad elements at the start and end of each dimension</description> <rank min="2" max="2"/> </argument> @@ -1965,9 +1891,9 @@ <type name='in_out_t'/> </types> <typesupport mode="boolean" in_out_t="bool_t"/> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -1982,43 +1908,6 @@ </typesupport> </operator> <operator> - <name>DIM</name> - <arguments> - <argument category="input" name="input1" type="tensor_t" shape="shape" tensor-element-type="in_t"> - <description>Input tensor</description> - <levellimit value="rank(shape)" limit="MAX_RANK"/> - <rank min="1" max="MAX_RANK"/> - </argument> - <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="i32_t"> - <description>Axis in range from 0 to rank(shape) - 1</description> - <rank min="0" max="0"/> - </argument> - <argument category="output" name="output" type="tensor_t" shape="-" tensor-element-type="shape_t" > - <description>Output rank 0 tensor giving the size of the shape for the given axis</description> - <rank min="0" max="0"/> - </argument> - </arguments> - <types> - <type name='in_t'/> - </types> - <typesupport mode="boolean" in_t="bool_t"/> - <typesupport mode="signed 8" in_t="i8_t"/> - <typesupport mode="signed 16" in_t="i16_t"/> - <typesupport mode="signed 32" in_t="i32_t"/> - <typesupport mode="fp16" in_t="fp16_t"> - <profile name="MI"/> - <profile name="MT"/> - </typesupport> - <typesupport mode="bf16" in_t="bf16_t"> - <profile name="MI"/> - <profile name="MT"/> - </typesupport> - <typesupport mode="fp32" in_t="fp32_t"> - <profile name="MI"/> - <profile name="MT"/> - </typesupport> - </operator> - <operator> <name>RESHAPE</name> <arguments> <argument category="input" name="input1" type="tensor_t" shape="shape1" tensor-element-type="in_out_t"> @@ -2026,8 +1915,8 @@ <levellimit value="rank(shape1)" limit="MAX_RANK"/> <rank min="1" max="MAX_RANK"/> </argument> - <argument category="input" name="shape" type="tensor_t" shape="[rank(shape)]" tensor-element-type="shape_t"> - <description>1D shape tensor giving the new shape.</description> + <argument category="attribute" name="new_shape" type="tensor_t" shape="[rank(shape)]" tensor-element-type="int32_t"> + <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.</description> <rank min="1" max="1"/> </argument> <argument category="output" name="output" type="tensor_t" shape="shape" tensor-element-type="in_out_t"> @@ -2040,9 +1929,9 @@ <type name='in_out_t'/> </types> <typesupport mode="boolean" in_out_t="bool_t"/> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -2064,7 +1953,7 @@ <levellimit value="rank(shape)" limit="MAX_RANK"/> <rank min="1" max="MAX_RANK"/> </argument> - <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="i32_t"> + <argument category="attribute" name="axis" type="tensor_t" shape="-" tensor-element-type="int32_t"> <description>Axis to reverse, in range from 0 to rank(shape)-1</description> <rank min="0" max="0"/> </argument> @@ -2077,10 +1966,9 @@ <type name='in_out_t'/> </types> <typesupport mode="boolean" in_out_t="bool_t"/> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> - <typesupport mode="shape" in_out_t="shape_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -2120,9 +2008,9 @@ used.</description> <type name='in_out_t'/> </types> <typesupport mode="boolean" in_out_t="bool_t"/> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -2143,7 +2031,7 @@ used.</description> <description>Input tensor</description> <rank min="1" max="MAX_RANK"/> </argument> - <argument category="input" name="multiples" type="tensor_t" shape="[rank(shape1)]" tensor-element-type="shape_t"> + <argument category="attribute" name="multiples" type="tensor_t" shape="[rank(shape1)]" tensor-element-type="int32_t"> <description>Number of times to replicate input1 in each dimension</description> <rank min="1" max="1"/> </argument> @@ -2157,9 +2045,9 @@ used.</description> <type name='in_out_t'/> </types> <typesupport mode="boolean" in_out_t="bool_t"/> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -2180,7 +2068,7 @@ used.</description> <description>Input tensor</description> <rank min="1" max="MAX_RANK"/> </argument> - <argument category="attribute" name="perms" type="tensor_t" shape="[rank(shape1)]" tensor-element-type="i32_t"> + <argument category="attribute" name="perms" type="tensor_t" shape="[rank(shape1)]" tensor-element-type="int32_t"> <description>List of integers of length equal to the rank of input1. Values must be valid dimensions within shape1, and may not be repeated.</description> <rank min="1" max="1"/> </argument> @@ -2194,9 +2082,9 @@ used.</description> <type name='in_out_t'/> </types> <typesupport mode="boolean" in_out_t="bool_t"/> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -2231,9 +2119,9 @@ used.</description> <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -2270,9 +2158,9 @@ used.</description> <types> <type name='in_out_t'/> </types> - <typesupport mode="signed 8" in_out_t="i8_t"/> - <typesupport mode="signed 16" in_out_t="i16_t"/> - <typesupport mode="signed 32" in_out_t="i32_t"/> + <typesupport mode="signed 8" in_out_t="int8_t"/> + <typesupport mode="signed 16" in_out_t="int16_t"/> + <typesupport mode="signed 32" in_out_t="int32_t"/> <typesupport mode="fp16" in_out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -2295,17 +2183,17 @@ used.</description> <description>Input tensor</description> <rank min="4" max="4"/> </argument> - <argument category="input" name="scale" type="tensor_t" shape="[4]" tensor-element-type="shape_t"> + <argument category="attribute" name="scale" type="tensor_t" shape="[4]" tensor-element-type="int16_t"> <description>[scale_y_n, scale_y_d, scale_x_n, scale_x_d]</description> <levellimit value="scale_y_n/scale_y_d" limit="MAX_SCALE"/> <levellimit value="scale_x_n/scale_x_d" limit="MAX_SCALE"/> <rank min="1" max="1"/> </argument> - <argument category="input" name="offset" type="tensor_t" shape="[2]" tensor-element-type="shape_t"> + <argument category="attribute" name="offset" type="tensor_t" shape="[2]" tensor-element-type="int16_t"> <description>[offset_y, offset_x]</description> <rank min="1" max="1"/> </argument> - <argument category="input" name="border" type="tensor_t" shape="[2]" tensor-element-type="shape_t"> + <argument category="attribute" name="border" type="tensor_t" shape="[2]" tensor-element-type="int16_t"> <description>[border_y, border_x]</description> <rank min="1" max="1"/> </argument> @@ -2323,10 +2211,10 @@ used.</description> <type name='in_t'/> <type name='out_t'/> </types> - <typesupport mode="signed 8, bilinear" resize_t="i16_t" in_t="i8_t" out_t="i32_t"/> - <typesupport mode="signed 8, nearest" resize_t="i16_t" in_t="i8_t" out_t="i8_t"/> - <typesupport mode="signed 16, bilinear" resize_t="i16_t" in_t="i16_t" out_t="i48_t"/> - <typesupport mode="signed 16, nearest" resize_t="i16_t" in_t="i16_t" out_t="i16_t"/> + <typesupport mode="signed 8, bilinear" resize_t="int16_t" in_t="int8_t" out_t="int32_t"/> + <typesupport mode="signed 8, nearest" resize_t="int16_t" in_t="int8_t" out_t="int8_t"/> + <typesupport mode="signed 16, bilinear" resize_t="int16_t" in_t="int16_t" out_t="int48_t"/> + <typesupport mode="signed 16, nearest" resize_t="int16_t" in_t="int16_t" out_t="int16_t"/> <typesupport mode="fp16" resize_t="fp16_t" in_t="fp16_t" out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> @@ -2359,63 +2247,63 @@ used.</description> <type name='in_t'/> <type name='out_t'/> </types> - <typesupport mode="bool to signed 8" in_t="bool_t" out_t="i8_t"/> - <typesupport mode="bool to signed 16" in_t="bool_t" out_t="i16_t"/> - <typesupport mode="bool to signed 32" in_t="bool_t" out_t="i32_t"/> - <typesupport mode="signed 8 to bool" in_t="i8_t" out_t="bool_t"/> - <typesupport mode="signed 8 to signed 16" in_t="i8_t" out_t="i16_t"/> - <typesupport mode="signed 8 to signed 32" in_t="i8_t" out_t="i32_t"/> - <typesupport mode="signed 8 to fp16" in_t="i8_t" out_t="fp16_t"> + <typesupport mode="bool to signed 8" in_t="bool_t" out_t="int8_t"/> + <typesupport mode="bool to signed 16" in_t="bool_t" out_t="int16_t"/> + <typesupport mode="bool to signed 32" in_t="bool_t" out_t="int32_t"/> + <typesupport mode="signed 8 to bool" in_t="int8_t" out_t="bool_t"/> + <typesupport mode="signed 8 to signed 16" in_t="int8_t" out_t="int16_t"/> + <typesupport mode="signed 8 to signed 32" in_t="int8_t" out_t="int32_t"/> + <typesupport mode="signed 8 to fp16" in_t="int8_t" out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="signed 8 to bf16" in_t="i8_t" out_t="bf16_t"> + <typesupport mode="signed 8 to bf16" in_t="int8_t" out_t="bf16_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="signed 8 to fp32" in_t="i8_t" out_t="fp32_t"> + <typesupport mode="signed 8 to fp32" in_t="int8_t" out_t="fp32_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="signed 16 to bool" in_t="i16_t" out_t="bool_t"/> - <typesupport mode="signed 16 to signed 8" in_t="i16_t" out_t="i8_t"/> - <typesupport mode="signed 16 to signed 32" in_t="i16_t" out_t="i32_t"/> - <typesupport mode="signed 16 to fp16" in_t="i16_t" out_t="fp16_t"> + <typesupport mode="signed 16 to bool" in_t="int16_t" out_t="bool_t"/> + <typesupport mode="signed 16 to signed 8" in_t="int16_t" out_t="int8_t"/> + <typesupport mode="signed 16 to signed 32" in_t="int16_t" out_t="int32_t"/> + <typesupport mode="signed 16 to fp16" in_t="int16_t" out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="signed 16 to bf16" in_t="i16_t" out_t="bf16_t"> + <typesupport mode="signed 16 to bf16" in_t="int16_t" out_t="bf16_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="signed 16 to fp32" in_t="i16_t" out_t="fp32_t"> + <typesupport mode="signed 16 to fp32" in_t="int16_t" out_t="fp32_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="signed 32 to bool" in_t="i32_t" out_t="bool_t"/> - <typesupport mode="signed 32 to signed 8" in_t="i32_t" out_t="i8_t"/> - <typesupport mode="signed 32 to signed 16" in_t="i32_t" out_t="i16_t"/> - <typesupport mode="signed 32 to fp16" in_t="i32_t" out_t="fp16_t"> + <typesupport mode="signed 32 to bool" in_t="int32_t" out_t="bool_t"/> + <typesupport mode="signed 32 to signed 8" in_t="int32_t" out_t="int8_t"/> + <typesupport mode="signed 32 to signed 16" in_t="int32_t" out_t="int16_t"/> + <typesupport mode="signed 32 to fp16" in_t="int32_t" out_t="fp16_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="signed 32 to bf16" in_t="i32_t" out_t="bf16_t"> + <typesupport mode="signed 32 to bf16" in_t="int32_t" out_t="bf16_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="signed 32 to fp32" in_t="i32_t" out_t="fp32_t"> + <typesupport mode="signed 32 to fp32" in_t="int32_t" out_t="fp32_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="bf16 to signed 8" in_t="bf16_t" out_t="i8_t"> + <typesupport mode="bf16 to signed 8" in_t="bf16_t" out_t="int8_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="bf16 to signed 16" in_t="bf16_t" out_t="i16_t"> + <typesupport mode="bf16 to signed 16" in_t="bf16_t" out_t="int16_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="bf16 to signed 32" in_t="bf16_t" out_t="i32_t"> + <typesupport mode="bf16 to signed 32" in_t="bf16_t" out_t="int32_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> @@ -2423,15 +2311,15 @@ used.</description> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="fp16 to signed 8" in_t="fp16_t" out_t="i8_t"> + <typesupport mode="fp16 to signed 8" in_t="fp16_t" out_t="int8_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="fp16 to signed 16" in_t="fp16_t" out_t="i16_t"> + <typesupport mode="fp16 to signed 16" in_t="fp16_t" out_t="int16_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="fp16 to signed 32" in_t="fp16_t" out_t="i32_t"> + <typesupport mode="fp16 to signed 32" in_t="fp16_t" out_t="int32_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> @@ -2439,15 +2327,15 @@ used.</description> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="fp32 to signed 8" in_t="fp32_t" out_t="i8_t"> + <typesupport mode="fp32 to signed 8" in_t="fp32_t" out_t="int8_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="fp32 to signed 16" in_t="fp32_t" out_t="i16_t"> + <typesupport mode="fp32 to signed 16" in_t="fp32_t" out_t="int16_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> - <typesupport mode="fp32 to signed 32" in_t="fp32_t" out_t="i32_t"> + <typesupport mode="fp32 to signed 32" in_t="fp32_t" out_t="int32_t"> <profile name="MI"/> <profile name="MT"/> </typesupport> @@ -2473,23 +2361,23 @@ used.</description> <rank min="0" max="MAX_RANK"/> </argument> <argument category="attribute" name="input_zp" type="tensor_t" shape="-" tensor-element-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.</description> + <description>Input tensor zero point. Must be zero for non-int8 types.</description> <rank min="0" max="0"/> </argument> <argument category="attribute" name="output_zp" type="tensor_t" shape="-" tensor-element-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.</description> + <description>Output tensor zero point. Must be zero for non-int8 types.</description> <rank min="0" max="0"/> </argument> <argument category="input(MT)|attribute(BI,MI)" name="multiplier" type="tensor_t" shape="[NC]" tensor-element-type="mul_t"> <description>Scaling multiplier array</description> <rank min="1" max="1"/> </argument> - <argument category="input(MT)|attribute(BI,MI)" name="shift" type="tensor_t" shape="[NC]" tensor-element-type="i8_t"> + <argument category="input(MT)|attribute(BI,MI)" name="shift" type="tensor_t" shape="[NC]" tensor-element-type="int8_t"> <description>Scaling shift array</description> <rank min="1" max="1"/> </argument> <argument category="attribute" name="scale32" type="tensor_t" shape="-" tensor-element-type="bool_t"> - <description>if (scale32) mul_t=i32_t else mul_t=i16_t</description> + <description>if (scale32) mul_t=int32_t else mul_t=int16_t</description> <rank min="0" max="0"/> </argument> <argument category="attribute" name="double_round" type="tensor_t" shape="-" tensor-element-type="bool_t"> @@ -2500,31 +2388,29 @@ used.</description> <description>if (per_channel) NC=shape[rank(shape)-1] else NC=1</description> <rank min="0" max="0"/> </argument> - <argument category="attribute" name="input_unsigned" type="tensor_t" shape="-" tensor-element-type="bool_t"> - <description>If True, treat the input values as unsigned.</description> - <rank min="0" max="0"/> - </argument> - <argument category="attribute" name="output_unsigned" type="tensor_t" shape="-" tensor-element-type="bool_t"> - <description>If True, treat the output values as unsigned.</description> - <rank min="0" max="0"/> - </argument> </arguments> <types> <type name='in_t'/> <type name='out_t'/> </types> - <typesupport mode="8-bit to 8-bit" in_t="i8_t" out_t="i8_t"/> - <typesupport mode="8-bit to 16-bit" in_t="i8_t" out_t="i16_t"/> - <typesupport mode="8-bit to 32-bit" in_t="i8_t" out_t="i32_t"/> - <typesupport mode="16-bit to 8-bit" in_t="i16_t" out_t="i8_t"/> - <typesupport mode="16-bit to 16-bit" in_t="i16_t" out_t="i16_t"/> - <typesupport mode="16-bit to 32-bit" in_t="i16_t" out_t="i32_t"/> - <typesupport mode="32-bit to 8-bit" in_t="i32_t" out_t="i8_t"/> - <typesupport mode="32-bit to 16-bit" in_t="i32_t" out_t="i16_t"/> - <typesupport mode="32-bit to 32-bit" in_t="i32_t" out_t="i32_t"/> - <typesupport mode="48-bit to 8-bit" in_t="i48_t" out_t="i8_t"/> - <typesupport mode="48-bit to 16-bit" in_t="i48_t" out_t="i16_t"/> - <typesupport mode="48-bit to 32-bit" in_t="i48_t" out_t="i32_t"/> + <typesupport mode="signed 8 to signed 8" in_t="int8_t" out_t="int8_t"/> + <typesupport mode="signed 8 to signed 16" in_t="int8_t" out_t="int16_t"/> + <typesupport mode="signed 8 to signed 32" in_t="int8_t" out_t="int32_t"/> + <typesupport mode="signed 8 to unsigned 8" in_t="int8_t" out_t="uint8_t"/> + <typesupport mode="signed 16 to signed 8" in_t="int16_t" out_t="int8_t"/> + <typesupport mode="signed 16 to signed 16" in_t="int16_t" out_t="int16_t"/> + <typesupport mode="signed 16 to signed 32" in_t="int16_t" out_t="int32_t"/> + <typesupport mode="signed 16 to unsigned 8" in_t="int16_t" out_t="uint8_t"/> + <typesupport mode="signed 16 to unsigned 16" in_t="int16_t" out_t="uint16_t"/> + <typesupport mode="signed 32 to signed 8" in_t="int32_t" out_t="int8_t"/> + <typesupport mode="signed 32 to signed 16" in_t="int32_t" out_t="int16_t"/> + <typesupport mode="signed 32 to signed 32" in_t="int32_t" out_t="int32_t"/> + <typesupport mode="signed 48 to signed 8" in_t="int48_t" out_t="int8_t"/> + <typesupport mode="signed 48 to signed 16" in_t="int48_t" out_t="int16_t"/> + <typesupport mode="signed 48 to signed 32" in_t="int48_t" out_t="int32_t"/> + <typesupport mode="unsigned 8 to signed 8" in_t="uint8_t" out_t="int8_t"/> + <typesupport mode="unsigned 8 to signed 16" in_t="uint8_t" out_t="int16_t"/> + <typesupport mode="unsigned 16 to signed 16" in_t="uint16_t" out_t="int16_t"/> </operator> </operatorgroup> <operatorgroup name="data-node"> @@ -2544,12 +2430,10 @@ used.</description> <type name='out_t' /> </types> <typesupport mode="Boolean" out_t="bool_t" /> - <typesupport mode="4-bit" out_t="i4_t" /> - <typesupport mode="8-bit" out_t="i8_t" /> - <typesupport mode="16-bit" out_t="i16_t" /> - <typesupport mode="32-bit" out_t="i32_t" /> - <typesupport mode="48-bit" out_t="i48_t" /> - <typesupport mode="shape" out_t="shape_t" /> + <typesupport mode="signed 8" out_t="int8_t" /> + <typesupport mode="signed 16" out_t="int16_t" /> + <typesupport mode="signed 32" out_t="int32_t" /> + <typesupport mode="signed 48" out_t="int48_t" /> <typesupport mode="fp16" out_t="fp16_t" > <profile name="MI"/> <profile name="MT"/> @@ -2579,9 +2463,9 @@ used.</description> <type name='in_out_t' /> </types> <typesupport mode="Boolean" in_out_t="bool_t" /> - <typesupport mode="8-bit" in_out_t="i8_t" /> - <typesupport mode="16-bit" in_out_t="i16_t" /> - <typesupport mode="32-bit" in_out_t="i32_t" /> + <typesupport mode="signed 8" in_out_t="int8_t" /> + <typesupport mode="signed 16" in_out_t="int16_t" /> + <typesupport mode="signed 32" in_out_t="int32_t" /> <typesupport mode="fp16" in_out_t="fp16_t" > <profile name="MI"/> <profile name="MT"/> @@ -2596,30 +2480,6 @@ used.</description> </typesupport> </operator> </operatorgroup> - <operatorgroup name="custom"> - <operator> - <name>CUSTOM</name> - <arguments> - <argument category="input" name="input_list" type="tensor_list_t" shape="-" tensor-element-type="-"> - <description>List of input tensors</description> - </argument> - <argument category="attribute" name="operator" type="String" shape="-" tensor-element-type="-"> - <description>String which tells the backend which custom operator is being called</description> - </argument> - <argument category="attribute" name="domain" type="String" shape="-" tensor-element-type="-"> - <description>String idenifier 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.</description> - </argument> - <argument category="attribute" name="implementation_attrs" type="String" shape="-" tensor-element-type="-"> - <description>String value containing implementation specific attributes which apply to the operation</description> - </argument> - <argument category="output" name="output_list" type="tensor_list_t" shape="-" tensor-element-type="-"> - <description>List of output tensors</description> - </argument> - </arguments> - </operator> - </operatorgroup> <operatorgroup name="control-flow"> <operator> <name>COND_IF</name> @@ -2660,58 +2520,6 @@ used.</description> </arguments> </operator> </operatorgroup> - <operatorgroup name="variable"> - <operator> - <name>VARIABLE</name> - <arguments> - <argument category="attribute" name="uid" type="tensor_t" shape="-" tensor-element-type="i32_t"> - <description>Globally unique identifier for the declared variable tensor.</description> - <rank min="0" max="0"/> - </argument> - <argument category="attribute" name="var_shape" type="tensor_t" shape="var_shape" tensor-element-type="index_t"> - <description>The variable tensor shape</description> - <rank min="1" max="1"/> - </argument> - <argument category="attribute" name="type" type="tensor_t" shape="-" tensor-element-type="var_t"> - <description>Type of the tensor variable elements.</description> - <rank min="0" max="0"/> - </argument> - <argument category="attribute" name="initial_value" type="tensor_t" shape="shape" tensor-element-type="in_t" optional="true"> - <description>Initial value of the variable tensor. This argument is optional with default value NULL.</description> - <levellimit value="rank(shape)" limit="MAX_RANK"/> - <rank min="0" max="MAX_RANK"/> - </argument> - </arguments> - </operator> - <operator> - <name>VARIABLE_WRITE</name> - <arguments> - <argument category="attribute" name="uid" type="tensor_t" shape="-" tensor-element-type="i32_t"> - <description>Globally unique identifier of the variable tensor that is writing to</description> - <rank min="0" max="0"/> - </argument> - <argument category="input" name="input1" type="tensor_t" shape="shape" tensor-element-type="in_t"> - <description>Input tensor</description> - <levellimit value="rank(shape)" limit="MAX_RANK"/> - <rank min="0" max="MAX_RANK"/> - </argument> - </arguments> - </operator> - <operator> - <name>VARIABLE_READ</name> - <arguments> - <argument category="attribute" name="uid" type="tensor_t" shape="-" tensor-element-type="i32_t"> - <description>Globally unique identifier of the variable tensor that is reading from </description> - <rank min="0" max="0"/> - </argument> - <argument category="output" name="output1" type="tensor_t" shape="shape" tensor-element-type="out_t"> - <description>Output tensor</description> - <levellimit value="rank(shape)" limit="MAX_RANK"/> - <rank min="0" max="MAX_RANK"/> - </argument> - </arguments> - </operator> - </operatorgroup> </operators> <enum name="resize_mode_t" description="Valid resize types"> @@ -2725,15 +2533,4 @@ used.</description> <enumval value="2" name="FP32" description="32-bit floating-point"/> </enum> - <enum name="var_t" description="Variable tensor data type"> - <enumval value="0" name="BOOLEAN" description="Boolean"/> - <enumval value="1" name="INT8" description="8-bit integer"/> - <enumval value="2" name="INT16" description="16-bit integer"/> - <enumval value="3" name="INT32" description="32-bit integer"/> - <enumval value="4" name="FP16" description="16-bit floating-point"/> - <enumval value="5" name="BF16" description="16-bit brain floating-point"/> - <enumval value="6" name="FP32" description="32-bit floating-point"/> - </enum> - </tosa> - |