一种算子执行方法、设备、存储介质及程序产品与流程
- 国知局
- 2024-07-31 23:09:49
本申请实施例涉及人工智能,尤其涉及一种算子执行方法、设备、存储介质及程序产品。
背景技术:
1、人工智能模型通常指被训练用来进行推理预测的神经网络模型,例如图像推理模型、语音推理模型等。人工智能模型的运算可以由计算图(computation graph)中的算子(operator)来实现。算子指的是对人工智能模型中各层的张量所做的各种运算,例如人工智能模型的卷积层对人工智能模型的输入数据所做的卷积运算即为卷积算子。
2、在实际应中,算子的执行过程一般包括多个相互依赖的步骤。为保证算子计算的正确性,算子中的一个步骤执行完之后,才可以执行算子中的下一个步骤,从而影响算子计算效率和性能。
技术实现思路
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、一方面,本申请实施例提供了一种计算机设备,包括存储器、人工智能芯片及存储在存储器上并可在人工智能芯片上运行的计算机程序,所述人工智能芯片执行所述计算机程序时实现上述算子执行方法的步骤。
30、一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行上述算子执行方法的步骤。
31、一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机设备执行时,使所述计算机设备执行上述算子执行方法的步骤。
32、本申请实施例中,通过第一计算单元执行算子的第一步骤中的第一个步骤分块,获得第一执行结果后,发送第一步骤的完成标识,这样便可触发第二计算单元开始基于第一执行结果,执行算子的第二步骤中的第一个步骤分块,即第二计算单元不需要等待第一计算单元执行完整个第一步骤后,才开始执行第二步骤。通过上述错位同步的方式,在不改变算子计算实现的前提下,优化算子中各步骤的同步策略,减少了计算单元的等待时长,也实现了算子中多个步骤并行处理,从而提升了计算效率和性能,同时充分发挥芯片的计算能力。
33、其次,针对步骤中除第一个步骤分块之外的其他步骤分块,当计算单元执行完这些步骤分块时,通过计算单元执行的下一个步骤的完成标识来发送这些步骤分块的完成标识,这样既保证了逻辑完备和计算正确性,同时减少复杂算子中多个计算单元间的等待时间,提升算子整体性能。
技术特征:1.一种算子执行方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述算子中还包括由所述第一计算单元执行的第三步骤,所述第三步骤包括多个步骤分块;
3.如权利要求2所述的方法,其特征在于,所述发送所述第三步骤的完成标识之后,还包括:
4.如权利要求2所述的方法,其特征在于,所述算子中还包括由所述第二计算单元执行的第四步骤,所述第四步骤包括多个步骤分块;
5.如权利要求1所述的方法,其特征在于,所述算子中还包括由所述第一计算单元执行的第三步骤,所述第三步骤包括多个步骤分块;
6.如权利要求5所述的方法,其特征在于,所述算子中还包括由所述第二计算单元执行的第四步骤,所述第四步骤包括多个步骤分块;
7.如权利要求1所述的方法,其特征在于,所述通过所述第一步骤的完成标识,触发第二计算单元基于所述第一执行结果,执行所述第二步骤中的第一个步骤分块,获得第二执行结果之后,还包括:
8.如权利要求1至7任一所述的方法,其特征在于,所述完成标识包括:内存栅栏信息和线程同步信息。
9.一种计算机设备,包括存储器、人工智能芯片及存储在存储器上并可在人工智能芯片上运行的计算机程序,其特征在于,所述人工智能芯片执行所述计算机程序时实现如权利要求1~8任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行如权利要求1~8任一项所述方法的步骤。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机设备执行时,使所述计算机设备执行如权利要求1-8任一项所述方法的步骤。
技术总结本申请实施例提供了一种算子执行方法、设备、存储介质及程序产品,涉及人工智能技术领域,该方法包括:将算子包含的第一步骤和第二步骤分别拆分成多个步骤分块。通过第一计算单元执行第一步骤中的第一个步骤分块,获得第一执行结果后,发送第一步骤的完成标识,这样便可触发第二计算单元开始基于第一执行结果执行第二步骤中的第一个步骤分块。也就是说,第二计算单元不需要等待第一计算单元执行完整个第一步骤后,才开始执行第二步骤。通过上述错位同步的方式,在不改变算子计算实现的前提下,优化算子中各步骤的同步策略,减少了计算单元的等待时长,也实现了算子中多个步骤并行处理,从而提升了计算效率和性能,同时充分发挥芯片的计算能力。技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名受保护的技术使用者:北京壁仞科技开发有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/196168.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。