神经网络处理器优化设计(一)

神经网络处理器优化设计,涉及到一些特殊和通用处理流程,一是降低硬件成本,二是提高性能。

一 跨层流水线调度

这里主要针对深度可分离卷积,将Pointwise conv与Depthwise卷积并行处理,好处是,减小整体流水时延,增加吞吐量,同时隐藏中间层数据写入/读出DDR。需要平衡两者之间的缓存和吞吐速率。

二 输入通道聚合

通常,输入特征图第一层输入的通道一般是RGB三通道或者单通道(灰度图或者红外)。而我们自己在设计神经网络处理器的输入通道并行度Tn时,一般Tn远大于3或者1,因此会在计算第一层输入特征图的卷积计算时,导致计算单元利用率较低。如下图所示。

以Tn=32,Kernel=3*3为例,通道聚合前,第一层卷积计算过程中,一个时钟周期,计算引擎32个输入并行度仅有3个特征图通道参与有效计算,PE计算利用率仅有3/32,造成计算资源浪费;按照图b,对输入通道进行重排和聚合后,在一个时钟周期内,计算引擎可以并行计算27个通道的卷积计算(一个完整3*3卷积窗口重排聚合为27的并行像素),PE计算效率提升为27/32,极大提升加速器吞吐量。

接下来给出一种简化的通道聚合硬件实现方案。该方案以较小的资源消耗和代价,数据调度架构和控制和其他层处理复用相同逻辑,只是针对第一层特征图做一些预处理,即可完成通道融合处理。

三 多算子融合

待补充

相关推荐
飞哥数智坊5 分钟前
MiniMax 是谁?为什么 M2 一出,大家又沸腾了?
人工智能
leafff1236 分钟前
AI研究:轻量模型和专用模型在算力优化上的差异对游戏制作的效率和质量有何影响?
人工智能·游戏
吃鱼不卡次26 分钟前
RT-DETR解码模块(Decoder)
人工智能·深度学习·cross attention·rt-detr·匈牙利匹配·self attention·对比去噪训练
zhan11451426 分钟前
解析平面卷积/pytorch的nn.Conv2d的计算步骤,in_channels与out_channels如何计算而来
人工智能·pytorch·深度学习·cnn·卷积神经网络
Juchecar27 分钟前
假设人类能用光波沟通……
人工智能
K姐研究社28 分钟前
AipexBase怎么用?AI 原生BaaS平台一句话做后端开发
人工智能
IT_陈寒29 分钟前
SpringBoot 3.2新特性实战:这5个隐藏功能让开发效率翻倍🚀
前端·人工智能·后端
IT_陈寒36 分钟前
Vue3性能优化实战:这5个技巧让我的应用加载速度提升70% 🚀
前端·人工智能·后端
Mr.Winter`1 小时前
自动驾驶运动规划 | 基于自行车模型的运动学模型和横向动力学模型详细推导图解
人工智能·机器人·自动驾驶·ros
唯道行1 小时前
计算机图形学·6 OpenGL编程3 谢尔宾斯基垫与三维编程
人工智能·算法·计算机视觉·计算机图形学·三维·谢尔宾斯基垫