#Digilal Design

《LLHD: A Multi-level Intermediate Representation for Hardware Description Languages》

因为在CIRCT里有一个叫llhd的dialect,于是很简单的survey了一下这个工作,这篇是苏黎世联邦理工学院发表在PLDI 2020上的,借助MLIR的设计思想,想在EDA领域设计一个统一的IR。

Read More

MLIR 是Google在2019年开源出来的编译框架。不久之前意外加了nihui大佬建的MLIR交流群,不过几个月过去了群里都没什么人说话,说明没人用MLIR(不是。现在刚好组里的老师对MLIR比较感兴趣让我进行一下调研,于是就有这篇比较简单的调研报告啦!

MLIR的全称是 Multi-Level Intermediate Representation. 其中的ML不是指Machine Learning,这一点容易让人误解,但现在的一些ML框架有些也在往MLIR靠,比如Tensorflow、Pytorch、ONNX都在写Dialect往MLIR上贴贴,Google的IREE是基于MLIR的End2End推理框架;ML也可以是Mid-Level,因为MLIR要解决Mid-Level IR的碎片化问题;ML也可以是摩尔定律,因为MLIR的Paper的标题是为了摩尔定律终结而诞生的编译器技术设施,当然也可以是Modular Library,现在看来,MLIR至少是一个优秀的编译器库。

一些你可以帮助你了解MLIR的资源:

  1. MLIR官网

  2. 目前,MLIR已经迁移到了LLVM下面进行维护。

    https://github.com/llvm/llvm-project/tree/main/mlir/

  3. 如果想要引用MLIR,使用这一篇Paper:MLIR: A Compiler Infrastructure for the End of Moore’s Law

  4. LLVM/MLIR Forums

  5. LLVM Discord 在线聊天室

MLIR SIG 组每周都会有一次 public meeting,如果你有特定的主题想讨论或者有疑问,可以根据官网主页提供的方法在他们的文档里提出,有关如何加入会议的详细信息,请参阅官方网站上的文档。

Read More

为接下来要尝试基于 Tengine 完成 CPU Fallback 的工作,在组里的 ZCU 102 开发板上进行了 NVDLA 的移植。本来以为这个过程会很顺利,没想到还是因为各种问题还是花费了一个星期的时间。

这篇文章记述了部分关于 ZCU102 rev1.1 板卡的坑点,以及利用chroot基于Ubuntu Base Rootfs来订制 aarch64 ubuntu 的文件系统流程。

Read More

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

Read More

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×