(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210835894.0
(22)申请日 2022.07.15
(71)申请人 浙江大华 技术股份有限公司
地址 310053 浙江省杭州市滨江区滨安路
1187号
(72)发明人 庄宇
(74)专利代理 机构 北京同达信恒知识产权代理
有限公司 1 1291
专利代理师 张洁
(51)Int.Cl.
G06F 9/50(2006.01)
G06F 12/02(2006.01)
G06N 3/02(2006.01)
G06N 5/04(2006.01)
(54)发明名称
一种静态内存分配方法、 装置、 设备及 介质
(57)摘要
本申请涉及数据存储技术领域, 具体涉及一
种静态内存分配方法、 装置、 设备及介质, 用于提
高内存资源的使用率。 该方法包括: 获取目标模
型的多个张量, 确定每个张量占用内存的时间信
息和空间大小; 将多个张量按预设指标进行排
序, 并按预设规则为多个张量分配首地址偏移;
若存在任一张量的尾地址偏移大于理论阈值, 则
调整多个张量的排序, 并按预设规则重新为多个
张量分配首地址偏移; 每个张量的尾地址偏移为
每个张量的首地址偏移和空间大小之和, 理论阈
值为每个时刻对应的张量占用内存的空间大小
之和的最大值; 直到多个张量满足多个调优目标
中的任意一个目标, 根据每个张量的首地址偏移
和尾地址偏移, 确定 每个张量的内存地址 。
权利要求书2页 说明书16页 附图5页
CN 115269179 A
2022.11.01
CN 115269179 A
1.一种静态内存分配方法, 其特 征在于, 包括:
获取目标模型的多个张量, 确定每 个张量占用内存的时间信息和空间大小;
将所述多个张量按预设指标进行排序, 并按预设规则为所述多个张量分配首地址偏
移; 其中, 所述首地址偏移表示每个张量的首地址与内存池的首地址之间的偏移, 所述预设
规则包括时间信息重叠的张量的内存地址不重叠、 内存地址重叠的张量的时间信息不重
叠, 每个张量的内存地址是根据每 个张量的首地址偏移和空间大小确定的;
若存在任一张量的尾地址偏移大于理论阈值, 则调整所述多个张量的排序, 并按所述
预设规则重新为所述多个张量分配首地址偏移; 其中, 每个张量的尾地址偏移为每个张量
的首地址偏移和空间大小之和, 所述理论阈值为每个时刻 对应的张量占用内存的空间大小
之和的最大值;
直到所述多个张量满足多个调优目标中的任意一个目标, 根据每个张量的首地址偏移
和尾地址偏移, 确定每 个张量的内存地址 。
2.如权利要求1所述的方法, 其特征在于, 将所述多个张量按预设指标进行排序, 并按
预设规则为所述多个张量分配首地址偏移, 包括:
生成多个内存操作对应的多个内存矩形; 其中, 所述多个内存操作表示所述多个张量
占用内存的操作, 每个内存矩形 的长表示每个内存操作的时间长度, 每个内存矩形 的宽表
示每个内存操作的空间大小;
将所述多个内存矩形按预设指标进行排序, 并按预设规则排布在所述内存池对应的内
存容器中; 其中, 所述内存池的首地址对应所述内存容器的底部, 每个内存矩形与所述底部
的距离最小值 为每个张量的首地址偏移。
3.如权利要求2所述的方法, 其特征在于, 若存在任一张量的尾地址偏移大于理论阈
值, 则调整 所述多个张量的排序, 并按 所述预设规则重新为所述多个张量分配首地址偏移,
包括:
若目标矩形的宽超过理论阈值, 调整所述多个内存矩形的排序, 并按所述预设规则重
新排布在所述内存容器中; 其中, 所述目标矩形为包含排列后的多个内存矩形的最小矩形,
所述目标矩形的宽表示所述多个张量的尾地址偏移中的最大值。
4.如权利要求3所述的方法, 其特征在于, 在直到所述多个张量满足多个调优目标中的
任意一个目标之后, 所述方法还 包括:
根据每个 内存矩形在所述内存容器中的位置, 确定每个张量的首地址偏移和尾地址偏
移。
5.如权利要求3所述的方法, 其特 征在于, 调整所述多个内存矩形的排序, 包括:
对所述多个内存矩形进行分类, 获得高风险内存矩形、 中风险内存矩形、 低 风险内存矩
形和无风险内存矩形; 其中, 所述高风险内存矩形包括尾地址偏移大于所述理论阈值的第
一张量对应的第一内存矩形、 与所述第一内存矩形存在时间重叠的第二内存矩形, 所述中
风险内存矩形包括尾地址偏移等于所述理论阈值的第二张量对应的第三内存矩形、 与所述
第三内存矩形存在时间重叠的第四内存矩形, 所述低风险内存矩形包括与所述高风险内存
矩形和所述中风险内存矩形存在时间重叠的内存矩形, 所述无风险内存矩形包括所述多个
内存矩形中除所述高风险内存矩形、 所述中风险内存矩形和所述低风险内存矩形之外的内
存矩形;权 利 要 求 书 1/2 页
2
CN 115269179 A
2分别调整所述高风险内存矩形的排序和所述中风险内存矩形的排序;
依次合并调整后的高风险内存矩形、 调整后的中风险内存矩形、 所述低风险内存矩形
和所述无风险内存矩形。
6.如权利要求5所述的方法, 其特征在于, 分别调整所述高风险内存矩形的排序和所述
中风险内存矩形的排序, 包括:
根据时间重叠长度, 将所述高风险内存矩形划分为多个组, 以及将所述低风险内存矩
形划分为多个组;
将每个组 的内存矩形按所述预设指标进行排序, 并按所述预设规则排布在所述内存容
器中;
若所述目标矩形的宽超过所述理论阈值, 则调整每个组的内存矩形的排序, 并按所述
预设规则重新 排布在所述内存容器中;
直到每个组的内存矩形满足多个调优目标中的任意一个目标, 依次导出调 整排序后的
每个组的内存矩形, 获得调整后的高风险内存矩形和调整后的中风险内存矩形。
7.如权利要求2 ‑6任一项所述的方法, 其特征在于, 所述预设指标包括内存矩形的长、
内存矩形的宽、 内存矩形之间的时间重 叠长度中的至少一个指标。
8.如权利要求1 ‑6任一项所述的方法, 其特征在于, 所述多个调优目标包括不存在任一
张量的尾地址偏移大于所述理论阈值、 出现相同的排序结果、 调整次数大于或等于预设次
数。
9.一种静态内存分配装置, 其特 征在于, 包括:
获取模块, 用于获取目标模型的多个张量, 确定每个张量占用内存的时间信息和 空间
大小;
分配模块, 用于将所述多个张量按预设指标进行排序, 并按预设规则为所述多个张量
分配首地址偏移; 其中, 所述首地址偏移表示每个张量的首地址与内存池的首地址之间的
偏移, 所述预设规则包括时间信息重叠的张量的内存地址不重叠、 内存地址重叠的张量的
时间信息不重 叠, 每个张量的内存地址是根据每 个张量的首地址偏移和空间大小确定的;
所述分配模块, 还用于若存在任一张量的尾地址偏移大于理论阈值, 则调整所述多个
张量的排序, 并按 所述预设规则重新为所述多个张量分配首地址偏移; 其中, 每个张量的尾
地址偏移为每个张量的首地址偏移和空间大小之和, 所述理论阈值为每个时刻 对应的张量
占用内存的空间大小之和的最大值;
确定模块, 用于直到所述多个张量满足多个调优目标中的任意一个目标, 根据每个张
量的首地址偏移和尾地址偏移, 确定每 个张量的内存地址 。
10.一种电子设备, 其特 征在于, 包括:
存储器, 用于存 储程序指令;
处理器, 用于调用所述存储器中存储的程序指令, 按照获得的程序指令执行权利要求
1‑8中任一项所述的方法。
11.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质存储有计算机程
序, 所述计算机程序包括程序指 令, 所述程序指 令当被计算机执行时, 使 所述计算机执行如
权利要求1 ‑8中任一项所述的方法。权 利 要 求 书 2/2 页
3
CN 115269179 A
3
专利 一种静态内存分配方法、装置、设备及介质
文档预览
中文文档
24 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共24页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:29:50上传分享