System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别涉及一种ai芯片的任务处理方法、装置、存储介质及芯片。
技术介绍
1、随着人工智能(artificial intelligence,ai)算法的快速发展,对ai芯片的算力需求也在快速增长。如何通过提高计算并行度提高计算效率成了一个很重要的事情。
2、在利用ai芯片处理任务时,可以根据任务生成io指令和计算指令,其中,io指令是指将数据输入ai芯片或从ai芯片读取数据,计算指令是指利用硬件资源对数据进行计算。
3、然而,目前ai芯片只能实现io指令和计算指令的并行执行,而无法实现多个计算指令的并行执行,从而影响了任务处理的效率。
技术实现思路
1、本申请提供了一种ai芯片的任务处理方法、装置、存储介质及芯片,用于解决无法实现多个计算指令的并行指令,影响了任务处理的效率的问题。所述技术方案如下:
2、根据本申请的第一方面,提供了一种ai芯片的任务处理方法,所述ai芯片中包括多个网络计算机nc,每个nc中包括多个不同类型的计算单元,每个类型的计算单元用于计算神经网络模型中同一类型的至少一个算子,所述方法包括:
3、获取待处理的任务和处理所述任务所使用的神经网络模型的模型文件,根据所述模型文件确定各个算子;
4、对所述任务中的数据进行分段,得到多个数据段;
5、根据各个算子分别对每个数据段生成一个指令集,所述指令集中包括多条计算指令,每条计算指令用于指示一个计算单元对所述数据段进行与算子对应的计算
6、利用各个计算单元并行执行多个指令集中的计算指令;
7、根据各个指令的执行结果生成所述任务的处理结果。
8、在一种可能的实现方式中,所述根据各个算子分别对每个数据段生成一个指令集,包括:
9、对于每个数据段,检测所述神经网络模型中是否存在预定的算子组合;
10、当存在预定的算子组合时,对所述算子组合进行算子融合;
11、根据融合结果对所述数据段生成一个指令集。
12、在一种可能的实现方式中,所述利用各个计算单元并行执行所述指令集中的计算指令,包括:
13、按照每个数据段的排序,从各个指令集中读取每个时间片内需要执行的各条计算指令;
14、在每个时间片内,利用各个计算单元并行执行所述时间片内需要执行的各条计算指令。
15、在一种可能的实现方式中,所述在每个时间片内,利用各个计算单元并行执行所述时间片内需要执行的各条计算指令,包括:
16、在每个时间片内,确定每条计算指令对应的算子的类型;
17、根据每个算子的类型选择需要调用的计算单元;
18、调用选出的各个计算单元并行执行对应的计算指令。
19、在一种可能的实现方式中,
20、所述方法还包括:将多个数据段组成至少两个数据组,并将每个数据组分配给一个nc;
21、所述利用各个计算单元并行执行多个指令集中的多条计算指令,包括:对于每个nc,利用所述nc中的各个计算单元并行执行一个数据组对应的多个指令集中的计算指令。
22、在一种可能的实现方式中,所述算子包括矩阵算子、向量算子和非线性算子中的至少一种。
23、根据本申请的第二方面,提供了一种ai芯片的任务处理装置,所述ai芯片中包括多个网络计算机nc,每个nc中包括多个不同类型的计算单元,每个类型的计算单元用于计算神经网络模型中同一类型的至少一个算子,所述装置包括:
24、获取模块,用于获取待处理的任务和处理所述任务所使用的神经网络模型的模型文件,根据所述模型文件确定各个算子;
25、分段模块,用于对所述任务中的数据进行分段,得到多个数据段;
26、生成模块,用于根据各个算子分别对每个数据段生成一个指令集,所述指令集中包括多条计算指令,每条计算指令用于指示一个计算单元对所述数据段进行与算子对应的计算;
27、执行模块,用于利用各个计算单元并行执行多个指令集中的计算指令;
28、所述生成模块,还用于根据各个指令的执行结果生成所述任务的处理结果。
29、在一种可能的实现方式中,所述执行模块,还用于:
30、按照每个数据段的排序,从各个指令集中读取每个时间片内需要执行的各条计算指令;
31、在每个时间片内,利用各个计算单元并行执行所述时间片内需要执行的各条计算指令。
32、根据本申请的第三方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的ai芯片的任务处理方法。
33、根据本申请的第四方面,提供了一种ai芯片,所述ai芯片包括上述ai芯片的任务处理装置。
34、本申请提供的技术方案的有益效果至少包括:
35、由于ai芯片中包括多个nc,每个nc中包括多个不同类型的计算单元,且每个类型的计算单元用于计算神经网络模型中同一类型的至少一个算子,所以,能够利用各个计算单元并行执行多个指令集中的计算指令,提高了ai芯片的计算性能。
本文档来自技高网...【技术保护点】
1.一种AI芯片的任务处理方法,其特征在于,所述AI芯片中包括多个网络计算机NC,每个NC中包括多个不同类型的计算单元,每个类型的计算单元用于计算神经网络模型中同一类型的至少一个算子,所述方法包括:
2.根据权利要求1所述的AI芯片的任务处理方法,其特征在于,所述根据各个算子分别对每个数据段生成一个指令集,包括:
3.根据权利要求1所述的AI芯片的任务处理方法,其特征在于,所述利用各个计算单元并行执行所述指令集中的计算指令,包括:
4.根据权利要求3所述的AI芯片的任务处理方法,其特征在于,所述在每个时间片内,利用各个计算单元并行执行所述时间片内需要执行的各条计算指令,包括:
5.根据权利要求1所述的AI芯片的任务处理方法,其特征在于,
6.根据权利要求1至5任一所述的AI芯片的任务处理方法,其特征在于,所述算子包括矩阵算子、向量算子和非线性算子中的至少一种。
7.一种AI芯片的任务处理装置,其特征在于,所述AI芯片中包括多个网络计算机NC,每个NC中包括多个不同类型的计算单元,每个类型的计算单元用于计算神经
8.根据权利要求7所述的AI芯片的任务处理装置,其特征在于,所述执行模块,还用于:
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至6任一所述的AI芯片的任务处理方法。
10.一种AI芯片,其特征在于,AI芯片包括:权利要求7或8所述的AI芯片的任务处理装置。
...【技术特征摘要】
1.一种ai芯片的任务处理方法,其特征在于,所述ai芯片中包括多个网络计算机nc,每个nc中包括多个不同类型的计算单元,每个类型的计算单元用于计算神经网络模型中同一类型的至少一个算子,所述方法包括:
2.根据权利要求1所述的ai芯片的任务处理方法,其特征在于,所述根据各个算子分别对每个数据段生成一个指令集,包括:
3.根据权利要求1所述的ai芯片的任务处理方法,其特征在于,所述利用各个计算单元并行执行所述指令集中的计算指令,包括:
4.根据权利要求3所述的ai芯片的任务处理方法,其特征在于,所述在每个时间片内,利用各个计算单元并行执行所述时间片内需要执行的各条计算指令,包括:
5.根据权利要求1所述的ai芯片的任务处理方法,其特征在于,
6....
【专利技术属性】
技术研发人员:李荣峰,
申请(专利权)人:九识苏州智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。