【技术实现步骤摘要】
一种计算装置及相关产品
本申请涉及信息处理
,具体涉及一种计算装置及相关产品。
技术介绍
神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,这种网络由大量的节点(或称神经元)之间星湖连接构成,通过调整内部大量节点之间相互连接的关系,利用输入数据、权值产生输出数据模拟人脑的信息处理过程处理信息并生成模式识别之后的结果。随着神经网络技术特别是人工神经网络中深度学习(deeplearning)技术的发展,神经网络模型规模越来越大,随之而来的运算量也呈现几何倍数增长,这意味着神经网络需要大量的计算资源和存储资源,大量的计算资源和存储资源的开销会降低神经网络的运算速度,对硬件的传输带宽以及运算器的要求也大大提高了,因此,降低神经网络运算中数据的存储量以及计算量变得十分重要。
技术实现思路
本申请实施例提供了一种计算装置及相关产品,可以通过操作指令控制计算装置实现数据类型的转换,降低神经网络运算中数据的存储量以及计算量,提高效率、节省功耗。第一方面,本申请提供了一种计 ...
【技术保护点】
1.一种计算装置,其特征在于,所述计算装置用于执行神经网络计算,所述计算装置包括:控制单元以及运算单元;/n所述控制单元,用于获取计算指令;/n所述控制单元,还用于解析所述计算指令得到多个操作指令,将所述多个操作指令发送给所述运算单元,其中,所述操作指令包括操作码以及至少一个操作域,所述操作码用于指示所述操作指令的功能,所述操作域用于指示所述操作指令所指向的输入数据的数据信息,所述操作指令包括转换指令以及运算指令,所述转换指令用于控制非幂次格式数据与幂次格式数据之间的相互转换,所述运算指令用于控制神经网络运算,其中,所述输入数据包括神经元数据以及权值数据;/n所述运算单元, ...
【技术特征摘要】
1.一种计算装置,其特征在于,所述计算装置用于执行神经网络计算,所述计算装置包括:控制单元以及运算单元;
所述控制单元,用于获取计算指令;
所述控制单元,还用于解析所述计算指令得到多个操作指令,将所述多个操作指令发送给所述运算单元,其中,所述操作指令包括操作码以及至少一个操作域,所述操作码用于指示所述操作指令的功能,所述操作域用于指示所述操作指令所指向的输入数据的数据信息,所述操作指令包括转换指令以及运算指令,所述转换指令用于控制非幂次格式数据与幂次格式数据之间的相互转换,所述运算指令用于控制神经网络运算,其中,所述输入数据包括神经元数据以及权值数据;
所述运算单元,用于根据所述操作指令获取所述输入数据,并根据所述操作指令以及所述输入数据执行神经网络运算。
2.根据权利要求1所述的装置,其特征在于,所述转换指令的操作码包括第一主操作码以及第一子操作码,所述第一主操作码用于指示数据转换类型,所述第一子操作码用于指示数据转换时的转换需求;其中,所述数据转换类型包括浮点数据转换为幂次数据、定点数据转换为幂次数据、幂次数据转换为浮点数据以及幂次数据转换为定点数据;所述转换需求包括对数据做取上整操作,对数据做取下整操作,对数据做四舍五入操作,对数据做归零操作以及对数据做随机向上向下取整操作。
3.根据权利要求2所述的装置,其特征在于,所述运算指令的操作码包括第二主操作码以及第二子操作码,所述第二主操作码用于指示运算类型,所述第二子操作码用于指示参与运算的数据类型;其中,所述运算类型包括卷积运算、池化运算、激活运算以及矩阵乘矩阵运算。
4.根据权利要求3所述的装置,其特征在于,所述操作指令的操作域包括第一寄存器号,所述第一寄存器号用于指示所述操作指令所指向的输入数据的存储地址信息;
所述操作域还包括:第二寄存器号和/或所述输入数据的数量信息,所述数量信息用于指示所述运算单元获取的所述输入数据的个数,所述第二寄存器号用于指示运算结果的存储地址信息,所述运算结果为所述运算单元对所述输入数据执行完所述操作指令指定的操作后得到的结果。
5.根据权利要求4所述的装置,其特征在于,所述运算单元具体用于:
根据所述转换指令的操作域获取待转换数据,并根据所述转换指令的操作码对所述待转换数据进行转换。
6.根据权利要求4所述的装置,其特征在于,所述运算单元具体用于:
根据所述运算指令的操作域获取神经元数据以及权值数据,并根据所述运算指令的操作码对所述神经元数据以及所述权值数据进行运算,得到运算结果。
7.根据权利要求6所述的装置,其特征在于,所述运算单元包括:一个主处理电路和多个从处理电路;
所述主处理电路,用于对所述输入数据执行前序处理以及与所述多个从处理电路之间传输数据和运算指令;
所述多个从处理电路,用于根据从所述主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将所述多个中间结果传输给所述主处理电路;
所述主处理电路,用于对所述多个中间结果执行后续处理得到所述计算指令的计算结果。
8.根据权利要求7所述的装置,其特征在于,所述运算单元还包括:第一数据转换电路与第二数据转换电路;
所述第一数据转换单元,用于在所述转换指令的控制下将非幂次格式的数据转换为幂次格式的数据,所述第一数据转换电路位于所述主处理电路或所述多个从处理电路;
所述第二数据转换电路,用于在所述转换指令的控制下将幂次格式的数据转换为非幂次格式的数据,所述第二数据转换电路位于所述主处理电路或所述多个从处理电路。
9.根据权利要求1至8任一项所述的装置,其特征在于,所述计算装置还包括:存储单元和直接内存访问单元,所述存储单元包括:寄存器、缓存中任意组合;
所述缓存,用于存储所述输入数据以及计算指令,所述缓存包括高速暂存缓存;
所述寄存器,用于存储所述输入数据中的标量数据;
所述直接内存访问单元用于从存储单元读取数据或向所述存储单元写入数据;
所述控制单元包括:指令缓存单元、指令处理单元和存储队列单元;
所述指令缓存单元,用于存储所述神经网络运算关联的计算指令;
所述指令处理单元,用于对所述计算指令解析得到多个操作指令;
所述存储队列单元,用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个操作指令或计算指令;
所述控制单元还包括:依赖关系处理单元;
所述依赖关系处理单元,用于确定第一操作指令与所述第一操作指令之前的第零操作指令是否存在关联关系,如所述第一操作指令与所述第零操作指令存在关联关系,将所述第一操作指令缓存在所述存储队列单元内,在所述第零操作指令执行完毕后,从所述存储队列单元提取所述第一操作指令传输至所述运算单元;
所述确定所述第一操作指令与所述第一操作指令之前的第零操作指令是否存在关联关系包括:
依据所述第一操作指令提取所述第一操作指令中所需数据的第一存储地址区间,依据所述第零操作指令提取所述第零操作指令中所需数据的第零存储地址区间,如所述第一存储地址区间与所述第零存储地址区间具有重叠的区域,确定所述第一操作指令与所述第零操作指令具有关联关系,如所述第一存储地址区间与所述第零存储地址区间不具有重叠的区域,确定所述第一操作指令与所述第零操作指令不具有关联关系。
10.根据权利要求8所述的装置,其特征在于,所述第一数据转换电路具体用于:
在任务复杂度大于预设阈值的情况下,将所述输入数据中的非幂次数据转换为幂次数据。
11.一种组合处理装置,其特征在于,所述组合处理装置包括一个或多个如权利要求1-10任一项所述的计算装置、通用互联接口、存储装置和其他处理装置,所述计算装置用于从其他处理装置中获取待运算输入数据和控制信息,并执行指定的神经网络运算,将执行结果通过通用互联接口传递给其他处理装置;
当所述组合处理装置包含多个所述计算装置时,所述多个所述计算装置间可以通过特定的结构进行连接并传输数据;
其中,多个所述计算装置通过快速外部设备互连总线PCIE总线进行互联并传输数据,以支持更大规模的神经网络的运算;多个所述计算装置共享同一控制系统或拥有各自的控制系统;多个所述计算装置共享内存或者拥有各自的内存;多个所述计算装置的互联方式是任意互联拓扑;
存储装置,所述存储装置分别与所述多个所述计算装置和所述其他处理装置连接,用于保存所述组合处理装置和所述其他处理装置的数据。<...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。