行业标准网
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210357298.6 (22)申请日 2022.04.02 (71)申请人 上海壁仞智能科技有限公司 地址 201100 上海市闵行区陈行公路238 8 号16幢13层13 02室 (72)发明人 不公告发明人   (74)专利代理 机构 北京市柳沈 律师事务所 11105 专利代理师 彭久云 (51)Int.Cl. G06F 9/52(2006.01) G06F 9/50(2006.01) (54)发明名称 同步资源的使用方法 (57)摘要 本发明提供一种同步资源的使用方法, 用于 并行的多个线 程束, 包括: 解析这些线程束, 以获 得每个线程束所包括的与同步资源相关的所有 指令, 每个指令具有同步资源标识符; 根据每个 指令的指令类别, 划分每个线程束中所包括的所 有指令而获得一或多个顶点, 各顶 点包括至少一 个指令, 所述指令类别包括消费者指令和生产者 指令; 建立所述线程束中所包括的所有顶点之间 的路径, 以获得第一有向无环图; 删除第一有向 无环图内的多个顶点之间冗余的弧, 以获得第二 有向无环图; 对第二有向无环图所包括的所有顶 点使用的同步资源进行分组, 以获得第三有向无 环图; 建立第一有向无环图中的所有顶点的拓扑 排序序列; 以及基于拓扑排序序列以及第三有向 无环图, 将逻辑同步资源映射至物理同步资源。 权利要求书2页 说明书9页 附图8页 CN 114896077 A 2022.08.12 CN 114896077 A 1.一种同步资源的使用方法, 用于并行的多个线程束, 其特 征在于, 包括: 解析所述多个线程束, 以获得每一所述线程束所包括的与同步资源相关的所有指令; 根据每一所述指令的指令类别, 划分每一所述线程束中所包括的所述所有指令而获得 一或多个顶点; 建立所述多个线程束中所包括的所有顶点之间的路径, 以获得第一有向无环图; 删除所述第 一有向无环图内多个顶点之间冗余的弧, 以获得第二有向无环图, 其中, 所 述弧用以连接所述所有顶点中的两个所述顶点, 每条所述路径为一条或多条所述弧的集 合; 对所述第二有向无环图所包括的所有顶点使用的同步资源进行分组, 以获得第 三有向 无环图; 建立所述第一有向无环图中的所述所有顶点的拓扑排序 序列; 以及 基于所述拓扑排序序列以及所述第 三有向无环图, 将逻辑同步资源映射至物 理同步资 源。 2.根据权利要求1所述的同步资源的使用方法, 其特征在于, 每一所述指令具有同步资 源标识符, 每一所述顶点包括至少一个指令, 所述指令类别包括消费者指令和生产者指令; 建立所述多个线程束中所包括的所有顶点之间的路径, 以获得所述第 一有向无环图的 步骤包括: 基于指令执 行顺序, 在属于同一线程束的两个顶点之间建立线程束内 弧; 以及 基于所述指令类别以及所述同步资源标识符, 在属于不同线程束的两个顶点之间建立 线程束间弧, 其中所述弧包括所述线程束内 弧以及所述线程束间弧。 3.根据权利要求2所述的同步资源的使用方法, 其特 征在于, 所述线程束内弧是用以连接属于同一线程束内的相邻的两个顶点, 且由执行顺序在前 的顶点指向执 行顺序在后的顶点; 所述线程束间弧是用以连接具有相同的同步资源标识符的属于不同线程束的两个顶 点, 且由所述 生产者指令指向所述消费者指令 。 4.根据权利要求1所述的同步资源的使用方法, 其特征在于, 每一所述顶点包括至少一 个指令, 所述指令类别包括消费者指令和生产者指令, 根据每一所述指令的指令类别, 划分每一所述线程束中所包括的所述所有指令而获得 所述顶点的步骤 包括: 在每一所述线程束中, 将自所述消费者指令开始到下一个所述消费者指令之前的所有 指令, 划分至同一个顶点。 5.根据权利要求 4所述的同步资源的使用方法, 其特 征在于, 倘若每一所述线程束中初始的指令为所述生产者指令, 将自初始的指令开始到下一个 所述消费者指令之前的所有指令, 划分至同一个顶点。 6.根据权利要求1所述的同步资源的使用方法, 其特征在于, 删除所述第 一有向无环图 内的所述多个顶点之间冗余的弧之前, 还 包括: 在所述第一有向无环图中, 判断每一条 所述弧是否为所述冗余的弧, 其中, 在所述弧的弧头和弧尾之间还存在由多条弧形成的其他路径的情况下, 判定所 述弧为所述冗余的弧。权 利 要 求 书 1/2 页 2 CN 114896077 A 27.根据权利要求6所述的同步资源的使用方法, 其特征在于, 在判定所述弧为所述冗余 的弧之后, 还 包括: 在所述冗余的弧上的所述生产者指令为第 一生产者指令, 在所述冗余的弧的弧头和弧 尾之间存在的由多条所述弧形成的其他路径上的第一条弧对应的所述生产者指令为第二 生产者指 令, 判断所述第一生产者指 令的执行顺序是否在所述第二生产者指令的执行顺序 之前; 以及 在判定所述第一生产者指令的执行顺序在所述第二生产者指令的执行顺序之前的情 况下, 在所述第一有向无环图中删除所述冗余的弧上的所述第一生产者指 令以及其对应的 消费者指令以及冗余的弧。 8.根据权利要求1所述的同步资源的使用方法, 其特征在于, 对所述第 二有向无环图所 包括的所述所有顶点使用的同步资源进行分组, 以获得 所述第三有向无环图的步骤 包括: 在所述第 二有向无环图所包括的所述所有顶点中, 将入度为0的顶点、 出度大于或等于 2的顶点所指向的顶点以及入度大于或等于2的顶点作为判断目标; 以及 把每一所述判断目标开始到下一个所述判断目标之前不包含下一个所述判断目标的 所有顶点所使用的同步资源的集 合, 抽象成所述第三有向无环图的一个顶点。 9.根据权利要求8所述的同步资源的使用方法, 其特征在于, 基于所述拓扑排序序列以 及所述第三有向无环图, 将所述逻辑同步资源映射至所述物理同步资源的步骤包括: 基于 映射规则, 依据所述拓扑排序序列, 逐一将所述第一有向无环图中的所有顶点的逻辑同步 资源映射至所述物理同步资源, 所述映射 规则包括: 所述第三有向无环图中的任一顶点重复使用所述任一顶点的前驱顶点以及所述任一 顶点回收的物理同步资源; 以及 所述第三有向无环图的不同条路径上的多个顶点之间所使用的物理同步资源为互斥 关系; 其中, 所述前驱顶点 为同条路径上位于所述任一顶点之前的顶点。 10.一种用于同步资源的电子装置, 其特 征在于, 包括: 存储器, 包括 一或多个代码段; 以及 处理器, 耦接 至所述存 储器, 且经配置执 行所述代码段以: 解析所述多个线程束, 以获得每一所述线程束所包括的与同步资源相关的所有指令; 根据每一所述指令的指令类别, 划分每一所述线程束中所包括的所述所有指令而获得 一或多个顶点; 建立所述多个线程束中所包括的所有顶点之间的路径, 以获得第一有向无环图; 删除所述第 一有向无环图内多个顶点之间冗余的弧, 以获得第二有向无环图, 其中, 所 述弧用以连接所述所有顶点中的两个所述顶点, 每条所述路径为一条或多条所述弧的集 合; 对所述第二有向无环图所包括的所有顶点使用的同步资源进行分组, 以获得第 三有向 无环图; 建立所述第一有向无环图中的所述所有顶点的拓扑排序 序列; 以及 基于所述拓扑排序序列以及所述第 三有向无环图, 将逻辑同步资源映射至物 理同步资 源。权 利 要 求 书 2/2 页 3 CN 114896077 A 3

.PDF文档 专利 同步资源的使用方法

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