(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211317604.X
(22)申请日 2022.10.26
(71)申请人 上海燧原科技有限公司
地址 201306 上海市浦东 新区中国 (上海)
自由贸易试验区临港新片区业盛路
188号A-522室
(72)发明人 李星星 解易 刘宝琦
(74)专利代理 机构 北京品源专利代理有限公司
11332
专利代理师 初春
(51)Int.Cl.
G06F 9/50(2006.01)
G06N 3/04(2006.01)
G06N 3/08(2006.01)
G06N 5/04(2006.01)
(54)发明名称
一种推理卡的内存分配方法、 装置、 电子设
备及存储介质
(57)摘要
本发明实施例公开了一种推理卡的内存分
配方法、 装置、 电子设备及存储介质。 该方法包
括: 获取推理卡中待进行计算的目标算子集, 确
定目标算子集对应的目标内存分配字典; 目标内
存分配字典包括: 各算子的内存请求大小、 内存
请求时长、 以及内存请求开始时间; 根据目标内
存分配字典以及与 目标算子集对应的当前内存
分配结果, 确定下一内存分配结果对应的目标内
存占用上下界; 根据目标内存占用上下界, 对目
标算子集中的算子进行推理卡内存分配, 并循环
上述确定目标内存占用上下界进行内存分配的
步骤, 直至目标算子集中各算子均已内存分配。
通过目标内存分配字典, 提高了内存分配处理操
作便捷性; 且考虑内存占用上下界进行内存分
配, 优化了内存分配 机制。
权利要求书3页 说明书15页 附图9页
CN 115495248 A
2022.12.20
CN 115495248 A
1.一种推理卡的内存分配方法, 其特 征在于, 包括:
获取所述推理卡中待进行计算的目标算子集, 并确定与 所述目标算子集对应的目标内
存分配字典; 其中, 所述目标内存分配字典包括: 所述目标算子集中各算子的内存请求大
小、 内存请求时长、 以及内存请求 开始时间;
根据所述目标内存分配字典以及与 所述目标算子集对应的当前内存分配结果, 确定下
一内存分配结果对应的目标内存占用上 下界;
根据所述目标内存占用上下界, 对所述目标算子集中的算子进行推理卡内存分配, 并
返回根据所述目标内存分配字典以及与所述目标算子集对应的当前内存分配结果, 确定下
一内存分配结果对应的目标内存占用上下界步骤, 直至所述目标算子集中的各算子均已进
行内存分配。
2.根据权利要求1所述的方法, 其特征在于, 确定与所述目标算子集对应的目标内存分
配字典, 包括:
根据所述目标算子集中各算子对应的内存请求时长、 以及各算子之间的数据依赖关
系, 确定所述目标算子集中各算子的内存请求 开始时间;
根据各所述内存请求开始时间、 各算子对应的内存请求大小以及内存请求时长, 确定
所述目标算子集的目标内存分配字典。
3.根据权利要求1所述的方法, 其特征在于, 根据 所述目标内存分配字典以及与所述目
标算子集对应的当前内存分配结果, 确定下一内存分配结果对应的目标内存占用上下界,
包括:
根据所述当前内存分配结果, 确定与所述当前内存分配结果对应的当前内存占用上下
界;
根据所述目标内存分配字典, 确定对所述目标算子集中未进行内存分配的算子进行内
存分配时, 所需的预估内存占用上 下界;
根据所述当前内存占用上下界以及所述预估内存占用上下界, 确定下一内存分配结果
对应的目标内存占用上 下界。
4.根据权利要求3所述的方法, 其特征在于, 根据所述目标内存占用上下界, 对所述目
标算子集中的算子进 行推理卡内存分配, 并返回根据所述目标内存分配字典以及与所述目
标算子集对应的当前内存分配结果, 确定下一内存分配结果对应的目标内存占用上下界步
骤, 直至所述目标算子集中的各算子均已进行内存分配, 包括:
在所述下一内存分配结果中, 检测到第 一目标内存分配结果的第 一目标内存占用下界
大于第二目标内存分配结果的第二目标内存占用上界时, 删除所述第一目标内存分配结
果;
根据目标内存上界, 在剩余的所述下一内存分配结果中选取备选内存分配结果, 并将
所述备选内存分配结果更新 为当前内存分配结果;
如果所述当前内存分配结果中所述目标算子集中存在未进行内存分配的算子, 则根据
所述当前内存分配结果, 依次针对所述目标算子集中未分配的算子更新生成下一内存分配
结果, 并返回根据所述目标内存分配字典以及与所述目标算子集对应的当前内存分配结
果, 确定下一内存分配结果对应的目标内存占用上下界步骤, 直至所述 目标算子集中的各
算子均已进行内存分配;权 利 要 求 书 1/3 页
2
CN 115495248 A
2如果所述当前内存分配结果中所述目标算子集中的各算子均已进行内存分配, 则确定
所述当前内存分配结果是否满足预设内存占用条件;
若否, 则返回根据目标内存上界, 在剩余的所述下一内存分配结果中选取备选内存分
配结果, 并将所述备选内存分配结果更新为当前内存分配结果步骤, 直至所述当前内存分
配结果满足预设内存占用条件;
若是, 则将所述当前内存分配结果作为推理卡的最终分配结果。
5.根据权利要求4所述的方法, 其特征在于, 根据目标内存上界, 在剩余的所述下一内
存分配结果中选取备选内存分配结果, 并将所述备选内存分配结果更新为当前内存分配结
果, 包括:
根据目标内存上界的升序顺序, 对剩余的所述下一内存分配结果进行排序;
将当前排在首位的下一内存分配结果选取为备选 内存分配结果, 并将所述备选内存分
配结果更新 为当前内存分配结果。
6.根据权利要求1所述的方法, 其特征在于, 在根据 所述目标内存分配字典以及与 所述
目标算子集对应的当前内存分配结果, 确定下一内存分配结果对应的目标内存占用上下界
之前, 还包括:
根据所述目标内存分配字典, 当检测到所述目标算子集中任意两个算子在内存请求 时
间上存在重 叠, 则在所述两个算子之间构建连通子图边线;
根据各所述连通子 图边线, 生成与所述目标算子集对应的连通子 图; 并根据所述连通
子图, 将所述目标算子集拆分为 一个或多个目标算子 子集。
7.根据权利要求1所述的方法, 其特征在于, 获取所述推理卡中待进行计算的目标算子
集, 并确定与所述目标算子集对应的目标内存分配字典, 包括:
目标内存分配字典如果所述目标算子集包括存储在推理卡高速缓存区的中间表示IR
算子, 则提取所述目标算子集中的全部I R算子, 生 成目标IR算子集; 并在所述目标算子集中
剔除全部IR算子;
确定与所述目标IR算子集对应的IR算子内存分配字典; 所述IR算子内存分配字典包
括: 所述目标IR算子集中各IR算子的内存请求大小、 内存请求时长、 以及内存请求开始时
间;
根据所述IR算子内存分配字典中的IR算子的内存请求大小、 以及内存请求时长, 确定
所述目标IR算子集中各IR算子的内存分配顺序;
按照所述内存分配顺序, 对所述目标IR算子集中各IR算子进行垂直向下搜索匹配的最
小地址, 作为所述目标IR算子集的IR算子内存分配结果;
根据所述 IR算子内存分配结果, 确定与所述目标算子集对应的目标内存分配字典。
8.一种推理卡的内存分配装置, 其特 征在于, 包括:
目标内存分配字典确定模块, 用于获取所述推理卡中待进行计算的目标算子集, 并确
定与所述目标算子集对应的目标内存分配字典; 其中, 所述目标内存分配字典包括: 所述目
标算子集中各算子的内存请求大小、 内存请求时长、 以及内存请求 开始时间;
目标内存占用上下界确定模块, 用于根据 所述目标内存分配字典以及与所述目标算子
集对应的当前内存分配结果, 确定下一内存分配结果对应的目标内存占用上 下界;
内存分配模块, 用于根据所述目标内存占用上下界, 对所述目标算子集中的算子进行权 利 要 求 书 2/3 页
3
CN 115495248 A
3
专利 一种推理卡的内存分配方法、装置、电子设备及存储介质
文档预览
中文文档
28 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共28页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:24:13上传分享