雪中奇侠
微电子科学与工程 硕士
展开
-
卷积神经网络加速器设计与优化实验(一)
本系列主要用高层次综合的方法复现了赛灵思和北京高能效研究所推出的神经网络加速器优化过程,并做了笔记和记录。神经网络加速器设计与优化实验课程录播领域专用架构设计(Domain-specific Architecture DSA)根据应用的计算,访存特性设计专用的硬件架构。提升性能能效。面向一类应用而不是某一个特定的应用(ASIC)。机器学习应用的神经网络加速器,图像处理GPU。DSA的优势更加合理高效的并行方案访存带宽的专门优化数值精度的合理选取领域专用的编程语言。原创 2023-03-27 14:43:03 · 562 阅读 · 0 评论 -
手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(4)
前一篇文章手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(3)截止上文已经实现了在ARM-FPGA中跑通一个demo历程。也恰恰说明了搭建的硬件和软件的正确性。那么如何转换设计的神经网络并且使用Tengine框架调用NVDLA后端呢?Tengine社区的example中给了我们最好的答案。首先将pytorch设计的模型转换为onnx模式然后再调用Tengine的model convert工具将模型转换为TMFILE。原创 2022-12-11 11:45:54 · 1393 阅读 · 1 评论 -
手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(3)
前一篇文章手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(2)已经说明了如何在ZYNQ上移植操作系统并且将跟文件系统替换为ubuntu16.04。到这里NVDLA的硬件和软件平台都已经搭建好了。这篇博客将带着大家在嵌入式平台上编译NVDLA/SW+Tengine。并且运行demo网络。然后笔者会从自己用pytorch搭建的网络模型开始,模型转换量化,并且用NVDLA后端调度。原创 2022-12-02 21:56:14 · 1866 阅读 · 3 评论 -
手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(2)
手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(1)这一篇将主要讲述如何移植ubunt16.04根文件系统+linux4.19内。并且在ZC706 FPGA上正确的加载驱动。经过上文在VIVADO SDK中的验证我们已经可以确定NVDLA模块的功能正确性。但是在日常应用中,需要拥有人机交互和自动配置的需求,官方开源了整套的SW软件栈。那么移植OS操作系统并且移植KMD是我们绕不开的一步了。原创 2022-11-28 09:14:15 · 1735 阅读 · 2 评论 -
手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(1)
在FPGA上移植AI加速器,跑通任意神经网络模型原创 2022-11-26 12:38:44 · 5760 阅读 · 2 评论 -
如何编译并调试NVDLA编译器源码
NVDLA简单来说就是英伟达公司开源的AI处理器框架。NVDLA处理器主要包括Convolution Core,SDP,CDP,PDP等几个部分,分别进行卷积,线性运算,池化运算等等。可以单个模块工作,也可以多个模块协同工作。比如说Convlotion卷积得到的结果可以作为SDP的输入进行relu计算。为了让NVDLA的硬件可以更高效的配置,官方还开源了配套的软件工具链。compiler 编译器runtime 运行时kmd 内核驱动程序。原创 2022-11-20 09:04:06 · 1343 阅读 · 0 评论 -
面向ZC706移植的NVDLA移植
1.sw/umd/utils/calibdata/calib_txt_to_json.py 这个是转换为json的脚本原创 2021-11-06 11:20:13 · 981 阅读 · 3 评论