System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算领域,更具体地,涉及一种张量处理装置、方法及计算机可读存储介质。
技术介绍
1、现有技术中,用于检测任务、计算任务的人工智能芯片方案主要分为两类,一类是通用处理装置,如cpu(central processing unit,中央处理器)、fpga(fieldprogrammable gate array,现场可编程门阵列)、gpu(graphics processing unit,图形处理器)等;另一类是专门针对人工神经网络的加速处理器,如google的tpu(tensorprocessing units,张量处理装置)等。这些芯片均属于冯诺依曼架构,其计算和存储是分离的,二者配合完成数据的存取与运算。然而,由于处理器的设计以提升计算速度为主,存储则更注重容量提升和成本优化,“存”和“算〞之间性能失配,从而导致了访存带宽低、时延长、功耗高等问题,即通常所说的〝存储墙〞和“功耗墙”。访存愈密集,“墙”的问题愈严重,算力提升愈困难。
2、存算一体作为一种新的计算架构,将存储与计算完全融合,有效克服冯诺依曼架构瓶颈,实现计算能效的数量级提升。但是存内计算只适合权重固定的通用矩阵计算,不支持权重动态变化的通用矩阵计算。因此,需要调用两个不同的计算引擎分别进行权重固定的通用矩阵计算和权重动态变化的通用矩阵计算。然而,两个不同的计算引擎会有两套不同的硬件接口,而且两个计算引擎的矩阵乘算力也有差异,增加了编程接口的复杂性。
技术实现思路
1、鉴于上述问题,本专利技术
2、根据本专利技术的第一方面,提供一种张量处理装置,包括:指令序列模块,用于根据张量运算指令和预设配置信息产生第一指令序列和/或第二指令序列,其中,所述第一指令序列包括多个第一运算指令,第二指令序列包括多个第二运算指令,所述预设配置信息包括第一配置信息和/或第二配置信息;数据加载模块,用于根据第一指令序列或第二指令序列依次将待操作数据加载至相应的寄存器中;第一计算模块,用于根据第一指令序列依次从寄存器中读取数据进行存内计算;第二计算模块,用于根据第二指令序列依次从寄存器中读取数据进行非存内计算。
3、优选地,所述第一配置信息用于表征第一计算模块每次计算的数据大小、形状以及起始地址和编址方式;第二配置信息用于表征第二计算模块每次计算的数据大小、形状以及起始地址和编址方式。
4、优选地,所述指令序列模块还用于根据所述张量运算指令产生选择信号,并根据所述选择信号将第一指令序列发送至第一计算模块或将第二指令序列发送至第二计算模块。
5、优选地,所述张量运算指令包括操作码和操作域,其中,所述操作码包括指令类型和运算码,操作域包括操作数据的源地址以及目标地址。
6、优选地,所述指令序列模块包括:指令解析单元,用于对所述张量运算指令进行解析以获取运算码和操作数据的源地址和目标地址;指令序列单元,用于根据预设配置信息和操作数据的源地址自动计算多个子操作数据的源地址和目标地址,并根据所述运算码和多个子操作数据的源地址以及目标地址产生多个第一运算指令和/或多个第二运算指令。
7、优选地,所述指令序列单元还用于根据第一配置信息和操作数据的源地址自动计算多个第一子操作数据的地址以得到多个第一运算指令;和/或根据第二配置信息和操作数据的源地址自动计算多个第二子操作数据的地址以得到多个第二运算指令。
8、优选地,所述指令序列模块还包括:控制单元,用于根据操作数据的源地址产生选择信号,并根据选择信号将第一指令序列发送至第一计算模块或将第二指令序列发送至第二计算模块。
9、优选地,所述张量运算指令还包括预设配置信息。
10、优选地,所述指令序列模块还包括:配置信息单元,用于根据所述选择信号从指令解析单元或者配置寄存器获取第一配置信息或第二配置信息。
11、优选地,所述操作数据的源地址为片上存储器、片外存储器、寄存器中的任意一种。
12、优选地,所述寄存器包括输入寄存器、权重寄存器和累加寄存器,其中,所述输入寄存器用于存放激活数据;权重寄存器用于存放权重数据,累积寄存器用于存放激活数据和权重数据乘加的中间结果。
13、根据本专利技术的第二方面,提供一种张量处理方法,包括:根据张量运算指令和预设配置信息产生第一指令序列和/或第二指令序列,其中,所述第一指令序列包括多个第一运算指令,第二指令序列包括多个第二运算指令,所述预设配置信息包括第一配置信息和/或第二配置信息;根据所述张量运算指令产生选择信号,并根据所述选择信号执行第一指令序列或第二指令序列;根据第一指令序列或第二指令序列依次将待操作数据加载至相应的寄存器中;根据第一指令序列依次从寄存器中读取数据进行存内计算或者根据第二指令序列依次从寄存器中读取数据进行非存内计算。
14、优选地,所述第一配置信息用于表征第一计算模块每次计算的数据大小、形状以及起始地址和编址方式;第二配置信息用于表征第二计算模块每次计算的数据大小、形状以及起始地址和编址方式。
15、优选地,所述张量运算指令包括操作码和操作域,其中,所述操作码包括指令类型和运算码,操作域包括操作数据的源地址以及目标地址。
16、优选地,根据张量运算指令和预设配置信息产生第一指令序列和/或第二指令序列包括:对所述张量运算指令进行解析以获取操作码和操作数据的源地址和目标地址;根据预设配置信息和操作数据的源地址自动计算多个子操作数据的源地址和目标地址,并根据所述运算码和多个子操作数据的源地址以及目标地址产生多个第一运算指令和/或多个第二运算指令。
17、优选地,所述张量运算指令还包括预设配置信息。
18、优选地,所述张量处理方法还包括:根据选择信号获取第一配置信息或第二配置信息。
19、根据本专利技术的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
20、本专利技术提供的张量处理装置、方法及计算机可读存储介质,采用统一的一条宏指令调用不同的计算模块进行存内计算或非存内计算,降低编程复杂性,提高计算效率。
21、进一步地,张量处理装置即硬件本身可以根据预设配置信息和操作数据的源地址和目标地址自动计算多个子操作数据的源地址和目标地址,通过多次矩阵乘运算实现较大形状的矩阵乘运算,这样硬件信息可以隐藏且只需要一条宏指令即可实现较大形状的矩阵乘运算,大大降低编程的复杂性,减少指令发射和解码等开销,降低功耗。
本文档来自技高网...【技术保护点】
1.一种张量处理装置,其特征在于,包括:
2.根据权利要求1所述的张量处理装置,其特征在于,所述第一配置信息用于表征第一计算模块每次计算的数据大小、形状以及起始地址和编址方式;第二配置信息用于表征第二计算模块每次计算的数据大小、形状以及起始地址和编址方式。
3.根据权利要求1所述的张量处理装置,其特征在于,所述指令序列模块还用于根据所述张量运算指令产生选择信号,并根据所述选择信号将第一指令序列发送至第一计算模块或将第二指令序列发送至第二计算模块。
4.根据权利要求1或3所述的张量处理装置,其特征在于,所述张量运算指令包括操作码和操作域,其中,所述操作码包括指令类型和运算码,操作域包括操作数据的源地址以及目标地址。
5.根据权利要求4所述的张量处理装置,其特征在于,所述指令序列模块包括:
6.根据权利要求5所述的张量处理装置,其特征在于,所述指令序列单元还用于根据第一配置信息和操作数据的源地址和目的地址自动计算多个第一子操作数据的地址以得到多个第一运算指令;和/或根据第二配置信息和操作数据的源地址自动计算多个第二子操作数据
7.根据权利要求5所述的张量处理装置,其特征在于,所述指令序列模块还包括:
8.根据权利要求5所述的张量处理装置,其特征在于,所述预设配置信息设置在张量运算指令中或者配置寄存器中。
9.根据权利要求8所述的张量处理装置,其特征在于,所述指令序列模块还包括:
10.一种张量处理方法,其特征在于,包括:
11.根据权利要求10所述的张量处理方法,其特征在于,所述第一配置信息用于表征第一计算模块每次计算的数据大小、形状以及起始地址和编址方式;第二配置信息用于表征第二计算模块每次计算的数据大小、形状以及起始地址和编址方式。
12.根据权利要求10所述的张量处理方法,其特征在于,所述张量运算指令包括操作码和操作域,其中,所述操作码包括指令类型和运算码,操作域包括操作数据的源地址以及目标地址。
13.根据权利要求12所述的张量处理方法,其特征在于,根据张量运算指令和预设配置信息产生第一指令序列和/或第二指令序列包括:
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求10-13中任一项所述的方法。
...【技术特征摘要】
1.一种张量处理装置,其特征在于,包括:
2.根据权利要求1所述的张量处理装置,其特征在于,所述第一配置信息用于表征第一计算模块每次计算的数据大小、形状以及起始地址和编址方式;第二配置信息用于表征第二计算模块每次计算的数据大小、形状以及起始地址和编址方式。
3.根据权利要求1所述的张量处理装置,其特征在于,所述指令序列模块还用于根据所述张量运算指令产生选择信号,并根据所述选择信号将第一指令序列发送至第一计算模块或将第二指令序列发送至第二计算模块。
4.根据权利要求1或3所述的张量处理装置,其特征在于,所述张量运算指令包括操作码和操作域,其中,所述操作码包括指令类型和运算码,操作域包括操作数据的源地址以及目标地址。
5.根据权利要求4所述的张量处理装置,其特征在于,所述指令序列模块包括:
6.根据权利要求5所述的张量处理装置,其特征在于,所述指令序列单元还用于根据第一配置信息和操作数据的源地址和目的地址自动计算多个第一子操作数据的地址以得到多个第一运算指令;和/或根据第二配置信息和操作数据的源地址自动计算多个第二子操作数据的地址以得到多个第二运算指令。
7.根据权...
【专利技术属性】
技术研发人员:请求不公布姓名,徐璐,董光达,熊大鹏,李涛,
申请(专利权)人:苏州亿铸智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。