一种反馈式神经网络模型计算流流水线排布方法及AI编译器技术

技术编号:40597974 阅读:15 留言:0更新日期:2024-03-12 22:01
本发明专利技术涉及一种反馈式神经网络模型计算流流水线排布方法及AI编译器,所述方法包括以下步骤:S1、针对块加载/块存储时间的大小,通过增减块计算个数做若干不同块计算时间大小的计算流流水线排布,编译生成不同DDR带宽占有下的计算流流水线排布指令流;S2、发生DDR带宽抢占时,根据计算单元运行块计算周期个数和块加载加块存储周期个数的比例,动态编译不同DDR带宽占有下的计算流流水线排布,切换到块计算时间大小和块加载/块存储时间大小相等或近似的计算流流水线排布指令流。有益效果是根据DDR带宽占用、动态切换相对合适神经网络模型计算流流水线排布。

【技术实现步骤摘要】

【】本专利技术涉及计算机,具体涉及一种反馈式神经网络模型计算流流水线排布方法及ai编译器。


技术介绍

0、
技术介绍

1、编译器就是将"一种语言(通常为高级语言)"翻译为"另一种语言(通常为低级语言)"的程序。

2、ir(intermediate representation即中间表示)是程序编译过程中,源代码与目标代码之间翻译的中介,ir的设计对编译器来说非常关键,好的ir要考虑从源代码到目标代码编译的完备性、编译优化的易用性和性能。

3、数据类型-tensor:ai领域,计算被抽象成张量的计算,这就意味着ai编译器中主要处理的数据类型也是张量,这个是非常重要的前提。

4、与传统编译器相比,ai编译器是一个领域特定的编译器,有四个明显的特征:1、python为主的动态解释器语言前端,2、多层ir设计,3、面向神经网络的特定优化,4、dsa芯片架构的支持。

5、ai编译器一般针对一些硬件结构来设计,图1是一种业内比较常见的ai计算单元硬件结构示意图。如图1所示,计算单元每次计算时,先进行加载过程本文档来自技高网...

【技术保护点】

1.一种反馈式神经网络模型计算流流水线排布方法,所述神经网络模型包括若干计算节点,所述计算节点包括计算单元、SRAM和DDR;所述神经网络模型编译时的中间表示是由若干计算节点组成的一个有向无环图,所述计算节点的输入输出是一个存储在DDR中的张量,所述张量切成若干块;所述计算单元计算时是顺序执行若干块任务的计算流,所述块任务先进行块加载,每次将DDR中的一个块加载到SRAM中,然后进行块计算,从SRAM中读取块,计算后将结果输出到SRAM,最后进行块存储,将SRAM中的结果存回DDR;所述计算流按照流水线排布,用本块任务的块计算时间掩盖掉在后执行块任务的块加载时间、和在先执行块任务的块存储...

【技术特征摘要】

1.一种反馈式神经网络模型计算流流水线排布方法,所述神经网络模型包括若干计算节点,所述计算节点包括计算单元、sram和ddr;所述神经网络模型编译时的中间表示是由若干计算节点组成的一个有向无环图,所述计算节点的输入输出是一个存储在ddr中的张量,所述张量切成若干块;所述计算单元计算时是顺序执行若干块任务的计算流,所述块任务先进行块加载,每次将ddr中的一个块加载到sram中,然后进行块计算,从sram中读取块,计算后将结果输出到sram,最后进行块存储,将sram中的结果存回ddr;所述计算流按照流水线排布,用本块任务的块计算时间掩盖掉在后执行块任务的块加载时间、和在先执行块任务的块存储时间,所述ddr带宽是指块加载/块存储占有流水线的时间;其特征在于包括以下步骤:

2.根据权利要求1所述的一种反馈式神经网络模型计算流流水线排布方法,其特征在于步骤s1:所述计算流流水线排布指令流包括ddr带宽未被抢占时的计算流流水线排布指令流、ddr带宽被略微抢占时的计算流流水线排布指令流和ddr带宽被严重抢占时的计算流流水线排布指令流。

3.根据权利要求2所述的一种反馈式神经网络模型计算流流水线排布方法,其特征在于步骤s2:根据条件a:块计算周期个数/块加载加块存储周期个数<最小阈值,条件b:块计算周期个数/块加载加块存储周期个数>=最大阈值,切换计算流流水线排布指令流,其中,最大阈值和最小阈值人为设定。

4.根据权利要求3所述的一种反馈式神经网络模型计算流流水线排布方法,其特征在于步骤s2:发生ddr带宽抢占时,如果所述计算流处于ddr带宽未被抢占时的计算流流水线工作模式,满足条件a时,切...

【专利技术属性】
技术研发人员:李振峰陈韫韬梁昊徐宁仪
申请(专利权)人:合肥辉羲智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1