Google Coral NPU

Useful Functions

  • make_aligned_array() 用来申请对齐内存
auto data = make_aligned_array<int8_t>(16, 10); // 申请 10 个 int8_t, 地址 16 字节对齐
data[0] = 42; // 正常这样使用

DSC 加速

Tiling 空间分区

  • 动机: 由于卷积在边缘处需要处理 padding, 如果每一轮计算都用 if 语句判断是否越界, 性能会由于分支预测失败而暴跌. 因此我们采用将输入 feature map 分成 \(5\) 个区域.