NPU 算子
本节总结了 SyNAP VS6x0/SL16x0 系列 NPU 和配套软件栈支持的神经网络算子。对于每种算子类型,还记录了支持的张量类型和执行引擎。设计最大化使用 NN 核心执行的算子的网络将提供最佳性能。
执行引擎
| 缩写 | 描述 |
|---|---|
| NN | 神经网络引擎 |
| PPU | 并行处理单元 |
| TP | 张量处理器 |
张量类型
| 缩写 | 描述 |
|---|---|
| asym-u8 | 非对称仿射 uint8 |
| asym-i8 | 非对称仿射 int8 |
| pc-sym-i8 | 每通道对称 int8 |
| fp32 | 32 位浮点数 |
| fp16 | 16 位浮点数 |
| h | 半精度 |
| int16 | 16 位整数 |
| int32 | 32 位整数 |
备注
NN 引擎在乘法运算中支持 int16 动态定点卷积。其他层遵循表格;如果 NN 列中没有 asym-u8,则 int16 也不可用。
基本运算
| 算子 | 输入 | 核 | 输出 | NN | TP | PPU |
|---|---|---|---|---|---|---|
| CONV2D | asym-u8 | asym-u8 | asym-u8 | ✔ | ||
| asym-i8 | pc-sym-i8 | asym-i8 | ✔ | ✔ | ||
| fp32 | fp32 | fp32 | ✔ | |||
| fp16 | fp16 | fp16 | ✔ | |||
| CONV1D | asym-u8 | asym-u8 | asym-u8 | ✔ | ||
| asym-i8 | pc-sym-i8 | asym-i8 | ✔ | ✔ | ||
| fp32 | fp32 | fp32 | ✔ | |||
| fp16 | fp16 | fp16 | ✔ | |||
| DECONVOLUTION | asym-u8 | asym-u8 | asym-u8 | ✔ | ||
| asym-i8 | pc-sym-i8 | asym-i8 | ✔ | ✔ | ||
| fp32 | fp32 | fp32 | ✔ | |||
| fp16 | fp16 | fp16 | ✔ | |||
| DECONVOLUTION1D | asym-u8 | asym-u8 | asym-u8 |