说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202211177784.6 (22)申请日 2022.09.27 (65)同一申请的已公布的文献号 申请公布号 CN 115269204 A (43)申请公布日 2022.11.01 (73)专利权人 之江实验室 地址 311121 浙江省杭州市余杭区之江实 验室南湖总部 (72)发明人 王宏升 陈光 曾令仿  (74)专利代理 机构 北京志霖恒远知识产权代理 有限公司 1 1435 专利代理师 戴莉 (51)Int.Cl. G06F 9/50(2006.01) G06N 3/08(2006.01)(56)对比文件 CN 114186687 A,202 2.02.17 CN 114936099 A,2022.08.23 CN 110955529 A,2020.04.0 3 WO 2022002021 A1,202 2.01.06 WO 2022178660 A1,202 2.09.01 CN 114358267 A,202 2.04.15 CN 112199190 A,2021.01.08 WO 20210 56389 A1,2021.04.01 CN 114186687 A,202 2.03.15 任坤等.基 于改进图染色算法的ASIP寄存器 分配器. 《浙江大 学学报(工学版)》 .2010,(第12 期), 马玮良等.深度学习中的内存管理问题研究 综述. 《大 数据》 .2020,(第04期), 审查员 荆苏丹 (54)发明名称 一种用于神经网络编译的内存优化方法及 装置 (57)摘要 本发明公开了一种用于神经网络编译的内 存优化方法和装置, 包括如下步骤: 步骤1、 将神 经网络编译为用于神经网络计算的计算图; 步骤 2、 将计算图转换为拓 扑图; 步骤3、 构建关于计算 图包含变量生命周期的区间图; 步骤4、 分析关于 计算图节点包含张量变量互相之间的生命周期 的关系; 本发 明提供了一种面向神经网络编译生 成的计算图中数据流的内存分配的优化方法, 解 决了深度学习操作系统在编译阶段为运行时流 过计算图中各节点的张量变量预分配内存的问 题。 本发明提供了一种计算图各节 点包含的张量 变量之间生命周期关系的分析方法, 并通过分析 张量变量的生命周期关系提供了一种为计算图 节点包含张量变量分配内存的优化方法。 权利要求书2页 说明书8页 附图10页 CN 115269204 B 2022.12.30 CN 115269204 B 1.一种用于神经网络编译的内存 优化方法, 其特 征在于: 包括如下步骤: 步骤1、 将神经网络编译为用于神经网络计算的计算图; 步骤2、 将计算图转换为拓扑图; 步骤3、 构建 关于计算图包 含变量生命周期的区间图; 步骤4、 分析关于计算图节点包 含张量变量互相之间的生命周期的关系, 具体如下: 步骤4.1、 将关于计算图节点包含的张量变量互相之间的生命周期存在重叠关系的张 量变量采用实线互相连接, 采用实线连接表示这些张量变量的生命周期存在互相冲突的关 系, 对于存在冲突关系的张量变量, 将其分别分配到不同的寄存器中; 步骤4.2、 将关于计算图节点包含的张量变量互相之间的生命周期存在互不重叠关系, 且存在赋值关系的张量变量采用虚线互相连接, 采用虚线互相连接表示这些张量变量的生 命周期互相不冲突, 并且存在赋值关系, 将采用虚线互相连接的两个张量变量进 行合并, 并 且分配到相同的寄存器中; 步骤4.3、 将关于计算图节点包含的张量变量互相之间的生命周期互不重叠的张量变 量不连边, 两个张量变量不连边表示两个张量变量的生命周期互不重叠, 其生命周期也不 存在冲突关系, 对于不连边的张量变量可分配到相同的寄存器中, 允许张量变量复用同一 个寄存器; 步骤5、 将关于计算图节点包 含张量变量之间生命周期存在虚边的张量变量进行合并; 步骤6、 迭代地将超出空闲寄存器数量的未分配寄存器的张量变量缓存到 内存中, 并根 据所述步骤5进行合并, 直至所有超出空闲寄存器数量的未分配寄存器的张量变量全部缓 存到内存中, 进入下一 步骤; 步骤7、 将计算图所包含张量变量生命周期关系图中度小于寄存器数量的节点缓存栈 中; 步骤8、 将空闲寄存器分配给所述生命周期关系图中保留节点中所包含的未分配寄存 器的张量变量; 步骤9、 迭代地 为栈中的节点所包 含张量变量分配寄存器。 2.如权利要求1所述的一种用于神经网络编译的内存优化方法, 其特征在于: 所述步骤 2具体为: 先将 计算图的子图按照后序顺序进行排序, 再将后序所得的子图序列进 行逆序排 序。 3.如权利要求1所述的一种用于神经网络编译的内存优化方法, 其特征在于: 所述步骤 6的具体子步骤如下: 步骤6.1、 分析缓存到内存中的张量变量的生命周期; 步骤6.2、 更新缓存张量变量之后计算图节点包 含张量变量 生命周期的关系图; 步骤6.3、 将关于计算图节点包含张量变量之间生命周期存在虚边的张量变量进行合 并; 步骤6.4、 根据上述步骤6.1至步骤6.3, 依次将所有超出空闲寄存器数量的未分配寄存 器的张量变量全部缓存到内存中。 4.如权利要求3所述的一种用于神经网络编译的内存优化方法, 其特征在于: 所述步骤 6.2具体子步骤如下: 步骤6.2.1、 将关于计算图节点包含张量变量之间生命周期的关系图中的超出空闲寄权 利 要 求 书 1/2 页 2 CN 115269204 B 2存器数量的未分配寄存器的张量变量的节点删除, 然后将与所述节点的连边 也同时删除; 步骤6.2.2、 利用包 含缓存张量变量的节点更新 生命周期的关系图。 5.如权利要求1所述的一种用于神经网络编译的内存优化方法, 其特征在于: 所述步骤 7具体为: 依次将所述生命周期关系图中度小于寄存器数量的节点转移到栈中, 直至只剩余 与空闲寄存器数量相等数量的包 含张量变量的节点。 6.如权利要求1所述的一种用于神经网络编译的内存优化方法, 其特征在于: 所述步骤 9具体为: 迭代地为缓存节点的栈中所包含的张量变量分配一个与所在所述生命周期的关 系图中相 邻节点不同的寄存器; 所述为栈中缓存节点包含变量分配寄存器的顺序是按照栈 中节点的出栈顺序依次进行张量变量的寄存器分配过程。 7.一种用于神经网络编译的内存优化装置, 其特征在于: 所述装置包括存储器和一个 或多个处理器, 所述存储器中存储有可执行代码, 所述一个或多个处理器执行所述可执行 代码时, 用于实现权利要求1 ‑6任一项所述用于神经网络编译的内存 优化方法。权 利 要 求 书 2/2 页 3 CN 115269204 B 3

.PDF文档 专利 一种用于神经网络编译的内存优化方法及装置

文档预览
中文文档 21 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共21页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种用于神经网络编译的内存优化方法及装置 第 1 页 专利 一种用于神经网络编译的内存优化方法及装置 第 2 页 专利 一种用于神经网络编译的内存优化方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:10:15上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。