正文
NVDLA是NVIDIA Deep Learning Accelerator的简称(瞎猜的),由NVIDIA公司在2017年9月26日正式发布在github上(https://github.com/nvdla),关于NVDLA的文档可以在NVDLA的官方网站(http://nvdla.org)找到。目前,文档可分为两部分,粗略的介绍可直接看http://nvdla.org/primer.html,跟架构相关的较详细的介绍可参考http://nvdla.org/contents.html,本文中主要信息也是从以上两个文档而来。
二
、
NVDLA的PPA如何?
2.1 performance
首先是Performance方面的数据:
需要注意的是以上数据是针对某个配置下的性能数据,毕竟NVDLA是“变形金刚”,如果不给定configuration,单独给出的性能数据是不可信的。
2.2 Power
很遗憾,目前还没有NVDLA相关的Power数据,不过据官方人士介绍,NVDLA是从他们内部项目实际使用的版本进化(阉割)而来,功耗估计不会像一般的开源项目那样太离谱。
2.3 area
最后是面积相关的数据:
注:以上面积数据不包括onchip memory,毕竟4MB的on chip memory对于嵌入式场景来说实在是太奢侈了。
三、掀起盖头来,NVDLA有哪些值得关注的亮点
3.1 变形金刚
毫无疑问,掀起盖头之后,首先映入眼帘的无疑就是其‘多变’的特性,从低端到高端,用户可以根据PPA自行trade-off,得到适合自己的NVDLA版本。在我看来“多变”实属无奈,谁让这世界变化快。在深度学习算法日新月异的状态下,不具备“多变”的属性估计也活不了多久。
3.2 专款专用
对于Deep Learning中的不同layer,NVDLA基本都有与之对应的、相互独立的硬件模块。各模块之间均可单独决定“去留”。这和我们在进行硬件架构时追求的“尽量让运算单元复用”的思想是完全不同的。
NVDLA的整体架构如下: