天使之眼,一种可编程且灵活的CNN加速架构,以及data quantization策略和编译工具。
CNN的有着高计算量和存储能力,需要先简化再将其mapping到嵌入式fpga上。
为了解决CNN模型的高计算复杂度,data quantization策略有助于将位宽降到8位,精度损失可以忽略不计。该策略在给定位宽的每一层中找到最佳的半径点位置,之后再用额外的转换器来校正数据。
CALC指令,设置片上存储器中的数据块的地址和大小。
angle-eye分割矩阵,充分利用芯片上的缓冲区,外部内存用于保存网络的所有参数和每个层的结果。
提出了一种编译器来将网络描述符map到指令中。主要是按照一定的规则进行块分区,将外部内存空间用于处理器和CNN加速器之间的通信。
该编译工具可以有效地将某个CNN模型maping到硬件上。在ZynqXC7Z045平台上进行评估,在同一平台上Angel-Eye与同等级的FPGA运行相比,处理速度快了6倍,驱动效率高了5倍。使用NIVIDATK1和TX1平台进行比较。天使之眼实现了目标定位,并且能效提高了16倍。