全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211381782.9 (22)申请日 2022.11.07 (71)申请人 之江实验室 地址 311121 浙江省杭州市余杭区之江实 验室南湖总部 (72)发明人 潘秋红 许慧卿 毛旷 汤昭荣  杨弢 杨佳宁 叶茂伟 王颖  (74)专利代理 机构 杭州求是专利事务所有限公 司 33200 专利代理师 邱启旺 (51)Int.Cl. G06F 9/48(2006.01) G06N 3/04(2006.01) G06N 3/063(2006.01) (54)发明名称 一种面向芯粒的深度神经网络流水线并行 调度方法及装置 (57)摘要 本发明公开了一种面向芯粒的深度神经网 络流水线并行调度方法及装置, 该方法包括: 获 取深度神经网络和芯粒拓扑结构; 根据所述深度 神经网络, 构造深度神经网络计算图并对所述深 度神经网络计算图进行缩减; 根据缩减后的深度 神经网络计算图划分流水线组, 得到流水线组 图; 根据所述流水线组图和芯粒拓扑结构, 划分 流水线并行区域; 根据划分后的流水线并行区域 和所述芯粒拓扑结构确定深度神经网络流水线 并行调度策略; 按照所述深度神经网络流水线并 行调度策略, 将所述深度神经网络部署到芯粒 上, 执行深度神经网络流水线并行推理。 权利要求书3页 说明书12页 附图6页 CN 115421897 A 2022.12.02 CN 115421897 A 1.一种面向芯粒的深度神经网络流水线并行调度方法, 其特 征在于, 包括: 步骤 (1) : 获取深度神经网络和芯粒拓扑 结构; 步骤 (2) : 根据 所述深度神经网络, 构造深度神经网络计算图并对所述深度神经网络计 算图进行缩 减; 步骤 (3) : 根据缩 减后的深度神经网络计算图划分流水线组, 得到流水线组图; 步骤 (4) : 根据所述 流水线组图和芯粒拓扑 结构, 划分流水线并行区域; 步骤 (5) : 根据划分后的流水线并行区域和所述芯粒拓扑结构确定深度神经网络流水 线并行调度策略; 步骤 (6) : 按照所述深度神经网络流水线并行调度策略, 将所述深度神经网络部署到芯 粒上, 执行深度神经网络流水线并行推理。 2.根据权利要求1所述的方法, 其特 征在于, 所述 步骤 (2) 包括: (2.1) 对所述深度神经网络进行控制流分析, 创建深度神经网络计算 图G, 其中所述深 度神经网络计算图G由结点集合V和有向边集合E组成, G中每个结点v代表 一个算子, 每条有 向边e代表结点间的数据依赖关系, G中每个结点v包含3个属性[入度,  出度, 计算量], 其 中入度表示计算图G中输出为当前算子输入的算子数量, 出度 表示计算图G中输入为当前算 子输出的算子数量, 计算量表示当前算子所需的计算次数, G中每条边e包含3个属性[起点,   终点, 权重], 其中权 重表示当前边 起点算子输出元素的数据量大小; (2.2) 遍历计算图G中的结点, 对于每个入度和出度均为1的结点vi, 对其后继结点vj进 行判断, 如果vj的入度和出度也均为1, 则将vi和vj合并为一个结点wi, 其中wi的计算量为vi 与vj的计算量的和; (2.3) 递归遍历计算图G, 直到没有可以合并的结点, 得到缩 减后的神经网络计算图G ’。 3.根据权利要求1所述的方法, 其特 征在于, 所述 步骤 (3) 包括: (3.1) 划分流水线组集合P, 将缩减后的神经网络计算图G ’中处于同一深度且无数据依 赖关系的算子划分到同一个流水线组p中, p的计算量是该流水线组内所有结点计算量的累 加和; (3.2) 将G ’中边的起 点和终点增 加到所在流水线组的属性中; (3.3) 对G ’中的边进行缩减, 得到流水线组图S, S由流水线组集合P和有向边集合ES组 成, S中每个结点p代表一个流水线组, 每个流水线组中包含一个结点集合VS, 每条有向边es 代表流水线组间的数据依赖关系及需要传输的数据量。 4.根据权利要求3所述的方法, 其特 征在于, 步骤 (3.3) 包括: (3.3.1) 对于起点是同一个结点、 终点是同一个流水线组中不同结点的多条边, 只保留 遍历到的第一条边; (3.3.2) 递归执行 (3.3.1) , 直到G ’中不存在同一结点到同一个流水线组中不同结点的 多条边; (3.3.3) 对流水线组间的边进行合并, 合并后的边起点和终点分别是流水线组的名称, 权重是合并前 所有边的累加 和。 5.根据权利要求1所述的方法, 其特 征在于, 所述 步骤 (4) 包括: (4.1) 获取流水线组图S和所述芯粒拓扑 结构中的子芯粒 数量M; (4.2) 根据所述 流水线组图S和子芯粒 数量M, 计算S在M个子芯粒 上的预期开销t0;权 利 要 求 书 1/3 页 2 CN 115421897 A 2(4.3) 取S中权 重最小的边esi; (4.4) 通过esi将S分成两个流水线组图S1和S2, 并根据S1和S2的计算量将M个子芯粒分成 M1和M2两部分, 如果当前esi划分出的两个子图中存在计算量小于S总计算量1/M的情况时, 返回步骤 (4.3) , 取S中按照从小到大的顺序esi之后权重最小的边; (4.5) 采用与步骤 (4.2) 相同的计算方法, 计算S1在M1个子芯粒上的预期开销t1以及S2在 M2个子芯粒 上的预期开销t2; (4.6) 计算从S1到S2的预期数据传输开销t3; (4.7) 对比t0与t1+t2+t3 的大小; (4.8) 如果t0 > t1+t2+t3 且当前划分的区域数小于芯粒中的总子芯粒数, 则对于流水 线组图S1+子芯粒数量M1和流水线组图S2和子芯粒数量M2递归调用步骤 (4.1) ‑(4.7) , 否则 执行步骤 (4.9) ; (4.9) 若t0 <= t1+t2+t3 或当前划分的区域数不小于芯粒中的总子芯粒数, 则获得流水 线并行区域划分结果, 划分结果包括深度神经网络的流水线并行区域划分、 不同区域间的 数据依赖关系以及每 个区域需要占用的子芯粒个数。 6.根据权利要求1所述的方法, 其特 征在于, 步骤 (4.2) 包括: (4.2.1) 获取S的数据量d, 所述数据量d是S内每条边的权 重和; (4.4.2) 获取一个子芯粒内包含 的嵌入式神经网络处理器数量N和 嵌入式神经网络处 理器上脉冲阵列的大小w*w; (4.2.3) 根据子芯粒数量M、 数据 量d和嵌入式神经网络处理器数量N, 计算S的数据传输 开销C= ; (4.2.4) 计算S中单算子v的计算开销dv: 对于每个流水线组中按照各个算子的计算量划 分可用的子 芯粒数量, 分别计算S中每个算子v的计算开销: 算子v分配到每个嵌入式神经网 络处理器上的计算量m*k*n; 若m>w 或n>w, 则通过加总分配到每个嵌入式神经网络处理器上 的计算量m*k*n与脉冲阵列尺寸w*w的比例和2倍的一维脉冲拍数w ‑1, 得到单算子v的计算 开销dv; 若m<w且n<w, 则通过加总每一维的计算 量再减去1, 得到单算子v的计算 开销dv; (4.2.5) 计算S的数据计算开销D: 对于S中每个流水线 组p, 其中每个算子计算开销的最 大值为该流水线组的计算 开销, S中所有流水线组的计算 开销的和是S的数据计算 开销D; (4.2.6) 将S的数据传输开销C加上S的数据计算开销D, 得到计算流水线 组图S在子芯粒 集合上的预期开销。 7.根据权利要求1所述的方法, 其特 征在于, 所述 步骤 (5) 为: 按照所述流水线 并行区域间的数据依赖关系, 按行在 芯粒拓扑结构上部署所述流水线 并行区域, 当前 行剩余子芯粒 数无法满足分配需求时, 折叠 到下一行按反方向继续分配。 8.一种面向芯粒的深度神经网络流水线并行调度方法, 其特 征在于, 包括: 获取模块, 用于获取深度神经网络和芯粒拓扑 结构; 构造模块, 用于根据所述深度神经网络, 构造深度神经网络计算图并对所述深度神经 网络计算图进行缩 减; 第一划分模块, 用于根据缩减后的深度神经网络计算图划分流水线组, 得到流水线组 图;权 利 要 求 书 2/3 页 3 CN 115421897 A 3

PDF文档 专利 一种面向芯粒的深度神经网络流水线并行调度方法及装置

文档预览
中文文档 22 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种面向芯粒的深度神经网络流水线并行调度方法及装置 第 1 页 专利 一种面向芯粒的深度神经网络流水线并行调度方法及装置 第 2 页 专利 一种面向芯粒的深度神经网络流水线并行调度方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:58:00上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。