System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开的实施例涉及一种编译器的优化方法、电子设备与存储介质。
技术介绍
1、在人工智能(artificial intelligence,ai)领域,深度神经网络(deep neuralnetwork,dnn)已经成为先进技术的基础和许多应用的核心推动力。随着深度学习的应用场景的不断泛化,由深度神经网络执行的计算任务需要部署在不同的计算设备和硬件架构上。实际部署或训练场景对深度神经网络的性能往往也有着更为激进的要求,例如需要针对所部署的硬件特点定制计算代码。这些需求在通用ai框架中已经难以得到满足。使用ai编译器进行深度学习计算任务的编译与优化可以满足计算任务实际部署或训练场景对硬件性能的需求。
技术实现思路
1、本公开至少一实施例提供一种编译器的优化方法,该编译器的优化方法包括:使用所述编译器编译输入数据,得到编译后的数据,其中,所述编译后的数据中包含第一算子;使用第一转换函数配置所述第一算子,其中,所述第一转换函数用于将所述第一算子支持的第一存储空间访问模式转换为第二存储空间访问模式;基于所述第一转换函数,修改所述第一算子在所述编译器中的调用方式,以将所述第一算子转换为第二算子,其中,所述第二算子支持所述第二存储空间访问模式。
2、例如,在本公开至少一实施例提供的编译器的优化方法中,待访问的目标存储空间包括多个存储单元,所述目标存储空间包括偏移地址,所述偏移地址用于确定所述多个存储单元中的待访问的目标存储单元,所述使用第一转换函数配置所述第一算子,包括:基于所述第二存
3、例如,在本公开至少一实施例提供的编译器的优化方法中,所述第一算子中包括用于访问目标存储空间的第一地址指针,所述第一地址指针对应于所述第一存储空间访问模式,所述基于所述第一转换函数,修改所述第一算子在所述编译器中的调用方式,以将所述第一算子转换为第二算子,包括:在所述编译器中调用所述第一算子中的第一转换函数,以将所述第一算子中的第一地址指针修改为所述第二算子中的第二地址指针,其中,所述第二地址指针对应于所述第二存储空间访问模式。
4、例如,在本公开至少一实施例提供的编译器的优化方法中,所述目标存储空间包括多个存储单元,所述目标存储空间包括偏移地址,所述偏移地址用于确定所述多个存储单元中的待访问的目标存储单元,所述第一地址指针由对应于所述第一存储空间访问模式的偏移地址计算得到,所述第二地址指针由对应于所述第二存储空间访问模式的偏移地址计算得到。
5、例如,在本公开至少一实施例提供的编译器的优化方法中,待访问的目标存储空间包括多个存储单元,所述目标存储空间包括首地址,所述首地址用于确定所述多个存储单元与多个处理单元之间的映射关系,所述多个处理单元用于访问所述目标存储空间,所述修改所述第一算子在所述编译器中的调用方式,以将所述第一算子转换为第二算子,还包括:在所述编译器中将所述第一算子中定义的所述目标存储空间的首地址修改为所述第二算子中定义的所述目标存储空间的首地址,以修改所述多个存储单元与所述多个处理单元之间的映射关系,其中,修改后的所述多个存储单元与所述多个处理单元之间的映射关系支持所述第二存储空间访问模式。
6、例如,在本公开至少一实施例提供的编译器的优化方法中,所述多个处理单元包括第一个处理单元至第n个处理单元,所述多个存储单元包括第一个存储单元至第n个存储单元,其中,n为大于1的整数,在所述第二存储空间访问模式中,所述多个处理单元中的第k个处理单元被配置为访问所述多个存储单元中的第k个存储单元,其中,k = 1, 2,…, n。
7、例如,在本公开至少一实施例提供的编译器的优化方法中,所述多个存储单元中的每个存储单元对应有至少一个程序块,在所述第二算子中定义的首地址所确定的映射关系中,所述第k个存储单元对应的至少一个程序块被映射于所述第k个处理单元。
8、例如,在本公开至少一实施例提供的编译器的优化方法中,所述第一转换函数的参数接口中包含多个目标参数的参数接口,所述多个目标参数用于支持所述第二存储空间访问模式,所述基于所述第一转换函数,修改所述第一算子在所述编译器中的调用方式,以将所述第一算子转换为第二算子,还包括:基于所述第一转换函数的参数接口,在所述第一算子的算子接口中增加所述多个目标参数的参数接口,以得到所述第二算子的算子接口,其中,所述第二算子的算子接口包含所述多个目标参数的参数接口。
9、例如,本公开至少一实施例提供的编译器的优化方法还包括:在所述编译器中调用所述第二算子,其中,所述在所述编译器中调用所述第二算子,包括:在所述第二算子的算子接口传入所述多个目标参数,其中,所述多个目标参数与所述多个目标参数的参数接口一一对应。
10、例如,在本公开至少一实施例提供的编译器的优化方法中,所述第一存储空间访问模式为统一内存访问模式,所述第二存储空间访问模式为非一致性内存访问模式。
11、本公开至少一实施例还提供一种电子设备,该电子设备包括:编译器,配置为编译输入数据,得到编译后的数据,其中,所述编译后的数据中包含第一算子;电子装置,配置为使用第一转换函数配置所述第一算子,其中,所述第一转换函数用于将所述第一算子支持的第一存储空间访问模式转换为第二存储空间访问模式;所述电子装置还配置为,基于所述第一转换函数,修改所述第一算子在所述编译器中的调用方式,以将所述第一算子转换为第二算子,其中,所述第二算子支持所述第二存储空间访问模式。
12、本公开至少一实施例还提供一种电子设备,该电子设备包括:处理器;存储器,包括一个或多个计算机程序模块;其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块用于实现本公开任一实施例提供的编译器的优化方法。
13、本公开至少一实施例还提供一种存储介质,存储有非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时实现本公开任一实施例提供的编译器的优化方法。
本文档来自技高网...【技术保护点】
1.一种编译器的优化方法,其特征在于,所述编译器的优化方法包括:
2.根据权利要求1所述的编译器的优化方法,其特征在于,待访问的目标存储空间包括多个存储单元,所述目标存储空间包括偏移地址,所述偏移地址用于确定所述多个存储单元中的待访问的目标存储单元,
3.根据权利要求1所述的编译器的优化方法,其特征在于,所述第一算子中包括用于访问目标存储空间的第一地址指针,所述第一地址指针对应于所述第一存储空间访问模式,
4.根据权利要求3所述的编译器的优化方法,其特征在于,所述目标存储空间包括多个存储单元,所述目标存储空间包括偏移地址,所述偏移地址用于确定所述多个存储单元中的待访问的目标存储单元,
5.根据权利要求1所述的编译器的优化方法,其特征在于,待访问的目标存储空间包括多个存储单元,所述目标存储空间包括首地址,所述首地址用于确定所述多个存储单元与多个处理单元之间的映射关系,所述多个处理单元用于访问所述目标存储空间,
6.根据权利要求5所述的编译器的优化方法,其特征在于,所述多个处理单元包括第一个处理单元至第N个处理单元,所述多个
7.根据权利要求6所述的编译器的优化方法,其特征在于,所述多个存储单元中的每个存储单元对应有至少一个程序块,
8.根据权利要求1所述的编译器的优化方法,其特征在于,所述第一转换函数的参数接口中包含多个目标参数的参数接口,所述多个目标参数用于支持所述第二存储空间访问模式,
9.根据权利要求8所述的编译器的优化方法,其特征在于,所述编译器的优化方法还包括:
10.根据权利要求1-8任一项所述的编译器的优化方法,其特征在于,所述第一存储空间访问模式为统一内存访问模式,所述第二存储空间访问模式为非一致性内存访问模式。
11.一种电子设备,其特征在于,所述电子设备包括:
12.一种电子设备,其特征在于,所述电子设备包括:
13.一种存储介质,其特征在于,所述存储介质存储有非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时实现权利要求1-10任一项所述的编译器的优化方法。
...【技术特征摘要】
1.一种编译器的优化方法,其特征在于,所述编译器的优化方法包括:
2.根据权利要求1所述的编译器的优化方法,其特征在于,待访问的目标存储空间包括多个存储单元,所述目标存储空间包括偏移地址,所述偏移地址用于确定所述多个存储单元中的待访问的目标存储单元,
3.根据权利要求1所述的编译器的优化方法,其特征在于,所述第一算子中包括用于访问目标存储空间的第一地址指针,所述第一地址指针对应于所述第一存储空间访问模式,
4.根据权利要求3所述的编译器的优化方法,其特征在于,所述目标存储空间包括多个存储单元,所述目标存储空间包括偏移地址,所述偏移地址用于确定所述多个存储单元中的待访问的目标存储单元,
5.根据权利要求1所述的编译器的优化方法,其特征在于,待访问的目标存储空间包括多个存储单元,所述目标存储空间包括首地址,所述首地址用于确定所述多个存储单元与多个处理单元之间的映射关系,所述多个处理单元用于访问所述目标存储空间,
6.根据权利要求5所述的编译器的优化方法,其特征在于,所述多个处理单元包括第一个处理单元...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,
申请(专利权)人:北京壁仞科技开发有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。