System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 处理装置、处理方法、芯片及电子装置制造方法及图纸_技高网

处理装置、处理方法、芯片及电子装置制造方法及图纸

技术编号:41151936 阅读:3 留言:0更新日期:2024-04-30 18:17
本公开涉及一种处理装置,包括:存储部分,用于存储数据,所述数据包括神经网络的待运算数据;运算部分,用于对待运算数据进行运算,包括采用加法器和/或多类型乘法器对待运算数据进行加速计算;控制部分,用于控制存储部分和运算部分,包括根据待运算数据进行加速运算。本公开所述的装置具有灵活性强、可配置程度高、运算速度快、功耗低等优点。

【技术实现步骤摘要】

本公开涉及计算机领域,进一步涉及一种人工智能领域。


技术介绍

1、随着大数据时代的来临,神经网络算法成为了近些年人工智能领域的一个研究热点,在模式识别、图像分析、智能机器人等方面都得到了广泛的应用。但是,由于该算法常用于处理大数据的情况,其中又包含多层的结构,大量的运算,使其对运算速度和运算规格提出了更高的要求。一方面给运算器的运算规模和运算速度提出了要求,因为面对大量的数据和神经网络算法中大量的运算,运算器要能够快速地完成所需的运算的任务,这就给运算器的速度提出了要求。另一方面,给运算器的动态可配置性提出了要求,这是因为在运算时,大量的运算数据,其数据规格未必相同,层与层之间的数据位宽和数据数量也不一定相同。同时,在能够容忍一定范围的精度损失的情况下,数据位宽的降低能够有效提高运算器的运算效率。在精度和效率二者的权衡需求下,增加了数据位宽的多样性和运算过程中数据位宽的动态可变性,所以运算器需要具有动态可配置性,满足不同的数据规格和不同的数据位宽的要求。

2、在现有技术中,一种实现神经网络的方式是直接在通用处理器(cpu)或者图形处理器(gpu)上进行运算,这种方法或者因其结构因兼顾通用性,故无法针对神经网络的运算进行有效加速,或者因其片上缓存太小,无法满足大量的神经网络的运算的要求。另一种实现方式就是在现场可编程逻辑门阵列(fpga)或者专用集成电路(asic)上面针对神经网络进行设置和运算,但是一方面,fpga的主频过低,能耗较大,对神经网络运算进行可配置编程的时候受限于fpga本身的资源,故并不利于对神经网络运算进行加速,也不能够满足不同的数据规格和数据位宽的要求;另一方面,即使利用asic对神经网络进行设计并加速,但是这些装置都大多都受限于其存储装置和运算装置,只能支持固定长度的数据存储和运算,无法动态配置不同位宽的数据间的运算,灵活性不足。

3、公开内容

4、(一)要解决的技术问题

5、本公开的目的在于,提供一种计算位宽动态可配置的处理装置及方法,以解决以上所述的至少一项技术问题

6、(二)技术方案

7、根据本公开的一方面,提供一种计算位宽动态可配置的处理装置,包括:

8、存储部分,用于存储数据,所述数据包括神经网络的待运算数据;

9、运算部分,用于对神经网络的待运算数据进行运算,包括采用加法器和乘法器对不同计算位宽的神经网络的待运算数据进行计算;以及

10、控制部分,用于控制存储部分和运算部分,包括根据待运算数据确定运算部分的乘法器和加法器的类型以进行运算。

11、根据本公开的另一方面,提供一种芯片,所述芯片包括上述的装置。

12、根据本公开的再一方面,提供一种芯片封装结构,包括上述的芯片芯片。

13、根据本公开的又一方面,提供一种一种板卡,包括上述的芯片封装结构。

14、根据本公开的另外一方面,提供一种电子装置,包括上述的板卡。

15、根据本公开的另外又一方面,提供一种计算位宽动态可配置的神经网络处理器方法,包括步骤:

16、控制部分生成控制指令,传送给存储部分和运算部分;

17、存储部分根据接收的控制指令,向运算部分输入神经网络的待运算数据;

18、运算部分根据接收的控制指令,选择第一运算模块中的对应类型的乘法器和加法器;

19、运算部分根据输入的待运算数据和神经网络参数以及控制指令,对不同计算位宽的神经网络的待运算数据进行运算。

20、(三)有益效果

21、本公开提供的计算位宽动态可配置的处理装置和方法,通过将存储针对神经网络的特点进行分块存储管理,在第一运算模块能够利用不同位宽数据的运算特点进行有效的加速,并且通过控制模块进行合理调度,可采用流水线的方式并行执行,进一步降低运行所需时间,从而能够有效根据不同的需求对神经网络算法进行加速,能够动态配置计算位宽,满足不同需求的运算,具有灵活性强、可配置程度高、运算速度快、功耗低等优点。本公开装置能够加速卷积神经网络的运算过程,减少片内片外的数据交换,节约存储空间,不包含在线学习阶段;还能够加速大规模卷积神经网络的运算过程。通过采用基础乘法器、稀疏乘法器和/或融合向量乘法器改变运算顺序,大大减少了对移位值的计数操作从而有效提高了性能功耗比。


