System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及人工智能,尤其涉及一种缓存使用优化方法、设备、存储介质及程序产品。
技术介绍
1、人工智能模型通常指被训练用来进行推理预测的神经网络模型,例如图像推理模型、语音推理模型等。人工智能模型的计算可以由计算图(computation graph)中的算子(operator)来实现。算子指的是对人工智能模型中各层的张量所做的各种计算,例如人工智能模型的卷积层对人工智能模型的输入数据所做的卷积计算即为卷积算子。
2、相关技术下,在卷积算子的执行过程中,会先将特征图(activation)和权重(weight)从显存加载到片上高速缓存,然后按照预设的固定缓存使用策略对特征图和权重进行卷积计算。
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.如权利要求1所述的方法,其特征在于,所述基于一个子张量的形状,获取相应的多个缓存使用策略,包括:
4.如权利要求1所述的方法,其特征在于,所述基于获得的多个预计处理性能,从所述多个缓存使用策略中获得所述一个子张量对应的目标缓存策略之后,还包括:
5.如权利要求1至4任一所述的方法,其特征在于,所述基于一个子张量的形状,获取相应的多个缓存使用策略之后,还包括:
6.如权利要求5所述的方法,其特征在于,所述基于获得的多个预计处理性能,从所述多个缓存使用策略中获得所述一个子张量对应的目标缓存策略,包括:
7.如权利要求6所述的方法,其特征在于,所述基于获得的多个预计处理性能,从所述多个缓存使用策略对应的候选策略组中,获得所述一个子张量对应的目标策略组之后,还包括:
8.一种计算机设备,包括存储器、人工智能芯片及存储在存储器上并可在人工智
9.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行如权利要求1~7任一项所述方法的步骤。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机设备执行时,使所述计算机设备执行如权利要求1-7任一项所述方法的步骤。
...【技术特征摘要】
1.一种缓存使用优化方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述基于输入张量的形状和计算单元的数量,将所述输入张量切分成多个子张量,包括:
3.如权利要求1所述的方法,其特征在于,所述基于一个子张量的形状,获取相应的多个缓存使用策略,包括:
4.如权利要求1所述的方法,其特征在于,所述基于获得的多个预计处理性能,从所述多个缓存使用策略中获得所述一个子张量对应的目标缓存策略之后,还包括:
5.如权利要求1至4任一所述的方法,其特征在于,所述基于一个子张量的形状,获取相应的多个缓存使用策略之后,还包括:
6.如权利要求5所述的方法,其特征在于,所述基于获得的多个预计处理性能,从所述多个缓存使用策略中获得所述一个子张量对应的目标缓存策略,包括:
7.如权利要求6所述的...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,
申请(专利权)人:上海壁仞科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。