这两天在京举办的第六届 ChinaDA 的学术研讨会是我第一次参加的学术会议,写下本文记述一下会议上比较感兴趣的点。篇幅不会长,主要是因为会前没有挑几个自己感兴趣的报告专门认真听一下,也没有没有做笔记、拍视频照片。

PS:这张大会的Banner页是我做的!

ChinaDA是国内集成电路设计、自动化没计(EDA)等学科青年学者自发组织的学术共同体,其使命是推动国内集成电路设计、EDA,及与之交叉的计算机体系结构和工艺器件等领城研究,为青年人搭建同行学术交流平台,提高本学科在国内科研界的地位。ChinaDA自2018年特殊时刻创建以来,每年举办2次,本次是第6届。
Conference

这篇文章记录一下笔者剖析 NVDLA Compiler 工作机制的一些经过,在 NVDLA 的软件仓库中,Compiler与Runtime的源代码被放置在umd目录下,由同一个 Makefile 组织。

对于sw部分文档十分缺乏,在 NVDLA的页面里只有零星的介绍,而关于软件设计的细节、以及如何拓展设计都没有介绍。并且,Compiler这部分的代码充满了智慧,例如:

image-20210624203707954

还有一些突然停止维护了而没开发完的feature。并且由于其前端只有 Caffe 的 Parser,导致其端到端的推理仅可以支持一些比较弱的分类网络,但阅读代码理解其设计与工作的思路,学习其抽象语法树的设计还是一个比较有意义的工作。

NVDLA

NVDLA 是英伟达于2017年开源出来的深度学习加速器框架。可惜的是,这个项目被开源出来一年后就草草停止维护了。

笔者本科的毕业设计为了与实验室研究的方向贴合,把NVDLA的RTL映射到了 Xilinx FPGA 上,并且上板编译了 Runtime 。映射成功后,很多伙伴对上板的过程很感兴趣,而这个步骤亦不是使用聊天软件说两句就可以概述的。于是写下这篇文章,记述Mapping 到 FPGA 过程中踩过的一些坑。

本设计的Github Repo地址:https://github.com/LeiWang1999/ZYNQ-NVDLA

你可以在这里看到我的本科毕业设计论文:Graduation Paper

开发器件:Zynq 7000+ / Zynq MPSoc

软件环境:

  • Ubuntu 18.04
  • Vivado 2019.1
  • Petalinux 2019.1
Digilal DesignNVDLA