| // The profile-based compliance content below is auto-generated by the script |
| // `tools/genspec.py` in https://git.mlplatform.org/tosa/specification.git |
| profileComplianceMap = { |
| {"tosa.argmax", |
| {{{Profile::pro_int}, {{i8T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, i32T}, {fp32T, i32T}}}}}, |
| {"tosa.avg_pool2d", |
| {{{Profile::pro_int}, {{i8T, i8T, i8T, i32T, i8T}}}, |
| {{Profile::pro_fp}, |
| {{fp16T, fp16T, fp16T, fp16T, fp16T}, |
| {fp16T, fp16T, fp16T, fp32T, fp16T}, |
| {fp32T, fp32T, fp32T, fp32T, fp32T}}}}}, |
| {"tosa.conv2d", |
| {{{Profile::pro_int}, {{i8T, i8T, i32T, i32T, i32T}}}, |
| {{Profile::pro_fp}, |
| {{fp16T, fp16T, fp16T, fp16T, fp16T}, |
| {fp16T, fp16T, fp16T, fp32T, fp16T}, |
| {fp32T, fp32T, fp32T, fp32T, fp32T}}}}}, |
| {"tosa.conv3d", |
| {{{Profile::pro_int}, {{i8T, i8T, i32T, i32T, i32T}}}, |
| {{Profile::pro_fp}, |
| {{fp16T, fp16T, fp16T, fp16T, fp16T}, |
| {fp16T, fp16T, fp16T, fp32T, fp16T}, |
| {fp32T, fp32T, fp32T, fp32T, fp32T}}}}}, |
| {"tosa.depthwise_conv2d", |
| {{{Profile::pro_int}, {{i8T, i8T, i32T, i32T, i32T}}}, |
| {{Profile::pro_fp}, |
| {{fp16T, fp16T, fp16T, fp16T, fp16T}, |
| {fp16T, fp16T, fp16T, fp32T, fp16T}, |
| {fp32T, fp32T, fp32T, fp32T, fp32T}}}}}, |
| {"tosa.fully_connected", |
| {{{Profile::pro_int}, {{i8T, i8T, i32T, i32T}}}, |
| {{Profile::pro_fp}, |
| {{fp16T, fp16T, fp16T, fp16T}, |
| {fp16T, fp16T, fp32T, fp32T}, |
| {fp32T, fp32T, fp32T, fp32T}}}}}, |
| {"tosa.matmul", |
| {{{Profile::pro_int}, {{i8T, i8T, i8T, i8T, i32T}}}, |
| {{Profile::pro_fp}, |
| {{fp16T, fp16T, fp16T, fp16T, fp16T}, |
| {fp16T, fp16T, fp16T, fp16T, fp32T}, |
| {fp32T, fp32T, fp32T, fp32T, fp32T}}}}}, |
| {"tosa.max_pool2d", |
| {{{Profile::pro_int}, {{i8T, i8T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.transpose_conv2d", |
| {{{Profile::pro_int}, {{i8T, i8T, i32T, i32T, i32T}}}, |
| {{Profile::pro_fp}, |
| {{fp16T, fp16T, fp16T, fp16T, fp16T}, |
| {fp16T, fp16T, fp16T, fp32T, fp16T}, |
| {fp32T, fp32T, fp32T, fp32T, fp32T}}}}}, |
| {"tosa.clamp", |
| {{{Profile::pro_int}, {{i8T, i8T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.erf", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.sigmoid", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.tanh", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.add", |
| {{{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}}, |
| {"tosa.arithmetic_right_shift", |
| {{{Profile::pro_int}, |
| {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}}, |
| {"tosa.bitwise_and", |
| {{{Profile::pro_int}, |
| {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}}, |
| {"tosa.bitwise_or", |
| {{{Profile::pro_int}, |
| {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}}, |
| {"tosa.bitwise_xor", |
| {{{Profile::pro_int}, |
| {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}}, |
| {"tosa.intdiv", |
| {{{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}}}}}, |
| {"tosa.logical_and", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}}}}}, |
| {"tosa.logical_left_shift", |
| {{{Profile::pro_int, Profile::pro_fp}, |
| {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}}, |
| {"tosa.logical_right_shift", |
| {{{Profile::pro_int, Profile::pro_fp}, |
| {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}}, |
| {"tosa.logical_or", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}}}}}, |
| {"tosa.logical_xor", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}}}}}, |
| {"tosa.maximum", |
| {{{Profile::pro_int}, {{i32T, i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}}, |
| {"tosa.minimum", |
| {{{Profile::pro_int}, {{i32T, i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}}, |
| {"tosa.mul", |
| {{{Profile::pro_int}, {{i8T, i8T, i32T}, {i16T, i16T, i32T}}}, |
| {{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}}, |
| {"tosa.pow", |
| {{{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}}, |
| {"tosa.sub", |
| {{{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}}, |
| {"tosa.table", {{{Profile::pro_int}, {{i8T, i8T, i8T}}}}}, |
| {"tosa.abs", |
| {{{Profile::pro_int}, {{i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.bitwise_not", |
| {{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}}}, |
| {"tosa.ceil", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.clz", {{{Profile::pro_int}, {{i32T, i32T}}}}}, |
| {"tosa.cos", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.exp", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.floor", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.log", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.logical_not", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}}}, |
| {"tosa.negate", |
| {{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.reciprocal", |
| {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.rsqrt", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.select", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}}}, |
| {{Profile::pro_int}, |
| {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}}, |
| {"tosa.sin", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.equal", |
| {{{Profile::pro_int}, {{i32T, i32T, boolT}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T, boolT}, {fp32T, fp32T, boolT}}}}}, |
| {"tosa.greater", |
| {{{Profile::pro_int}, {{i32T, i32T, boolT}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T, boolT}, {fp32T, fp32T, boolT}}}}}, |
| {"tosa.greater_equal", |
| {{{Profile::pro_int}, {{i32T, i32T, boolT}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T, boolT}, {fp32T, fp32T, boolT}}}}}, |
| {"tosa.reduce_all", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}}}, |
| {"tosa.reduce_any", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}}}, |
| {"tosa.reduce_max", |
| {{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.reduce_min", |
| {{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.reduce_product", |
| {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.reduce_sum", |
| {{{Profile::pro_int}, {{i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.concat", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}, |
| {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.pad", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}, |
| {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.reshape", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}, |
| {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.reverse", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}, |
| {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.slice", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}, |
| {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.tile", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}, |
| {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.transpose", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}, |
| {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.gather", |
| {{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.scatter", |
| {{{Profile::pro_int}, |
| {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}}, |
| {"tosa.resize", |
| {{{Profile::pro_int}, {{i8T, i32T}, {i8T, i8T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.cast", |
| {{{Profile::pro_int}, |
| {{boolT, i8T}, |
| {boolT, i16T}, |
| {boolT, i32T}, |
| {i8T, boolT}, |
| {i8T, i16T}, |
| {i8T, i32T}, |
| {i16T, boolT}, |
| {i16T, i8T}, |
| {i16T, i32T}, |
| {i32T, boolT}, |
| {i32T, i8T}, |
| {i32T, i16T}}}, |
| {{Profile::pro_fp}, |
| {{i8T, fp16T}, |
| {i8T, fp32T}, |
| {i16T, fp16T}, |
| {i16T, fp32T}, |
| {i32T, fp16T}, |
| {i32T, fp32T}, |
| {fp16T, i8T}, |
| {fp16T, i16T}, |
| {fp16T, i32T}, |
| {fp16T, fp32T}, |
| {fp32T, i8T}, |
| {fp32T, i16T}, |
| {fp32T, i32T}, |
| {fp32T, fp16T}}}}}, |
| {"tosa.rescale", |
| {{{Profile::pro_int}, |
| {{i8T, i8T}, |
| {i8T, i16T}, |
| {i8T, i32T}, |
| {i16T, i8T}, |
| {i16T, i16T}, |
| {i16T, i32T}, |
| {i32T, i8T}, |
| {i32T, i16T}, |
| {i32T, i32T}}}}}, |
| {"tosa.const", |
| {{{Profile::pro_int}, {{boolT}, {i8T}, {i16T}, {i32T}}}, |
| {{Profile::pro_fp}, {{fp16T}, {fp32T}}}}}, |
| {"tosa.identity", |
| {{{Profile::pro_int}, |
| {{boolT, boolT}, {i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}, |
| {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}}, |
| {"tosa.dim", |
| {{{Profile::pro_int, Profile::pro_fp}, {{boolT}}}, |
| {{Profile::pro_int}, {{i8T}, {i16T}, {i32T}}}, |
| {{Profile::pro_fp}, {{fp16T}, {fp32T}}}}}, |
| }; |
| |
| extensionComplianceMap = { |
| {"tosa.argmax", |
| {{{Extension::int16}, {{i16T, i32T}}}, |
| {{Extension::fp8e4m3}, {{fp8e4m3T, i32T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, i32T}}}, |
| {{Extension::bf16}, {{bf16T, i32T}}}}}, |
| {"tosa.avg_pool2d", |
| {{{Extension::int16}, {{i16T, i16T, i16T, i32T, i16T}}}, |
| {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T, bf16T, fp32T, bf16T}}}}}, |
| {"tosa.conv2d", |
| {{{Extension::int4}, {{i8T, i4T, i32T, i32T, i32T}}}, |
| {{Extension::int16}, {{i16T, i8T, i48T, i48T, i48T}}}, |
| {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp16T, fp16T, fp16T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp16T, fp16T, fp16T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T, bf16T, fp32T, bf16T}}}}}, |
| {"tosa.conv3d", |
| {{{Extension::int4}, {{i8T, i4T, i32T, i32T, i32T}}}, |
| {{Extension::int16}, {{i16T, i8T, i48T, i48T, i48T}}}, |
| {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp16T, fp16T, fp16T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp16T, fp16T, fp16T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T, bf16T, fp32T, bf16T}}}}}, |
| {"tosa.depthwise_conv2d", |
| {{{Extension::int4}, {{i8T, i4T, i32T, i32T, i32T}}}, |
| {{Extension::int16}, {{i16T, i8T, i48T, i48T, i48T}}}, |
| {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp16T, fp16T, fp16T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp16T, fp16T, fp16T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T, bf16T, fp32T, bf16T}}}}}, |
| {"tosa.fft2d", {{{Extension::fft}, {{fp32T, fp32T, fp32T, fp32T}}}}}, |
| {"tosa.fully_connected", |
| {{{Extension::int4}, {{i8T, i4T, i32T, i32T}}}, |
| {{Extension::int16}, {{i16T, i8T, i48T, i48T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T, fp32T, fp32T}}}}}, |
| {"tosa.matmul", |
| {{{Extension::int16}, {{i16T, i16T, i16T, i16T, i48T}}}, |
| {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T, bf16T, bf16T, fp32T}}}}}, |
| {"tosa.max_pool2d", |
| {{{Extension::int16}, {{i16T, i16T}}}, |
| {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.rfft2d", {{{Extension::fft}, {{fp32T, fp32T, fp32T}}}}}, |
| {"tosa.transpose_conv2d", |
| {{{Extension::int4}, {{i8T, i4T, i32T, i32T, i32T}}}, |
| {{Extension::int16}, {{i16T, i8T, i48T, i48T, i48T}}}, |
| {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp16T, fp16T, fp16T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp16T, fp16T, fp16T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T, bf16T, fp32T, bf16T}}}}}, |
| {"tosa.clamp", |
| {{{Extension::int16}, {{i16T, i16T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.erf", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.sigmoid", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.tanh", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.add", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}}, |
| {"tosa.maximum", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}}, |
| {"tosa.minimum", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}}, |
| {"tosa.mul", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}}, |
| {"tosa.pow", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}}, |
| {"tosa.sub", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}}, |
| {"tosa.table", {{{Extension::int16}, {{i16T, i16T, i32T}}}}}, |
| {"tosa.abs", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.ceil", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.cos", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.exp", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.floor", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.log", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.negate", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.reciprocal", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.rsqrt", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.select", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}}, |
| {"tosa.sin", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.equal", {{{Extension::bf16}, {{bf16T, bf16T, boolT}}}}}, |
| {"tosa.greater", {{{Extension::bf16}, {{bf16T, bf16T, boolT}}}}}, |
| {"tosa.greater_equal", {{{Extension::bf16}, {{bf16T, bf16T, boolT}}}}}, |
| {"tosa.reduce_max", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.reduce_min", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.reduce_product", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.reduce_sum", {{{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.concat", |
| {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.pad", |
| {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.reshape", |
| {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.reverse", |
| {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.slice", |
| {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.tile", |
| {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.transpose", |
| {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.gather", |
| {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.scatter", |
| {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}}, |
| {"tosa.resize", |
| {{{Extension::int16}, {{i16T, i48T}, {i16T, i16T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.cast", |
| {{{Extension::bf16}, |
| {{i8T, bf16T}, |
| {i16T, bf16T}, |
| {i32T, bf16T}, |
| {bf16T, i8T}, |
| {bf16T, i16T}, |
| {bf16T, i32T}, |
| {bf16T, fp32T}, |
| {fp32T, bf16T}}}, |
| {{Extension::bf16, Extension::fp8e4m3}, |
| {{bf16T, fp8e4m3T}, {fp8e4m3T, bf16T}}}, |
| {{Extension::bf16, Extension::fp8e5m2}, |
| {{bf16T, fp8e5m2T}, {fp8e5m2T, bf16T}}}, |
| {{Extension::fp8e4m3}, |
| {{fp8e4m3T, fp16T}, |
| {fp8e4m3T, fp32T}, |
| {fp16T, fp8e4m3T}, |
| {fp32T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, |
| {{fp8e5m2T, fp16T}, |
| {fp8e5m2T, fp32T}, |
| {fp16T, fp8e5m2T}, |
| {fp32T, fp8e5m2T}}}}}, |
| {"tosa.rescale", |
| {{{Extension::int16}, {{i48T, i8T}, {i48T, i16T}, {i48T, i32T}}}}}, |
| {"tosa.const", |
| {{{Extension::int4}, {{i4T}}}, |
| {{Extension::int16}, {{i48T}}}, |
| {{Extension::fp8e4m3}, {{fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T}}}}}, |
| {"tosa.identity", |
| {{{Extension::int4}, {{i4T, i4T}}}, |
| {{Extension::int16}, {{i48T, i48T}}}, |
| {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T, bf16T}}}}}, |
| {"tosa.dim", |
| {{{Extension::fp8e4m3}, {{fp8e4m3T}}}, |
| {{Extension::fp8e5m2}, {{fp8e5m2T}}}, |
| {{Extension::bf16}, {{bf16T}}}}}, |
| }; |
| // End of auto-generated metadata |