【技术实现步骤摘要】
脉动阵列变速控制方法及可变速脉动阵列微框架
本专利技术涉及神经网络
,尤其涉及脉动阵列变速控制方法及可变速脉动阵列微框架。
技术介绍
目前许多硬件公司开发了各种神经网络加速器来提高推理性能,其中脉动数组由于可以尽可能地重用获取的数据,因此算是一种有效地计算卷积的方法。谷歌提出了一种基于经典脉动阵列的TPU架构,它由大量的运算单元组成,处理单元可以固定权值或特征值,通过在处理单元间滑动特征值或权值,从而减少了内存带宽,实现了高能效。同时还有几种类型的神经网络加速器支持混合精度计算以进一步提高计算效率。例如一种位串行乘法器,可以支持1位到8位的乘法以进行可重新配置的计算。在XilinxPYNQ-Z1板上,其峰值性能可以达到6.5TOPS。NVIDIA提出了Turing体系结构,它支持INT4,INT8和INT32整数计算,但是这些精度的运算无法同时运行。BitFusion则由包含融合单元的二维收缩阵列组成,融合单元可实现INT2,INT4,INT8和INT16操作,但该脉动阵列内部的融合单元必须设置为相同的精度,从而降低了混合精度计算的灵活性。因此可看出现有脉动阵列均无法实现混合精度的卷积神经网络的推理过程。
技术实现思路
本专利技术所要解决的技术问题是现有的神经网络加速器无法实现混合精度的卷积神经网络的推理过程,现有脉动阵列无法实现变速控制,导致混合精度计算的灵活性较低。为了解决上述技术问题,本专利技术提供了一种脉动阵列变速控制方法,所述脉动阵列包括至少两个处理单元;< ...
【技术保护点】
1.一种脉动阵列变速控制方法,其特征在于,脉动阵列包括至少两个处理单元;/n所述方法包括:/n获取所述脉动阵列中所有所述处理单元的待转变精度模式;/n确定所有所述待转变精度模式中所述处理单元处理所需时长最长的处理周期,并将其作为所述脉动阵列的下一运行周期;/n在所述处理单元的下一实际处理周期后设置数个阻塞周期,以使得所有所述处理单元的下一处理周期的时长与所述脉动阵列的下一运行周期的时长相等;/n其中,所述处理单元每处理一个阻塞周期即表示所述处理单元被阻塞一个固定周期,设置的所述阻塞周期个数为自然数。/n
【技术特征摘要】
1.一种脉动阵列变速控制方法,其特征在于,脉动阵列包括至少两个处理单元;
所述方法包括:
获取所述脉动阵列中所有所述处理单元的待转变精度模式;
确定所有所述待转变精度模式中所述处理单元处理所需时长最长的处理周期,并将其作为所述脉动阵列的下一运行周期;
在所述处理单元的下一实际处理周期后设置数个阻塞周期,以使得所有所述处理单元的下一处理周期的时长与所述脉动阵列的下一运行周期的时长相等;
其中,所述处理单元每处理一个阻塞周期即表示所述处理单元被阻塞一个固定周期,设置的所述阻塞周期个数为自然数。
2.根据权利要求1所述的方法,其特征在于,所述待转变精度模式包括:INTN*INTN模式、INTN*INT2N模式、INT2N*INTN模式和INT2N*INT2N模式。
3.根据权利要求2所述的方法,其特征在于,若当前所述脉动阵列中所有处理单元的精度模式为INTx*INTy模式,且所述处理单元处理INTx*INTy模式的实际处理周期为n个固定周期;
当所述待转变精度模式均为INTx’*INTy’模式时,所述脉动阵列的下一运行周期为x’/x*y’/y*n个固定周期,所有所述处理单元的下一处理周期中设置的阻塞周期为零个。
4.根据权利要求2所述的方法,其特征在于,若当前所述脉动阵列中所有处理单元的精度模式为INTx*INTy模式,且所述处理单元处理INTx*INTy模式的实际处理周期为n个固定周期;
当所述待转变精度模式包括INTx’*INTy’模式和INTx”*INTy”模式时,判断n、x’/x*y’/y*n和x”/x*y”/y*n的大小;
若n分别大于x’/x*y’/y*n和x”/x*y”/y*n,则所述脉动阵列的下一运行周期为n个固定周期,且在所述待转变精度为INTx’*INTy’模式的部分处理单元的下一处理周期中设置n-x’/x*y’/y*n个阻塞周期,在所述待转变精度为INTx”*INTy”模式的部分处理单元的下一处理周期中设置n-x”/x*y”/y*n个阻塞周期;
若x’/x*y’/y*n分别大于n和x”/x*y”/y*n,则所述脉动阵列的下一运行周期为x’/x*y’/y*n个固定周期,且在所述待转变精度为INTx’*INTy’模式的部分处理单元的下一处理周期中设置零个阻塞周期,在所述待转变精度为INTx”*INTy”模式的部分处理单...
【专利技术属性】
技术研发人员:宋卓然,梁晓峣,景乃锋,官惠泽,江昭明,吴飞洋,江子山,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。