NPU的设计比较常见的有两类套路,第一种是带指令集的指令集加速器,这种加速器类似于DSP/CPU的设计,通过专门设计的NN/Matrix加速指令集配合紧致内存,或者直接在流水线上扩展加速单元,成为流水线的一部分,这种设计的好处是逻辑灵活,软件友好。另一种是逻辑硬件化(总线加速器型)的,比如卷积算子加速,就会真的去设计一个卷积电路,然后用过总线配置寄存器的方式驱使它去工作,NVDLA神经网络加速单元的实现思路属于后者。
NVDLA官网:
NVIDIA Deep Learning Accelerator
NVDLA和做显卡也做加速器的NVDIA拼写很像,这也正象征了它们的关系,nvidla应该是NVIDIA主导的项目,从NVIDIA官网右上角的明显的NVIDIA Logo可以看的出来,由于其强大的背景,被很多芯片公司拿来套壳开发,但是无论是真正的自主开发,或者是直接购买已有的NPU IP,只要能够解决行业刚需问题,就是一个优秀的实现方案。
follow中部的github链接打开github开源项目地址,这股联系更加赤果果了,邮箱后缀直接就是nvidia的。据此可以得出结论,nvdla是nvidia主导的开源项目。
GITHUB地址:nvdla · GitHub