|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include <assert.h> |
|
#include <stdint.h> |
|
|
|
#include <xnnpack/operator-type.h> |
|
|
|
|
|
static const uint16_t offset[142] = { |
|
0, 8, 22, 36, 50, 64, 78, 92, 119, 147, 175, 203, 230, 257, 289, 307, 325, 350, 376, 392, 408, 423, 438, 460, 483, |
|
506, 529, 552, 575, 598, 621, 639, 662, 686, 704, 727, 751, 775, 799, 823, 847, 871, 895, 909, 924, 939, 965, 991, |
|
1017, 1043, 1075, 1107, 1133, 1160, 1187, 1204, 1221, 1255, 1289, 1303, 1317, 1331, 1347, 1363, 1389, 1415, 1447, |
|
1479, 1516, 1542, 1568, 1602, 1636, 1670, 1704, 1738, 1772, 1802, 1832, 1852, 1872, 1893, 1914, 1935, 1956, 1980, |
|
2004, 2027, 2050, 2068, 2086, 2101, 2116, 2134, 2152, 2171, 2190, 2209, 2228, 2245, 2262, 2278, 2294, 2322, 2350, |
|
2378, 2406, 2433, 2460, 2477, 2495, 2513, 2531, 2549, 2564, 2580, 2596, 2614, 2632, 2650, 2676, 2703, 2730, 2747, |
|
2764, 2786, 2808, 2837, 2866, 2885, 2904, 2923, 2942, 2957, 2972, 2987, 3002, 3021, 3041, 3061, 3082, 3103 |
|
}; |
|
|
|
static const char data[] = |
|
"Invalid\0" |
|
"Abs (NC, F16)\0" |
|
"Abs (NC, F32)\0" |
|
"Add (ND, F16)\0" |
|
"Add (ND, F32)\0" |
|
"Add (ND, QS8)\0" |
|
"Add (ND, QU8)\0" |
|
"ArgMax Pooling (NHWC, F32)\0" |
|
"Average Pooling (NHWC, F16)\0" |
|
"Average Pooling (NHWC, F32)\0" |
|
"Average Pooling (NHWC, QU8)\0" |
|
"Bankers Rounding (NC, F16)\0" |
|
"Bankers Rounding (NC, F32)\0" |
|
"Batch Matrix Multiply (NC, F32)\0" |
|
"Ceiling (NC, F16)\0" |
|
"Ceiling (NC, F32)\0" |
|
"Channel Shuffle (NC, X8)\0" |
|
"Channel Shuffle (NC, X32)\0" |
|
"Clamp (NC, F16)\0" |
|
"Clamp (NC, F32)\0" |
|
"Clamp (NC, S8)\0" |
|
"Clamp (NC, U8)\0" |
|
"Constant Pad (ND, X8)\0" |
|
"Constant Pad (ND, X16)\0" |
|
"Constant Pad (ND, X32)\0" |
|
"Convert (NC, F16, F32)\0" |
|
"Convert (NC, F32, F16)\0" |
|
"Convert (NC, F32, QD8)\0" |
|
"Convert (NC, F32, QS8)\0" |
|
"Convert (NC, F32, QU8)\0" |
|
"Convert (NC, QS8)\0" |
|
"Convert (NC, QS8, F32)\0" |
|
"Convert (NC, QS16, QS8)\0" |
|
"Convert (NC, QU8)\0" |
|
"Convert (NC, QU8, F32)\0" |
|
"Convolution (NCHW, F16)\0" |
|
"Convolution (NCHW, F32)\0" |
|
"Convolution (NHWC, F16)\0" |
|
"Convolution (NHWC, F32)\0" |
|
"Convolution (NHWC, QC8)\0" |
|
"Convolution (NHWC, QS8)\0" |
|
"Convolution (NHWC, QU8)\0" |
|
"Copy (NC, X8)\0" |
|
"Copy (NC, X16)\0" |
|
"Copy (NC, X32)\0" |
|
"Deconvolution (NHWC, F16)\0" |
|
"Deconvolution (NHWC, F32)\0" |
|
"Deconvolution (NHWC, QS8)\0" |
|
"Deconvolution (NHWC, QU8)\0" |
|
"Depth To Space (NCHW2NHWC, X16)\0" |
|
"Depth To Space (NCHW2NHWC, X32)\0" |
|
"Depth To Space (NHWC, X8)\0" |
|
"Depth To Space (NHWC, X16)\0" |
|
"Depth To Space (NHWC, X32)\0" |
|
"Divide (ND, F16)\0" |
|
"Divide (ND, F32)\0" |
|
"Dynamic Fully Connected (NC, F16)\0" |
|
"Dynamic Fully Connected (NC, F32)\0" |
|
"ELU (NC, F16)\0" |
|
"ELU (NC, F32)\0" |
|
"ELU (NC, QS8)\0" |
|
"Floor (NC, F16)\0" |
|
"Floor (NC, F32)\0" |
|
"Fully Connected (NC, F16)\0" |
|
"Fully Connected (NC, F32)\0" |
|
"Fully Connected (NC, F32, QC4W)\0" |
|
"Fully Connected (NC, F32, QC8W)\0" |
|
"Fully Connected (NC, QD8, F32, QC8W)\0" |
|
"Fully Connected (NC, QS8)\0" |
|
"Fully Connected (NC, QU8)\0" |
|
"Global Average Pooling (NCW, F16)\0" |
|
"Global Average Pooling (NCW, F32)\0" |
|
"Global Average Pooling (NWC, F16)\0" |
|
"Global Average Pooling (NWC, F32)\0" |
|
"Global Average Pooling (NWC, QS8)\0" |
|
"Global Average Pooling (NWC, QU8)\0" |
|
"Global Sum Pooling (NWC, F16)\0" |
|
"Global Sum Pooling (NWC, F32)\0" |
|
"HardSwish (NC, F16)\0" |
|
"HardSwish (NC, F32)\0" |
|
"Leaky ReLU (NC, F16)\0" |
|
"Leaky ReLU (NC, F32)\0" |
|
"Leaky ReLU (NC, QS8)\0" |
|
"Leaky ReLU (NC, QU8)\0" |
|
"Max Pooling (NHWC, F16)\0" |
|
"Max Pooling (NHWC, F32)\0" |
|
"Max Pooling (NHWC, S8)\0" |
|
"Max Pooling (NHWC, U8)\0" |
|
"Maximum (ND, F16)\0" |
|
"Maximum (ND, F32)\0" |
|
"Mean (ND, F16)\0" |
|
"Mean (ND, F32)\0" |
|
"Minimum (ND, F16)\0" |
|
"Minimum (ND, F32)\0" |
|
"Multiply (ND, F16)\0" |
|
"Multiply (ND, F32)\0" |
|
"Multiply (ND, QS8)\0" |
|
"Multiply (ND, QU8)\0" |
|
"Negate (NC, F16)\0" |
|
"Negate (NC, F32)\0" |
|
"PReLU (NC, F16)\0" |
|
"PReLU (NC, F32)\0" |
|
"Resize Bilinear (NCHW, F16)\0" |
|
"Resize Bilinear (NCHW, F32)\0" |
|
"Resize Bilinear (NHWC, F16)\0" |
|
"Resize Bilinear (NHWC, F32)\0" |
|
"Resize Bilinear (NHWC, S8)\0" |
|
"Resize Bilinear (NHWC, U8)\0" |
|
"RoPE (NTHC, F32)\0" |
|
"Sigmoid (NC, F16)\0" |
|
"Sigmoid (NC, F32)\0" |
|
"Sigmoid (NC, QS8)\0" |
|
"Sigmoid (NC, QU8)\0" |
|
"Slice (ND, X8)\0" |
|
"Slice (ND, X16)\0" |
|
"Slice (ND, X32)\0" |
|
"Softmax (NC, F16)\0" |
|
"Softmax (NC, F32)\0" |
|
"Softmax (NC, QU8)\0" |
|
"Space To Depth (NHWC, X8)\0" |
|
"Space To Depth (NHWC, X16)\0" |
|
"Space To Depth (NHWC, X32)\0" |
|
"Square (NC, F16)\0" |
|
"Square (NC, F32)\0" |
|
"Square Root (NC, F16)\0" |
|
"Square Root (NC, F32)\0" |
|
"Squared Difference (NC, F16)\0" |
|
"Squared Difference (NC, F32)\0" |
|
"Subtract (ND, F16)\0" |
|
"Subtract (ND, F32)\0" |
|
"Subtract (ND, QS8)\0" |
|
"Subtract (ND, QU8)\0" |
|
"Tanh (NC, F16)\0" |
|
"Tanh (NC, F32)\0" |
|
"Tanh (NC, QS8)\0" |
|
"Tanh (NC, QU8)\0" |
|
"Transpose (ND, X8)\0" |
|
"Transpose (ND, X16)\0" |
|
"Transpose (ND, X32)\0" |
|
"Truncation (NC, F16)\0" |
|
"Truncation (NC, F32)\0" |
|
"Unpooling (NHWC, X32)"; |
|
|
|
const char* xnn_operator_type_to_string(enum xnn_operator_type operator_type) { |
|
assert(operator_type >= xnn_operator_type_invalid); |
|
assert(operator_type <= xnn_operator_type_unpooling_nhwc_x32); |
|
return &data[offset[operator_type]]; |
|
} |
|
|