(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210614686.8
(22)申请日 2022.05.30
(71)申请人 上海壁仞智能科技有限公司
地址 201114 上海市闵行区陈行公路238 8
号16幢13层13 02室
(72)发明人 不公告发明人
(74)专利代理 机构 北京路浩知识产权代理有限
公司 11002
专利代理师 谢志超
(51)Int.Cl.
G06F 9/50(2006.01)
(54)发明名称
AI计算图多后端协同计算方法及装置
(57)摘要
本发明实施例提供一种AI计算图多后端协
同计算方法及装置, 该方法包括: 对AI计算图拓
扑展开得到初始的顺序执行结构图, 每个后端单
独运行初始的顺序执行结构图得到算子在每个
后端上的运行时间; 对初始的顺序执行结构图进
行调整, 得到更新的顺序执行结构图; 对应每种
顺序执行结构图, 获取计算顺序执行结构图中的
算子的多后端的排列组合方式; 根据算子的总耗
时最小时对应的排列组合方式确定AI计算图的
算子的后端分配方案及对应的顺序执行结构。 本
发明实施例实现了将AI计算图中的算子自动分
配到多个后端进行计算, 自动使 一个AI计算图同
时利用不同的硬件执行, 发挥各个处理器的优
势, 显著提高了计算效率, 算子的后端分配方案
更加灵活实用。
权利要求书2页 说明书14页 附图7页
CN 114996008 A
2022.09.02
CN 114996008 A
1.一种AI计算图多后端协同计算方法, 其特 征在于, 包括:
对所述AI计算图进行拓扑展开, 得到初始 的顺序执行结构图, 利用多后端中的每个后
端单独运行所述初始的顺序执行结构图, 得到所述A I计算图中的算子在每个所述后端上的
运行时间; 其中, 所述顺序执行结构图包括串行子图和并行子图, 所述串 行子图包括一个算
子或至少两个串行计算的算子, 所述并行子图包括至少两个并行计算的算子;
对所述初始的顺序执 行结构图进行调整, 得到 至少一种更新的顺序执 行结构图;
对应所述初始的顺序执行结构图及所述至少一种更新的顺序执行结构图中的每种所
述顺序执行结构图, 获取计算所述 顺序执行结构图中的算子的多后端的排列组合方式;
根据所述AI计算图中的算子在每个所述后端上的运行时间获取各种排列组合方式下
计算所述顺序执行结构图中的算子的总耗时, 根据总耗时最小时对应的排列组合方式确定
所述AI计算图的算子的后端分配方案及对应的所述 顺序执行结构。
2.根据权利要求1所述的AI计算图多后端协同计算方法, 其特征在于, 所述方法还包
括:
根据预设后端选取原则确定所述总耗时最小时对应的所述排列组合方式; 其中, 所述
预设选取原则包括: 对应所述串 行子图中的算子, 选取耗时最小的后端; 对应所述并行子图
中的算子, 选取计算所述并行子图耗时最小的后端组合; 且同一后端在一个所述并行子图
中只能出现一次。
3.根据权利要求1所述的AI计算图多后端协同计算方法, 其特征在于, 所述对所述初始
的顺序执 行结构图进行调整, 得到 至少一种更新的顺序执 行结构图, 包括:
基于所述初始 的顺序执行结构图, 若将所述并行子 图中的算子进行浮动, 能够与其他
算子搭配构成新的并行子图, 则将所述并行子图中的所述算子进行所述浮动, 得到所述新
的并行子图, 形成所述至少一种更新的顺序执 行结构图。
4.根据权利要求1所述的AI计算图多后端协同计算方法, 其特征在于, 所述方法还包
括:
若所述后端实现了多个算子的融合算子, 则在所述排列组合方式中, 所述多个算子同
时选取所述后端或同时不选取 所述后端。
5.根据权利要求1所述的AI计算图多后端协同计算方法, 其特征在于, 所述方法还包
括:
响应于所述后端的融合算子和另一后端的融合算子对应所述AI计算图中的原图算子
具有交集, 获取所述后端的融合算子和另一后端的融合算子对应所述A I计算图中的原图算
子的并集, 将变化前的后端下原图算子的并集对应的子图整体替换为另一后端下原图算子
的并集对应的子图, 得到新的所述 排列组合方式。
6.根据权利要求1所述的AI计算图多后端协同计算方法, 其特征在于, 所述方法还包
括:
响应于所述后端的融合算子和另一后端的融合算子对应所述AI计算图中的原图算子
具有交集, 则通过计算所述后端的融合算子和另一后端的融合算子对应所述A I计算图中的
原图算子的并集在所述后端及所述另一后端 上的总耗时, 得到所述原图算子的并集分别 在
所述后端及所述另一后端上的耗时比较结果。
7.根据权利要求1所述的AI计算图多后端协同计算方法, 其特征在于, 所述方法还包权 利 要 求 书 1/2 页
2
CN 114996008 A
2括:
响应于处 理器支持多指令并行, 将所述处 理器的每 个计算引擎视为 一个单独的后端。
8.根据权利要求1所述的AI计算图多后端协同计算方法, 其特征在于, 所述方法还包
括:
协调不同所述后端之间通过可共 同访问的内存交互数据; 其中, 交互数据的格式为所
述多后端均能够识别和处 理的格式。
9.根据权利要求1所述的AI计算图多后端协同计算方法, 其特征在于, 所述利用多后端
中的每个后端单独运行 所述初始的顺序执 行结构图, 包括:
利用多后端中的每个后端单独运行所述初始的顺序 执行结构图, 响应于所述后端未实
现某个算子的计算, 则 利用假数据表示所述后端对于所述 算子的处 理结果。
10.根据权利要求1所述的AI计算图多后端协同计算方法, 其特征在于, 所述方法还包
括:
响应于对于同一 算子的执 行时间相同, 选择同一后端顺次执 行的方式。
11.一种AI计算图多后端协同计算装置, 其特 征在于, 包括:
初始运行模块, 用于: 对所述AI计算 图进行拓扑展开, 得到初始的顺序执行结构图, 利
用多后端中的每个后端 单独运行所述初始的顺序执行结构图, 得到所述AI计算图中的算子
在每个所述后端上的运行时间; 其中, 所述顺序执行结构图包括串 行子图和并行子图, 所述
串行子图包括一个算子或至少两个串 行计算的算子, 所述并行子图包括至少两个并行计算
的算子;
拓扑更新模块, 用于: 对所述初始的顺序 执行结构图进行调整, 得到至少一种更新的顺
序执行结构图;
排列组合模块, 用于: 对应所述初始 的顺序执行结构图及所述至少一种更新的顺序执
行结构图中的每种所述顺序执行结构图, 获取计算所述顺序执行结构图中的算子的多后端
的排列组合方式;
后端分配模块, 用于: 根据所述AI计算图中的算子在每个所述后端上的运行时间获取
各种排列组合方式下计算所述顺序执行结构图中的算子的总耗时, 根据总耗时最小时对应
的排列组合方式确定所述AI计算图的算子的后端分配方案及对应的所述 顺序执行结构。
12.一种电子设备, 包括存储器、 后端及存储在所述存储器上并可在所述后端上运行的
计算机程序, 其特征在于, 所述后端执行所述程序时实现如权利要求 1至10任一项 所述AI计
算图多后端协同计算方法的步骤。
13.一种非暂态计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 所述计算
机程序被后端 执行时实现如权利要求 1至10任一项 所述AI计算图多后端协同计算方法的步
骤。
14.一种计算机程序产品, 包括计算机程序, 其特征在于, 所述计算机程序被后端执行
时实现如权利要求1至10任一项所述AI计算图多后端协同计算方法的步骤。权 利 要 求 书 2/2 页
3
CN 114996008 A
3
专利 AI计算图多后端协同计算方法及装置
文档预览
中文文档
24 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共24页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:25:18上传分享