【技术实现步骤摘要】
一种适用于华为昇腾芯片的高性能算子生成方法
[0001]本申请涉及人工智能领域,具体而言,涉及一种适用于华为昇腾芯片的高性能算子生成方法。
技术介绍
[0002]高性能算子是深度学习模型中涉及到的计算函数,常见的算子包括卷积、矩阵乘、修正线性单元(Rectified Linear Unit,ReLU)等。作为人工智能(Artificial Intelligence, AI)计算框架的基本组成部分,高性能算子向下调用中央处理器(Central ProcessingUnit,CPU)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器 (Neural
‑
network Processing Unit,NPU)等AI芯片,向上为多种计算框架提供操作接口。高性能算子是充分发挥芯片计算潜力、提升训练和推理效率的重要基础。
[0003]相关技术中,昇腾技术栈提供了张量加速引擎(Tensor Boost Engine,TBE)算子开发框架,开发者可以选择使用领域特定语言(Domain
‑
Specific Language,DSL)或张量迭代器内核(Tensor Iterator Kernel,TIK)开发方式进行算子开发。其中,DSL的灵活性差、性能差,但开发效率高;TIK的灵活性和性能高,但开发效率低并且开发工作量大,要求开发者熟悉底层硬件架构,并手动规划算子的调度。利用现有技术进行算子开发时,难以同时获得良好的算子性能和开发效率。
[000 ...
【技术保护点】
【技术特征摘要】
1.一种适用于华为昇腾芯片的高性能算子生成方法,其特征在于,包括:在目标开发方式下,生成多个候选操作函数,其中,所述目标开发方式是基于昇腾人工智能处理器的张量加速引擎算子开发框架确定的张量迭代器内核开发方式;从所述多个候选操作函数选取待使用的目标操作函数;利用所述目标操作函数和目标操作数据执行目标操作,得到目标操作结果。2.根据权利要求1所述的适用于华为昇腾芯片的高性能算子生成方法,其特征在于,从所述多个候选操作函数选取所述目标操作函数包括:从所述多个候选操作函数选取数据搬运函数。3.根据权利要求2所述的适用于华为昇腾芯片的高性能算子生成方法,其特征在于,利用所述目标操作函数和所述目标操作数据执行目标操作,得到所述目标操作结果包括:获取所述目标操作数据,其中,所述目标操作数据包括:第一源操作数、第一目的操作数和数据长度;利用所述数据搬运函数、所述第一源操作数、所述第一目的操作数和所述数据长度执行数据搬运操作,得到数据搬运结果。4.根据权利要求3所述的适用于华为昇腾芯片的高性能算子生成方法,其特征在于,利用所述数据搬运函数、所述第一源操作数、所述第一目的操作数和所述数据长度执行数据搬运操作,得到所述数据搬运结果包括:利用所述数据长度对所述第一源操作数进行分块处理,得到分块结果;当基于所述分块结果确定不存在尾块时,通过所述数据搬运函数和所述分块结果将所述第一源操作数搬运至所述第一目的操作数,得到所述数据搬运结果;当基于所述分块结果确定存在所述尾块时,按照所述第一源操作数与所述第一目的操作数的存储位置确定目标搬运方式,并通过所述数据搬运函数和所述目标搬运方式将所述第一源操作数搬运至所述第一目的操作数,得到所述数据搬运结果。5.根据权利要求1所述的适用于华为昇腾芯片的高性能算子生成方法,其特征在于,从所述多个候选操作函数选取所述目标操作函数包括:从所述多个候选操作函数选取精度向量计算函数。6.根据权利要求5所述的适用于华为昇腾芯片的高性能算子生成方法,其特征在于,利用所述目标操作函数和所述目标操作数据执行目标操作,得到所述目标操作结果包括:获取所述目标操作数据,其中,所述目标操作数据包括:第二源操作数、第二目的操作数和第一指令名称;利用所述精度向量计算函数、所述第二源操作数、所述第二目的操作数和所述第一指令名称执行精度向量计算操作,得到精度向量计算结果。7.根据权利要求6所述的适用于华为昇腾芯片的高性能算子生成方法,其特征在于,利用所述精度向量计算函数、所述第二源操作数、所述第二目的操作数和所述第一指令名称执行精度向量计算操作,得到所述精度向量计算结果包括:当所述第二源操作数未位于全局内存时,确定精度向量计算次数,利用所述精度向量计算函数和所述第一指令名称对所述第二源操作数进行精度向量计算操作以得到所述精度向量计算结果,并将所述精度向量计算结果搬运至所述第二目的操作数;当所述第二源操作数位于全局内存时,对所述第二源操作数进行多核优化处理以得到
优化处理结果,确定精度向量计算次数,利用所述精度向量计算函数和所述第一指令名称对所述优化处理结果进行精度向量计算操作以得到所述精度向量计算结果,并将所述精度向量计算结果搬运至所述第二目的操作数。8.根据权利要求1所述的适用于华为昇腾芯片的高性能算子生成方法,其特征在于,从所述多个候选操作函数选取所述目标操作函数包括:从所述多个候选操作函数选取规约向量计算函数。9.根据权利要求8所述的适用于华为昇腾芯片的高性能算子生成方法,其特征在于,利用所述目标操作函数和所述目标操作数据执行目标操作,得到所述目标操作结果包括:获取所述目标操作数据,其中,所述目标操作数据包括:第三源操作数、第三目的操作数和...
【专利技术属性】
技术研发人员:龙汀汀,樊春,马银萍,董昊森,李若淼,杨宏辉,
申请(专利权)人:北京大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。