System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及人工智能,尤其涉及一种同步资源分配方法、设备、存储介质及程序产品。
技术介绍
1、人工智能模型通常指被训练用来进行推理预测的神经网络模型,例如图像推理模型、语音推理模型等。人工智能模型的运算可以由计算图(computation graph)中的算子(operator)来实现。算子指的是对人工智能模型中各层的张量所做的各种运算,例如人工智能模型的卷积层对人工智能模型的输入数据所做的卷积运算即为卷积算子。
2、在算子执行过程中,用于执行算子的多个线程之间需要进行同步以保证数据的产生和消费在正确的时序上,所以物理同步资源于此之中显得尤为重要。但是,物理同步资源的数量是有限的,并不能无限使用,因此,在算子编译阶段,需要对算子进行物理同步资源分配。
3、然而,当算子的核函数过大时,核函数中的同步点相应过多,因此经常出现物理同步资源不足的情况,从而导致同步资源分配耗时较长,进而影响算子编译和执行的效率。
技术实现思路
1、本申请实施例提供了一种同步资源分配方法、设备、存储介质及程序产品,用于降低同步资源分配耗时,进而提高算子编译和执行的效率。
2、一方面,本申请实施例提供了一种同步资源分配方法,包括:
3、按照算子的核函数中的强同步指令,将所述核函数拆分成多个指令片段;
4、针对所述多个指令片段,分别执行以下操作:
5、构建一个指令片段对应的有向无环子图;
6、按照所述一个指令片段对应的有向无环
7、一方面,本申请实施例提供了一种同步资源分配装置,包括:
8、拆分模块,用于按照算子的核函数中的强同步指令,将所述核函数拆分成多个指令片段;
9、处理模块,用于针对所述多个指令片段,分别执行以下操作:
10、构建一个指令片段对应的有向无环子图;
11、按照所述一个指令片段对应的有向无环子图,为所述一个指令片段分配物理同步资源。
12、可选地,所述强同步指令关联一个强同步标识,所述强同步标识用于表征执行所述核函数的多个线程之间的同步点。
13、可选地,所述处理模块还用于:
14、为所述强同步标识表征的同步点分配相应的物理同步资源。
15、可选地,当执行所述核函数的多个线程,同步到所述强同步标识表征的同步点时,所述核函数中位于所述强同步指令之前的多个指令均已执行完,且已分配的物理同步资源均已回收。
16、可选地,所述处理模块具体用于:
17、遍历所述一个指令片段包含的多个逻辑同步标识,每个逻辑同步标识与所述一个指令片段中的一组数据生产指令和数据消费指令关联,所述一组数据生产指令和数据消费指令由不同线程执行,所述逻辑同步标识用于表征所述不同线程之间的同步点;
18、基于所述多个逻辑同步标识以及所述一个指令片段的执行逻辑,构建所述一个指令片段的有向无环子图。
19、可选地,所述处理模块具体用于:
20、遍历所述一个指令片段的有向无环子图,为所述多个逻辑同步标识表征的同步点依次分配相应的物理同步资源。
21、可选地,所述处理模块具体用于:
22、遍历所述一个指令片段的有向无环子图,基于总同步资源为所述多个逻辑同步标识表征的同步点依次分配相应的物理同步资源。
23、可选地,所述处理模块还用于:
24、在所述核函数中,将所述多个逻辑同步标识分别修改为相应的物理同步资源的标识信息。
25、一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述同步资源分配方法的步骤。
26、一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行上述同步资源分配方法的步骤。
27、一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机设备执行时,使所述计算机设备执行上述同步资源分配方法的步骤。
28、本申请实施例中,按照算子的核函数中的强同步指令,将核函数拆分成多个指令片段,然后为多个指令片段分别构建相应的有向无环子图,其中,构建的多个有向无环子图相互独立,互不影响。因此,按照每个指令片段的有向无环子图,为每个指令片段分配物理同步资源时,大大减少了同步点的数量,这样有效减少了出现物理同步资源不足的情况,从而降低同步资源分配的耗时,提高算子编译和执行的效率。
29、其次,本申请通过遍历每个指令片段对应的有向无环子图,为每个指令片段分配物理同步资源,相较于对整个核函数的有向无环图进行遍历分析来说,大大减少了遍历的时间复杂度,从而减少了同步资源分配的耗时。
本文档来自技高网...【技术保护点】
1.一种同步资源分配方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述强同步指令关联一个强同步标识,所述强同步标识用于表征执行所述核函数的多个线程之间的同步点。
3.如权利要求2所述的方法,其特征在于,还包括:
4.如权利要求2所述的方法,其特征在于,还包括:
5.如权利要求1所述的方法,其特征在于,所述构建一个指令片段对应的有向无环子图,包括:
6.如权利要求5所述的方法,其特征在于,所述按照所述一个指令片段对应的有向无环子图,为所述一个指令片段分配物理同步资源,包括:
7.如权利要求6所述的方法,其特征在于,所述遍历所述一个指令片段对应的有向无环子图,为所述多个逻辑同步标识表征的同步点依次分配相应的物理同步资源,包括:
8.如权利要求6所述的方法,其特征在于,还包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~8任一项所述方法的步骤。
10.一种计
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机设备执行时,使所述计算机设备执行如权利要求1-8任一项所述方法的步骤。
...【技术特征摘要】
1.一种同步资源分配方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述强同步指令关联一个强同步标识,所述强同步标识用于表征执行所述核函数的多个线程之间的同步点。
3.如权利要求2所述的方法,其特征在于,还包括:
4.如权利要求2所述的方法,其特征在于,还包括:
5.如权利要求1所述的方法,其特征在于,所述构建一个指令片段对应的有向无环子图,包括:
6.如权利要求5所述的方法,其特征在于,所述按照所述一个指令片段对应的有向无环子图,为所述一个指令片段分配物理同步资源,包括:
7.如权利要求6所述的方法,其特征在于,所述遍历所述一个指令片段对应的有向无环子图,为所述多个逻辑同步标识表征的同步点依次分配相...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,
申请(专利权)人:北京壁仞科技开发有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。