技术实现思路

本文档来自技高网...

【技术保护点】

1.一种处理装置,其特征在于包括:

2.根据权利要求1所述的装置,其特征在于,所述突触存储模块为多个突触存储模块,用于存储多个突触参数。

3.根据权利要求2所述的装置,其特征在于,所述运算部分包括多个运算单元,分别与一个或多个突触模块对应,在运算时,输入存储模块向所有的运算单元传递输入数据,突触存储模块向对应的运算单元传递突触数据,运算单元进行运算后,将结果写入输出存储模块。

4.根据权利要求3所述的装置,其特征在于,所述运算部分包括:

5.根据权利要求4所述的装置,其特征在于,所述第一运算模块包括:

6.根据权利要求4所述的装置,其特征在于,所述不同计算位宽的数据的运算包括:点积、矩阵间乘法、加法、乘法混合加法;矩阵和向量的乘法、加法、乘法混合加法;矩阵和常数的乘法、加法、乘法混合加法;向量间的乘法、加法、乘法混合加法;向量与常数的乘法、加法、乘法混合加法;常数与常数的乘法、加法、乘法混合加法;比较选择最大/小值,以及可以拆分为乘法、加法、或乘加混合的运算。

7.根据权利要求6所述的装置,其特征在于,所述运算部分还包括第二运算模块,用于进行包括非线性运算、除法运算、单独的加法运算或单独的乘法运算;其中,

8.一种使用权利要求1-7任一所述装置的方法,其特征在于包括步骤:

9.根据权利要求8所述的方法,其特征在于,还包括在运算部分进行非线性运算、除法运算、单独的加法运算或单独的乘法运算;其中,

10.根据权利要求8所述的方法,其特征在于,所述存储部分包括存储神经网络参数中的突触参数的突触存储模块。

11.根据权利要求10所述的方法,其特征在于,所述突触模块为多个突触模块,存储多个突触参数;所述运算部分包括多个运算单元,分别与一个或多个突触模块对应,在运算时,输入存储模块向所有的运算单元传递输入数据,突触存储模块向对应的运算单元传递突触数据,运算单元进行运算后,将结果写入输出存储模块。

12.根据权利要求8所述的方法,其特征在于,所述神经网络的待运算数据还进行第二运算,所述第二运算包括非线性运算、除法运算、单独的加法运算或单独的乘法运算;其中,

13.根据权利要求8所述的方法,其特征在于,对不同计算位宽的神经网络的待运算数据进行运算包括:点积、矩阵间乘法、加法、乘法混合加法;矩阵和向量的乘法、加法、乘法混合加法;矩阵和常数的乘法、加法、乘法混合加法;向量间的乘法、加法、乘法混合加法;向量与常数的乘法、加法、乘法混合加法;常数与常数的乘法、加法、乘法混合加法;比较选择最大/小值,以及可以拆分为乘法、加法、或乘加混合的运算。

14.根据权利要求8所述的方法,其特征在于,所述运算部分进行卷积层运算、全连接层运算或/和池化层运算。

...

【技术特征摘要】

1.一种处理装置,其特征在于包括:

2.根据权利要求1所述的装置,其特征在于,所述突触存储模块为多个突触存储模块,用于存储多个突触参数。

3.根据权利要求2所述的装置,其特征在于,所述运算部分包括多个运算单元,分别与一个或多个突触模块对应,在运算时,输入存储模块向所有的运算单元传递输入数据,突触存储模块向对应的运算单元传递突触数据,运算单元进行运算后,将结果写入输出存储模块。

4.根据权利要求3所述的装置,其特征在于,所述运算部分包括:

5.根据权利要求4所述的装置,其特征在于,所述第一运算模块包括:

6.根据权利要求4所述的装置,其特征在于,所述不同计算位宽的数据的运算包括:点积、矩阵间乘法、加法、乘法混合加法;矩阵和向量的乘法、加法、乘法混合加法;矩阵和常数的乘法、加法、乘法混合加法;向量间的乘法、加法、乘法混合加法;向量与常数的乘法、加法、乘法混合加法;常数与常数的乘法、加法、乘法混合加法;比较选择最大/小值,以及可以拆分为乘法、加法、或乘加混合的运算。

7.根据权利要求6所述的装置,其特征在于,所述运算部分还包括第二运算模块,用于进行包括非线性运算、除法运算、单独的加法运算或单独的乘法运算;其中,

8.一种使用权利要求1-7任一所述装置的方法,其特征在于包括步骤:

9.根据权利要求8所述...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:

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

1