CN109993284B - 集成电路芯片装置及相关产品 - Google Patents

集成电路芯片装置及相关产品 Download PDF

Info

Publication number
CN109993284B
CN109993284B CN201711478689.9A CN201711478689A CN109993284B CN 109993284 B CN109993284 B CN 109993284B CN 201711478689 A CN201711478689 A CN 201711478689A CN 109993284 B CN109993284 B CN 109993284B
Authority
CN
China
Prior art keywords
circuit
data
instruction
processing circuit
probability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711478689.9A
Other languages
English (en)
Other versions
CN109993284A (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cambricon Technologies Corp Ltd
Original Assignee
Cambricon Technologies Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN201711478689.9A priority Critical patent/CN109993284B/zh
Publication of CN109993284A publication Critical patent/CN109993284A/zh
Application granted granted Critical
Publication of CN109993284B publication Critical patent/CN109993284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)

Abstract

本披露提供一种集成电路芯片装置及相关产品,所述集成电路芯片装置包括:控制电路、存储电路、数据转换电路、运算电路,其中,所述控制电路,用于接收神经网络的第一指令,解析所述第一指令确定所述第一指令的输入数据、权值和运算指令,提取所述存储电路存储的输入数据和权值,将该输入数据、权值和运算指令发给所述运算电路;所述存储电路,用于存储输入数据和权值;所述数据转换电路,用于执行浮点数据类型与概率数据类型之间的转换;所述运算电路,用于将所述输入数据和所述权值以所述概率数据类型执行所述运算指令对应的运算得到计算结果。本披露提供的技术方案具有计算量小,节省存储空间,运算速率加快、功耗低的优点。

Description

集成电路芯片装置及相关产品
技术领域
本披露涉及神经网络领域,尤其涉及一种集成电路芯片装置及相关产品。
背景技术
人工神经网络(Artificial Neural Network,即ANN),是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。现有的神经网络的运算基于CPU(Central Processing Unit,中央处理器)或GPU(英文:Graphics Processing Unit,图形处理器)来实现神经网络的运算,此种运算的计算量大,功耗高。
发明内容
本披露实施例提供了一种集成电路芯片装置及相关产品,可提升计算装置的处理速度,提高效率。
第一方面,提供一种集成电路芯片装置,所述集成电路芯片装置包括:控制电路、存储电路、数据转换电路、运算电路,其中,所述控制电路,用于接收神经网络的第一指令,解析所述第一指令确定所述第一指令的输入数据、权值和运算指令,提取所述存储电路存储的输入数据和权值,将该输入数据、权值和运算指令发给所述运算电路;所述存储电路,用于存储输入数据和权值;所述数据转换电路,用于执行浮点数据类型与概率数据类型之间的转换;所述运算电路,用于将所述输入数据和所述权值以所述概率数据类型执行所述运算指令对应的运算得到计算结果。
第二方面,提供了一种集成电路芯片装置,其特征在于,所述集成电路芯片装置包括所述主处理电路以及多个基础处理电路;所述主处理电路,用于接收神经网络的第一指令,解析所述第一指令确定所述第一指令的输入数据、权值和运算指令以及与所述基础处理电路传输数据获取神经网络运算中的输入数据和权值数据;所述主处理电路包括;数据类型转换电路,所述数据类型转换电路,用于将输入数据和权值数据转换成概率类型的输入数据和概率类型的权值数据;所述主处理电路,还用于将概率类型的输入数据和概率类型的权值数据发送给所述多个基础处理电路;所述多个基础处理电路,用于将概率类型的输入数据和概率类型的权值数据依据所述主处理电路传输的数据以并行方式执行神经网络中的运算,并将运算结果传输给所述主处理电路;所述主处理电路,用于对运算结果处理得到计算结果。
第三方面,提供一种神经网络运算装置,所述神经网络运算装置包括一个或多个第一方面提供的集成电路芯片装置。
第四方面,提供一种组合处理装置,所述组合处理装置包括:第二方面提供的神经网络运算装置、通用互联接口和通用处理装置;
所述神经网络运算装置通过所述通用互联接口与所述通用处理装置连接。
第五方面,提供一种芯片,所述芯片集成第一方面的装置、第二方面的装置或第三方面的装置。
第六方面,提供一种智能设备,所述电子设备包括第四方面的芯片。
第七方面,提供一种神经网络的运算方法,所述方法应用在集成电路芯片装置内,所述集成电路芯片装置包括:第一方面所述的集成电路芯片装置,所述集成电路芯片装置用于执行神经网络的运算。
可以看出,通过本披露实施例,提供数据转换运算电路将数据块的类型进行转换后运算,节省了传输资源以及计算资源,所以其具有功耗低,计算量小的优点。
附图说明
为了更清楚地说明本披露实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本披露的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是一种集成电路芯片装置结构示意图;
图1b是另一种集成电路芯片装置结构示意图;
图1c是一种运算电路的运算示意图;
图1d是一种运算电路的运算示意图;
图2a是另一种集成电路芯片装置结构示意图;
图2b是另一种基础处理电路的结构示意图;
图3a是另一种集成电路芯片装置结构示意图;
图3b是一种运算电路的运算示意图;
图4a为本披露还揭露了一个组合处理装置结构示意图;
图4b为本披露还揭露了一个组合处理装置另一种结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本披露方案,下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
下面结合附图对本申请实施例进行介绍。
参阅图1a,所述集成电路芯片装置包括:控制电路、存储电路、数据转换电路、运算电路,其中,
所述控制电路,用于接收神经网络的第一指令,解析所述第一指令确定所述第一指令的输入数据、权值和运算指令,提取所述存储电路存储的输入数据和权值,将该输入数据、权值和运算指令发给所述运算电路;所述存储电路,用于存储输入数据和权值;所述数据转换电路,用于执行浮点数据类型与概率数据类型之间的转换;所述运算电路,用于将所述输入数据和所述权值以所述概率数据类型执行所述运算指令对应的运算得到计算结果。
其中,所述存储电路可以根据控制和需求读取相关数据传入数据转换电路或运算电路中进行处理,也可以接收运算电路传来的中间结果数据或最终结果数据写入存储电路的指定位置等操作,其存储格式可以根据需求存储数字数据(包括浮点数格式、概率数格式等)、概率数据(位串格式等)中的一种或者混合形式,每个数据的位数也可以根据控制电路的控制来进行调整。
可选的,如图1b所示,图1b所述集成电路芯片装置111包括:控制电路1115、存储电路1111、运算电路1116,其中,所述控制电路1115,用于接收神经网络的第一指令,解析所述第一指令确定所述第一指令的输入数据、权值和运算指令,提取所述存储电路1111存储的输入数据和权值,将该输入数据、权值和运算指令发给所述运算电路1116;所述存储电路1111,用于存储输入数据和权值;所述运算电路1116,用于将所述输入数据和所述权值以所述概率数据类型执行所述运算指令对应的运算得到计算结果,所述运算电路包括数据转换电路1120,所述数据转换电路1120,用于执行浮点数据类型与概率数据类型之间的转换。
可选的,所述数据转化电路可以在所述存储电路之前,也可在所述缓存电路之前,即所述数据转换电路与、存储电路、数据转换电路、运算电路之间的位置,此处不做唯一限定。
在一个可能的示例中,所述数据转换电路所述数据转换电路包括数字-概率转换模块、概率--数字转换模块和/或数据处理模块。
其中,所述数据转换电路包括数字-概率转换模块,概率-数字转换模块,优选的还包括数据处理模块等,根据给定的控制信息从存储电路中读取相应的数据进行所需的转换或者处理后传输给运算电路。优选包括的数据处理模块电以根据要求对数据进行处理,如压缩处理、扩展处理、随机变换等。
在一个可能的示例中,所述运算电路包括与门,所述与门用于执行所述输入数据和所述权值之间的加法运算。
在一个可能的示例中,所述运算电路还包括或门,所述或门用于计算所述输入数据和所述权值之间的乘法运算。
在一个可能的示例中,所述运算电路还包括:组合电路,所述组合电路包括:至少两种类型的门电路构成的并行计数器组合电路构成,所述门电路包括与门、或门、异或门。其中,运算电路用于完成概率运算,包括多种实现方式,如乘法-累加方式、类脉动阵列方式等,从存储电路或者数据转换电路中读取数据并进行指定运算,得到的中间结果数据或者最终结果数据写入存储数据的指定位置。每种运算均可以由一种或多种相应的电路组合方式构成,如乘法电路、加法电路可以由与门、或门、异或门等门电路构成或者近似并行计数器等组合电路构成,除法电路、激活函数等可以由有限状态机来实现完成。也可以采用模拟电路构成,其各个部件可以根据需求进行开关控制。根据概率数据的表示方式不同,其运算的电路和组成结构也不同。
举例来说,用1个比特串对数据进行表示,该比特串利用模拟-数字转换器来生成,即首先将原来的数据通过随机的方式变为一个数列,该数列的均值为原数据值,方差为给定的数值,而后,将该数列作为模拟电路的电压输入,经过模拟-数字转换器得到一组比特串,即为所需的比特串。
假定最初的输入的为数字数据,概率信号采用如上方式。运算电路可采用的乘法-累加的方式完成。那么首先,控制电路发出指令,将神经元和突触权值的数字数据从存储电路中取出,传送到数据转换电路中的数字-概率转换模块将数据转换为上述位串,分别用n和w进行表示。而后传送到运算电路。运算电路根据控制电路的控制进行运算。这里,运算电路采用常见的乘法-累加的方式完成,即包括乘法单元、加法树单元和激活单元,如图1c所示。由于第一组数据累加结束后,数据并非最终结果数据,故跳过激活单元,将中间结果存入存储电路进行保存,等待得到后面的运算结果,累加并保存,直到全部累加完毕,送入激活单元进行激活,得到最终结果,送入存储电路进行保存。而后,当进行下一层运算的时候,此时数据已经为概率数据了。如果需要对数据进行缩放处理,那么传入数据转换电路中的数据处理模块中进行缩放处理,否则可以跳过数据转换电路,直接将数据传入运算电路中进行运算。类似的,直到全部运算运算完毕。
可见,本示例中,由于将神经网络的浮点数运算映射到概率域,用概率运算来代替传统的浮点数运算,从而能够大大提高其运算部分占用的面积空间和运算过程中的运算功耗。同时,只采用位运算对应的运算器,降低了电路的复杂度,从而提高电路的可扩展性。有利于采用概率运算的神经网络能够加快传输速度,提高运算速度,同时降低了电路的复杂度,减少了电路的面积开销和功耗开销。
在一个可能的示例中,所述集成电路芯片装置还包括缓存电路;所述缓存电路,用于缓存所述指令、输入数据和权值,所述缓存电路包括指令缓存电路和数据缓存电路,所述数据缓存电路包括权值缓存电路、输入神经元电路、输出神经元电路。
举例来说,用1个或多个位串表示概率数据,其中原数据值与每个位串中的0或1的个数占位串总位数的概率值相等。不妨这里假定最初的输入的为数字数据,概率信号采用2行位串的形式,其中,每一行的位串中的0的个数占字符串总字数的比例与所需的概率值相等。运算时,每一个运算数据都是随机从对应的2个位串之中选择出来作为运算数据。即同一个数据被调用时,每一次和另一次的数据可能相同也可能不同。运算电路采用的乘法-累加的方式完成。那么首先,控制电路发出指令,将神经元和突触权值的数字数据从存储电路中取出,传送到数据转换电路中的数字-概率转换模块将数据转换为概率数据,分别用n 和w进行表示。而后传送到运算电路。运算电路根据控制电路的控制进行运算。这里,运算电路采用常见的乘法-累加的方式完成,即包括乘法单元、加法树单元和激活单元。如下图1c所示。由于第一组数据累加结束后,数据并非最终结果数据,故跳过激活单元,将中间结果存入存储电路进行保存,等待得到后面的运算结果,累加并保存,直到全部累加完毕,送入激活单元进行激活,得到最终结果,送入存储电路进行保存。而后,当进行下一层运算的时候,此时数据再次送入数据处理模块,依次随机选择两行位串中指定位的值送入运算电路进行运算。如果需要对数据进行缩放处理,那么传入数据转换电路中的数据处理模块中进行缩放处理,而后将数据传入运算电路中进行运算。类似的,直到全部运算运算完毕。
其中,运算电路中的各个单元都可以由简单的电路实现,如上述例子中,我们采用0在位串中的比例来表示概率数据,那么可以分别用或门和与门实现乘法和加法功能。(如下图1d所示)如果采用1在位串中的比例来表示概率数据,同时为双极数据,那么可以分别用异或门和近似并行计数器来实现乘法和加法功能。不同的表示方法间可以自由组合,完成最终的运算电路。
可见,本示例中,由于将神经网络的浮点数运算映射到概率域,用概率运算来代替传统的浮点数运算,从而能够大大提高其运算部分占用的面积空间和运算过程中的运算功耗。
参阅图2a,图2a为另一种集成电路芯片装置结构示意图,所述集成电路芯片装置包括所述主处理电路以及多个基础处理电路;所述主处理电路,用于接收神经网络的第一指令,解析所述第一指令确定所述第一指令的输入数据、权值和运算指令以及与所述基础处理电路传输数据获取神经网络运算中的输入数据和权值数据;所述主处理电路包括;数据类型转换电路,所述数据类型转换电路,用于将输入数据和权值数据转换成概率类型的输入数据和概率类型的权值数据;所述主处理电路,还用于将概率类型的输入数据和概率类型的权值数据发送给所述多个基础处理电路;所述多个基础处理电路,用于将概率类型的输入数据和概率类型的权值数据依据所述主处理电路传输的数据以并行方式执行神经网络中的运算,并将运算结果传输给所述主处理电路;所述主处理电路,用于对运算结果处理得到计算结果;所述分支处理电路,用于在主处理电路与至少一个基础处理电路之间转发数据,所述数据为:向量、矩阵、三维数据块、四维数据块以及n维数据块中一种或任意组合。
在一个可能的示例中,所述主处理电路,用于获取待计算的数据块以及运算指令,通过所述数据类型转换电路将待计算的数据块转换成概率类型的数据块,依据该运算指令对概率类型的待计算的数据块划分成分发数据块以及广播数据块;对所述分发数据块进行拆分处理得到多个基本数据块,将所述多个基本数据块分发至所述至少一个基础处理电路,将所述广播数据块广播至所述至少一个基础处理电路;所述基础处理电路,用于对所述基本数据块与所述广播数据块以概率类型执行内积运算得到运算结果,将所述运算结果发送至所述主处理电路;所述主处理电路,用于对所述运算结果处理得到所述待计算的数据块以及运算指令的指令结果。
在一个可能的示例中,所述主处理电路,用于在如所述运算结果为内积处理的结果时,对所述运算结果与门后得到与门结果,将该与门结果排列得到所述待计算的数据块以及运算指令的指令结果。
在一个可能的示例中,所述主处理电路,具体用于将所述广播数据块分成多个部分广播数据块,将所述多个部分广播数据块通过多次广播至所述多个基础处理电路。
在一个可能的示例中,所述基础处理电路,具体用于将所述部分广播数据块与所述基本数据块以概率数据类型执行一次内积处理后得到内积处理结果,将所述内积处理结果与门得到部分运算结果,将所述部分运算结果发送至所述主处理电路;所述基础处理电路,具体用于复用n次该部分广播数据块执行该部分广播数据块与该n个基本数据块内积运算得到n个部分处理结果,将n个部分处理结果分别与门后得到n 个部分运算结果,将所述n个部分运算结果发送至主处理电路,所述n为大于等于2的整数。
在一个可能的示例中,所述主处理电路包括:主寄存器或主片上缓存电路,所述主处理电路包括:向量运算器电路、算数逻辑单元电路、与门电路、矩阵转置电路、直接内存存取电路、数据类型转换电路或数据重排电路中的一种或任意组合;所述基础处理电路包括:基本寄存器或基本片上缓存电路。
在一个可能的示例中,如所述运算指令为乘法指令,所述主处理电路确定乘数数据块为广播数据块,被乘数数据块为分发数据块;如所述运算指令为卷积指令,所述主处理电路确定输入数据块为广播数据块,卷积核为分发数据块。
其中,主处理电路可以包括寄存器和/或片上缓存电路,该主处理电路还可以包括:控制电路、向量运算器电路、ALU(arithmetic and logic unit,算数逻辑单元)电路、与门电路、DMA(Direct Memory Access,直接内存存取)电路等电路,当然在实际应用中,上述主处理电路还可以添加,转换电路(例如矩阵转置电路)、数据重排电路或激活电路等等其他的电路;
可选的,主处理电路可以包括:数据类型转换运算电路,数据类型转换运算电路可以用于将接收或发送的数据从浮点类型数据转换成概率类型数据,当然在实际应用中,也可以将概率类型数据转换成浮点类型数据。本发明并不限制上述数据类型转换运算电路的具体形式。
主处理电路还包括数据发送电路、数据接收电路或接口,该数据发送电路可以集成数据分发电路以及数据广播电路,当然在实际应用中,数据分发电路以及数据广播电路也可以分别设置;在实际应用中上述数据发送电路以及数据接收电路也可以集成在一起形成数据收发电路。对于广播数据,即需要发送给每个基础处理电路的数据。对于分发数据,即需要有选择的发送给部分基础处理电路的数据,具体的选择方式可以由主处理电路依据负载以及计算方式进行具体的确定。对于广播发送方式,即将广播数据以广播形式发送至每个基础处理电路。(在实际应用中,通过一次广播的方式将广播数据发送至每个基础处理电路,也可以通过多次广播的方式将广播数据发送至每个基础处理电路,本申请具体实施方式并不限制上述广播的次数),对于分发发送方式,即将分发数据有选择的发送给部分基础处理电路。
在实现分发数据时,主处理电路的控制电路向部分或者全部基础处理电路传输数据(该数据可以相同,也可以不同,具体的,如果采用分发的方式发送数据,各个接收数据的基础处理电路收到的数据可以不同,当然也可以有部分基础处理电路收到的数据相同;
具体地,广播数据时,主处理电路的控制电路向部分或者全部基础处理电路传输数据,各个接收数据的基础处理电路可以收到相同的数据。
可选的,上述主处理电路的向量运算器电路可以执行向量运算,包括但不限于:每种运算均可以由一种或多种相应的电路组合方式构成,如乘法电路、加法电路可以由与门、或门、异或门等门电路构成或者近似并行计数器等组合电路构成,除法电路、激活函数等可以由有限状态机来实现完成。
其中,使用如图2a的装置实现激活函数的方法
利用主处理电路的激活电路输入一向量,计算出该向量的激活向量;
在一种可选方案中,主处理电路激活电路将输入向量中的每一个值通过一个激活函数(激活函数的输入是一个数值,输出也是一个数值),计算出一个数值输出到输出向量的对应位置;
在一种可选方案中,激活函数可以是:y=max(m,x),其中x是输入数值,y是输出数值,m是一个常数;
在一种可选方案中,激活函数可以是:y=tanh(x),其中x是输入数值,y是输出数值;
在一种可选方案中,激活函数可以是:y=sigmoid(x),其中x是输入数值,y是输出数值;
在一种可选方案中,激活函数可以是一个分段线性函数;
在一种可选方案中,激活函数可以是任意输入一个数,输出一个数的函数。
在一种可选方案中,输入向量的来源有(包括但不限于):
所述装置的外部数据来源;
在一种可选方案中,输入数据来自所述装置进行矩阵乘向量的运算结果;
在一种可选方案中,输入数据来自所述装置进行矩阵乘矩阵的运算结果。
每个基础处理电路可以包括基础寄存器和/或基础片上缓存电路;每个基础处理电路还可以包括:内积运算器电路、向量运算器电路、与门电路等中一个或任意组合。
上述内积运算器电路、向量运算器电路、与门电路都可以是集成电路,上述内积运算器电路、向量运算器电路、与门电路也可以为单独设置的电路。
该芯片装置可选的还可以包括一个或多个分支处理电路,如具有分支处理电路时,其中主处理电路与分支处理电路连接,该分支处理电路与基本处理电路连接,该基本处理电路的内积运算器电路用于执行数据块之间的内积运算,该主处理电路的控制电路控制数据接收电路或数据发送电路收发外部数据,以及通过控制电路控制数据发送电路将外部数据分发至分支处理电路,该分支处理电路用于收发主处理电路或基本处理电路的数据。如图2a所示的结构适合复杂数据的计算,因为对于主处理电路来说,其连接的单元的数量有限,所以需要在主处理电路与基本处理电路之间添加分支处理电路以实现更多的基本处理电路的接入,从而实现对复杂数据块的计算。分支处理电路和基础处理电路的连接结构可以是任意的,不局限在图2a的H型结构。可选的,主处理电路到基础处理电路是广播或分发的结构,基础处理电路到主处理电路是收集(gather)的结构。广播,分发和收集的定义如下,对于分发或广播结构,此时的基础处理电路的数量大于主处理电路,即1个主处理电路对应多个基础处理电路,即从主处理电路到多个基础处理电路为广播或分发的结构,反之,从多个基础处理电路到主处理电路可以为收集结构。
基础处理电路,接收主处理电路分发或者广播的数据保存到基础处理电路的片上缓存中,可以进行运算产生结果,可以向主处理电路发送数据。
基础处理电路中所涉及到的数据可以是任意数据类型的数据,可以是任意位宽的浮点数表示的数据也可以是任意位宽的概率数表示的数据;涉及到的所有运算电路和存储电路都可以是能够处理的任意数据类型的运算电路和存储电路,可以是任意位宽的浮点数的运算电路和存储电路也可以是任意位宽的概率数的运算电路和存储电路。
可选的,每个基础处理电路均可以包括数据类型转换运算电路,也可以在部分基础处理电路配置数据类型转换运算电路;数据类型转换运算电路可以用于将接收或发送的数据从浮点类型数据转换成概率类型数据,也可以将概率类型数据转换成浮点类型数据。本发明并不限制上述数据类型转换运算电路的具体形式。
可选的,该基础处理电路的向量运算器电路可以对数据类型转换后的两个向量执行的向量运算,当然在实际应用中,基础处理电路的内积运算器电路可以对数据类型转换后的两个向量执行内积运算,与门电路也可以对内积运算的结果进行累加。
在一种可选方案中,两个向量可以存放在片上缓存和/或寄存器中,基础处理电路可以根据实际计算的需要提取两个向量执行运算。该运算包括但不限于:内积运算、乘法运算、加法运算或其他的运算。
在一种可选方案中,内积运算的结果可以累加到片上缓存和/或寄存器上;其可选方案的优点是,减少了基础处理电路和主处理电路之间的数据传输量,提高了运算效率,降低了数据传输功耗。
在一种可选方案中,内积运算的结果不进行累加,直接作为结果传输;此技术方案的优点是,减少了基础处理电路内部的运算量,提高基础处理电路的运算效率。
在一种可选方案中,每个基础处理电路可以执行多组两个向量的内积运算,也可以对多组内积运算的结果分别进行累加;
在一种可选方案中,多组的两个向量数据可以存放在片上缓存和/或寄存器中;
在一种可选方案中,多组内积运算的结果可以分别累加到片上缓存和/或寄存器中;
在一种可选方案中,各组内积运算的结果可以不进行累加,直接作为结果传输;
在一种可选方案中,每个基础处理电路可以执行同一个向量与多个向量分别进行内积运算的操作(“一对多”内积,即多组内积里每组的两个向量中有一个向量是共享的),并将每个向量对应的内积结果分别进行累加。此技术方案可以实现同一套权值对不同的输入数据进行多次计算,增加了数据复用,减少基础处理电路内部数据的数据传输量,提高计算效率,降低功耗。
具体地,计算内积使用的数据中,各组共享的向量和每组的另一个向量(即每组之间不同的那个向量) 的数据来源可以不同:
在一种可选方案中,在计算内积时,各组共享的向量来自主处理电路或者分支处理电路的广播或者分发;
在一种可选方案中,在计算内积时,各组共享的向量来自片上缓存;
在一种可选方案中,在计算内积时,各组共享的向量来自寄存器;
在一种可选方案中,在计算内积时,每组的另一个非共享向量来自主处理电路或者分支处理电路的广播或者分发;
在一种可选方案中,在计算内积时,每组的另一个非共享向量来自从片上缓存;
在一种可选方案中,在计算内积时,每组的另一个非共享向量来自寄存器;
在一种可选方案中,在进行多组的内积运算时,每组共享的向量在基础处理电路的片上缓存和/寄存器中保留任意份数;
在一种可选方案中,共享向量可以对应每组内积各保留一份;
在一种可选方案中,共享向量可以只保留一份;
具体地,多组内积运算的结果可以分别累加到片上缓存和/或寄存器中;
具体地,各组内积运算的结果可以不进行累加,直接作为结果传输;
参阅图2a所示的结构,其包含一主处理电路(可以执行向量操作),多基础处理电路(可以执行内积操作)。这样组合的好处是:装置不仅能使用基础处理电路执行矩阵和向量乘法运算,也能使用主处理电路执行其他任意的向量运算,使装置在有限的硬件电路的配置下,能够更快的完成更多的运算,减少了与装置外部进行数据传输的次数,提高了计算效率,降低了功耗。另外,本芯片在基础处理电路和/或主处理电路均可以设置数据类型转换运算电路,这样在进行神经网络计算时能够将浮点类型数据转换成概率类型数据,也可以将概率类型数据转换成浮点类型数据,并且本芯片可以依据各个电路(主要是主处理电路和基础处理电路)的运算量(即负载量)动态的分配由那个电路将数据类型进行转换,这样能够减少数据计算的复杂程序,降低功耗,并且动态的分配数据类型的转换能够实现不影响芯片的计算效率。该分配的方式包括但不限于:负载均衡、负载最小值分配等等方式。
主处理电路(具体的结构如图2b所示)与N个基础处理电路可以直接或间接连接,如为间接连接的方式时,一种可选的方案如图2a所示可以包括N/4个分支处理电路,每个分支处理电路分别连接4个基础处理电路,对于主处理电路以及N个基础处理电路分别包含的电路可以参见上述如图2a所示的描述,这里不再赘述,这里需要说明的是,上述基础处理电路还可以设置在分支处理电路内,另外,每个分支处理电路连接基础处理电路的数量也可以不局限于4个,厂家可以根据实际需要进行配置。该上述主处理电路和/或N个基础处理电路均可以包括数据类型转换运算电路,具体的,可以是主处理电路包括数据类型转换电路,也可以是N个基础处理电路或其中的一部分包括数据类型转换电路,也可以是主处理电路和N 个基础处理电路或其中的一部分均包括。上述主处理电路可以根据神经网络计算指令动态的分配数据类型转换步骤的操作实体,具体的,主处理电路可以根据自身的负载确定是否对接收到的数据执行数据类型转换步骤,具体的,可以将负载的值设置多个区间,每个区间对应分配数据类型转换步骤的执行主体,例如,以3个区间为例,区间1的负载值较低,可以由主处理电路单独执行数据类型转换步骤,区间2负载值位于区间1以及区间3之间,可以由主处理电路或N个基础处理电路共同执行数据类型转换步骤,区间3负载值较高,可以由N个基础处理电路执行数据类型转换步骤。对此,可以以明示的方式来执行,例如主处理电路可以配置一个特殊指示或指令,当基础处理电路接收到该特殊指示或指令时,确定执行数据类型转换步骤,如基础处理电路未接收到特殊指示或指令时,确定不执行数据类型转换步骤。又如,可以以暗示的方式来执行,例如,基础处理电路接收到数据类型为浮点类型的数据且确定需要执行内积运算时,将该数据类型转换成概率类型的数据。
下面提供一种采用如图2a所示的装置实现计算的方法,该计算的方法具体可以为神经网络的计算方式,例如神经网络的正向运算,神经网络的训练,在实际应用中,正向运算依据不同的输入数据可以执行矩阵乘矩阵、卷积运算、激活运算、变换运算等等运算,上述运算均可以采用如图2a所示的装置实现。
主处理电路的数据转换运算电路先对数据的类型进行转换然后由控制电路传输给基础处理电路运算,例如,主处理电路的数据转换运算电路可以将浮点数转换成位宽更低的概率数再传输给基础处理电路,其优点是可以减少传输数据的位宽,减少传输的总比特数量,基础处理电路执行地位宽概率运算的效率也更高,功耗更低。
如基础处理电路接收到的数据为浮点数据,那么基础处理电路可以收到数据后由数据转换运算电路先进行数据类型转化然后再进行计算,例如,基础处理电路收到主处理电路传输过来的浮点数,数据转换运算电路然后转换为概率数,然后基础处理电路的内积运算器电路、向量运算器电路或与门电路进行运算,提高运算效率,降低功耗。
基础处理电路计算出结果之后可以先进行数据类型转换然后再传输给主处理电路,例如,基础处理电路计算出的浮点数运算结果可以先转换为低位宽的概率数然后再传输给主处理电路,其好处是降低了传输过程的数据位宽,效率更高,而且节约了功耗。
主处理电路将待计算的数据传输到全部或者一部分基础处理电路上;以矩阵乘以向量计算为例,主处理电路的控制电路可以将矩阵数据拆分每列作为一个基础数据,例如m*n矩阵,可以拆分成n个m行的向量,主处理电路的控制电路将拆分后的n个m行的向量分发给多个基础处理电路。对于向量,主处理电路的控制电路可以将向量整体广播给每个基础处理电路。如果m的值比较大,那么控制电路可以先将m*n 矩阵拆分成x*n个向量,以x=2为例,具体的可以拆分成,2n个向量,每个向量包含m/2行,即将n个m 行的向量中每个向量均分成2个向量,以第一行为例,如n个m行的向量的第一个向量为1000行,那么均分成2个向量可以为,将前500行组成第一向量,将后500行组成第二向量,控制电路通过2个广播将 2个向量广播给多个基础处理电路。
所述数据传输的方式可以是广播或者分发,或者其他任何可能的传输方式;
基础处理电路接收到数据后,执行运算,得到运算结果;
基础处理电路将运算结果传输回主处理电路;
所述运算结果可以是中间运算结果,也可以是最终运算结果。
参阅图3a,图3a是本申请实施例提供的另一种集成电路芯片装置,如图所示,本集成电路芯片装置包括;主处理电路和多个基础处理电路,所述多个基础处理电路呈阵列排布(m*n阵列),其中,m、n的取值范围为大于等于1的整数且m、n中至少有一个值大于等于2。对于m*n阵列分布的多个基础处理电路,每个基础处理电路与相邻的基础处理电路连接,所述主处理电路连接多个基础处理电路的k个基础处理电路,所述k个基础处理电路可以为:第1行的n个基础处理电路、第m行的n个基础处理电路以及第1 列的m个基础处理电路。如图3a 所示的运算电路,主处理电路和/或多个基础处理电路可以包括数据类型转换电路,具体的多个基础处理电路中可以有部分基础处理电路包括数据类型转换电路,例如,在一个可选的技术方案中,可以将k个基础处理电路配置数据类型转换电路,这样n个基础处理电路可以分别负责对本列的m个基础处理电路的数据进行数据类型转换步骤。此设置能够提高运算效率,降低功耗,因为对于第1行的n个基础处理电路来说,由于其最先接收到主处理电路发送的数据,那么将该接收到的数据转换成概率类型的数据可以减少后续基础处理电路的计算量以及与后续基础处理电路的数据传输的量,同理,对于第一列的m个基础处理电路配置数据类型转换电路也具有计算量小和功耗低的优点。另外,依据该结构,主处理电路可以采用动态的数据发送策略,例如,主处理电路向第1列的m个基础处理电路广播数据,主处理电路向第1行的n个基础处理电路发送分发数据,此优点是,通过不同的数据输入口传递不同的数据到基础处理电路内,这样基础处理电路可以不区分该接收到的数据是何种数据,只需要确定该数据从哪个接收端口接收即可以获知其属于何种数据。
所述主处理电路,用于执行神经网络运算中的各个连续的运算以及和与其相连的所述基础处理电路传输数据;上述连续的运算但不限于:与门运算、ALU运算、激活运算等等运算。
所述多个基础处理电路,用于依据传输的数据以并行方式执行神经网络中的运算,并将运算结果通过与所述主处理电路连接的基础处理电路传输给所述主处理电路。上述并行方式执行神经网络中的运算包括但不限于:内积运算、矩阵或向量乘法运算等等。
主处理电路可以包括:数据发送电路、数据接收电路或接口,该数据发送电路可以集成数据分发电路以及数据广播电路,当然在实际应用中,数据分发电路以及数据广播电路也可以分别设置。对于广播数据,即需要发送给每个基础处理电路的数据。对于分发数据,即需要有选择的发送给部分基础处理电路的数据,具体的,如卷积运算,卷积运算的卷积输入数据需要发送给所有的基础处理电路,所有其为广播数据,卷积核需要有选择的发送给部分基础数据块,所以卷积核为分发数据。分发数据具体的选择发送给那个基础处理电路的方式可以由主处理电路依据负载以及其他分配方式进行具体的确定。对于广播发送方式,即将广播数据以广播形式发送至每个基础处理电路。(在实际应用中,通过一次广播的方式将广播数据发送至每个基础处理电路,也可以通过多次广播的方式将广播数据发送至每个基础处理电路,本披露具体实施方式并不限制上述广播的次数),对于分发发送方式,即将分发数据有选择的发送给部分基础处理电路。
举例来说,根据如图3a所示的运算电路,将其转化为某个比特串时,该比特串中的每一位对应某种特定的模拟电路中的一个开关,该值0或者1表示该开关的关闭或者开启,而对应该模拟电路中开启的概率值即为该输入的数据数值。不妨假设输入的数据为数字表示,用x表示其归一化后的概率值。假定该模拟电路为如下图3b所示,其中的元件指某种电子元件或者电子元件组合,如电阻、电容等。用1表示该开关开启,用0表示该开关关闭,那么原数据可以用多个不同宽度的比特串组成的开关组合表示,只要该组合能够满足x=v0/(VH-VL)*100%。该开关组合并不唯一。比特串个数也不唯一。
此时,不妨假定采用类脉动阵列的方式来实现神经网络算法,假定最初的输入的为数字数据,概率信号采用3行位串的形式,其中,其表示含义如上段所述。每个运算单元完成乘法-累加的工作,而后可以将部分和或者运算数据按照一定的方向传递个另一个运算单元,不妨假定向右传递部分和。那么首先,控制电路发出指令,将神经元和突触权值的数字数据从存储电路中取出,传送到数据转换电路中的数字-概率转换模块将数据转换为概率数据,分别用n和w进行表示。而后传送到运算电路。运算电路根据控制电路的控制进行运算。不妨首先对输入数据进行相称,并和传来的部分和进行与门计算,而后向右传递部分和。右边的运算单元将输入的神经元数据和权值数据进行相乘后,和左边传来的部分和进行与门计算,而后继续向右传递,以此类推。如果传到最右端,尚未得到最终结果,送入存储电路进行保存。否则经过激活单元,进行激活后,存入存储单元进行保存。而后,当进行下一层运算的时候,此时数据已经为概率数据了。如果需要对数据进行缩放处理,那么传入数据转换电路中的数据处理模块中进行缩放处理,否则可以跳过数据转换电路,直接将数据传入运算电路中进行运算。类似的,直到全部运算运算完毕。
可见,本示例中,由于采用“位流”的方式来表示神经网络中的数据,能够大大节省存储空间,降低传输开销,从而加快传输速度,减少传输功耗。
本披露还揭露了一个神经网络运算装置,其包括一个或多个在如图1a或如图2a及图3a所示的芯片,用于从其他处理装置中获取待运算数据和控制信息,执行指定的神经网络运算,执行结果通过I/O接口传递给外围设备。外围设备譬如摄像头,显示器,鼠标,键盘,网卡,wifi接口,服务器。当包含一个以上神如图1a或如图2a及图3a所示的芯片时,如图1a或如图2a及图3a所示的芯片间可以通过特定的结构进行链接并传输数据,譬如,通过PCIE总线进行互联并传输数据,以支持更大规模的神经网络的运算。此时,可以共享同一控制系统,也可以有各自独立的控制系统;可以共享内存,也可以每个加速器有各自的内存。此外,其互联方式可以是任意互联拓扑。
该神经网络运算装置具有较高的兼容性,可通过PCIE接口与各种类型的服务器相连接。
本披露还揭露了一个组合处理装置,其包括上述的神经网络运算装置,通用互联接口,和其他处理装置(即通用处理装置)。神经网络运算装置与其他处理装置进行交互,共同完成用户指定的操作。如4a下图为组合处理装置的示意图。
其他处理装置,包括中央处理器CPU、图形处理器GPU、神经网络处理器等通用/专用处理器中的一种或以上的处理器类型。其他处理装置所包括的处理器数量不做限制。其他处理装置作为神经网络运算装置与外部数据和控制的接口,包括数据搬运,完成对本神经网络运算装置的开启、停止等基本控制;其他处理装置也可以和神经网络运算装置协作共同完成运算任务。
通用互联接口,用于在所述神经网络运算装置与其他处理装置间传输数据和控制指令。该神经网络运算装置从其他处理装置中获取所需的输入数据,写入神经网络运算装置片上的存储装置;可以从其他处理装置中获取控制指令,写入神经网络运算装置片上的控制缓存;也可以读取神经网络运算装置的存储电路中的数据并传输给其他处理装置。
如图4b所示,可选的,该结构还包括存储装置,用于保存在本运算单元/运算装置或其他运算单元所需要的数据,尤其适用于所需要运算的数据在本神经网络运算装置或其他处理装置的内部存储中无法全部保存的数据。
该组合处理装置可以作为手机、机器人、无人机、视频监控设备等设备的SOC片上系统,有效降低控制部分的核心面积,提高处理速度,降低整体功耗。此情况时,该组合处理装置的通用互联接口与设备的某些部件相连接。某些部件譬如摄像头,显示器,鼠标,键盘,网卡,wifi接口。
以上所述的具体实施例,对本披露的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本披露的具体实施例而已,并不用于限制本披露,凡在本披露的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本披露的保护范围之内。

Claims (15)

1.一种集成电路芯片装置,其特征在于,所述集成电路芯片装置包括:控制电路、存储电路、数据转换电路、运算电路,其中,
所述控制电路,用于接收神经网络的第一指令,解析所述第一指令确定所述第一指令的输入数据、权值和运算指令,提取所述存储电路存储的输入数据和权值,将所述存储电路存储的输入数据、权值,以及运算指令发给所述运算电路;
所述存储电路,用于存储输入数据和权值;
所述数据转换电路,用于执行浮点数据类型与概率数据类型之间的转换;
所述运算电路,用于将所述输入数据和所述权值以所述概率数据类型执行所述运算指令对应的运算得到计算结果;
所述概率数据类型为位串格式的数据。
2.根据权利要求1所述的集成电路芯片装置,所述数据转换电路包括数字-概率转换模块、概率--数字转换模块和/或数据处理模块。
3.根据权利要求2所述的集成电路芯片装置,所述运算电路包括与门,所述与门用于执行所述输入数据和所述权值之间的加法运算。
4.根据权利要求2所述的集成电路芯片装置,所述运算电路还包括或门,所述或门用于计算所述输入数据和所述权值之间的乘法运算。
5.根据权利要求1所述的集成电路芯片装置,所述运算电路还包括:组合电路,所述组合电路包括:至少两种类型的门电路构成的并行计数器电路,所述门电路包括与门、或门、异或门。
6.根据权利要求1所述的集成电路芯片装置,所述集成电路芯片装置还包括缓存电路;
所述缓存电路,用于缓存指令、输入数据和权值,所述缓存电路包括指令缓存电路和数据缓存电路,所述数据缓存电路包括权值缓存电路、输入神经元电路、输出神经元电路。
7.一种集成电路芯片装置,其特征在于,所述集成电路芯片装置包括主处理电路以及多个基础处理电路;
所述主处理电路,用于接收神经网络的第一指令,解析所述第一指令确定所述第一指令的输入数据、权值和运算指令;与所述基础处理电路传输数据并获取神经网络运算中的输入数据和权值数据;
所述主处理电路包括:数据类型转换电路,所述数据类型转换电路,用于将输入数据和权值数据转换成概率数据类型的输入数据和概率数据类型的权值数据;
所述主处理电路,还用于将概率数据类型的输入数据和概率数据类型的权值数据发送给所述多个基础处理电路;
所述多个基础处理电路,用于将概率数据类型的输入数据和概率数据类型的权值数据依据所述主处理电路传输的数据以并行方式执行神经网络中的运算,并将运算结果传输给所述主处理电路;
所述主处理电路,用于对运算结果处理得到计算结果;
分支处理电路,用于在主处理电路与至少一个基础处理电路之间转发数据,所述数据为:向量、矩阵、三维数据块、四维数据块中一种或任意组合;
所述概率数据类型为位串格式的数据。
8.根据权利要求7所述的集成电路芯片装置,其特征在于,
所述主处理电路,用于获取待计算的数据块以及运算指令,通过所述数据类型转换电路将待计算的数据块转换成概率数据类型的数据块,依据该运算指令对概率数据类型的待计算的数据块划分成分发数据块以及广播数据块;对所述分发数据块进行拆分处理得到多个基本数据块,将所述多个基本数据块分发至所述至少一个基础处理电路,将所述广播数据块广播至所述至少一个基础处理电路;
所述基础处理电路,用于对所述基本数据块与所述广播数据块以概率数据类型执行内积运算得到运算结果,将所述运算结果发送至所述主处理电路;
所述主处理电路,用于对所述运算结果处理得到所述待计算的数据块以及运算指令的指令结果。
9.根据权利要求8所述的集成电路芯片装置,其特征在于,
所述主处理电路,用于在如所述运算结果为内积处理的结果时,对所述运算结果与门后得到与门结果,将该与门结果排列得到所述待计算的数据块以及运算指令的指令结果。
10.根据权利要求7所述的集成电路芯片装置,其特征在于,
所述主处理电路包括:主寄存器或主片上缓存电路,所述主处理电路包括:向量运算器电路、算数逻辑单元电路、与门电路、矩阵转置电路、直接内存存取电路、数据类型转换电路或数据重排电路中的一种或任意组合;
所述基础处理电路包括:基本寄存器或基本片上缓存电路。
11.根据权利要求7所述的集成电路芯片装置,其特征在于,
如所述运算指令为乘法指令,所述主处理电路确定乘数数据块为广播数据块,被乘数数据块为分发数据块;
如所述运算指令为卷积指令,所述主处理电路确定输入数据块为广播数据块,卷积核为分发数据块。
12.一种神经网络运算装置,其特征在于,所述神经网络运算装置包括一个或多个如权利要求7-11任意一项所述的集成电路芯片装置。
13.一种芯片,其特征在于,所述芯片集成如权利要求1-11任意一项所述装置。
14.一种智能设备,其特征在于,所述智能设备包括如权利要求13所述的芯片。
15.一种神经网络的运算方法,其特征在于,所述方法应用在集成电路芯片装置内,所述集成电路芯片装置包括:如权利要求1-11任意一项所述的集成电路芯片装置,所述集成电路芯片装置用于执行神经网络的运算。
CN201711478689.9A 2017-12-29 2017-12-29 集成电路芯片装置及相关产品 Active CN109993284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711478689.9A CN109993284B (zh) 2017-12-29 2017-12-29 集成电路芯片装置及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711478689.9A CN109993284B (zh) 2017-12-29 2017-12-29 集成电路芯片装置及相关产品

Publications (2)

Publication Number Publication Date
CN109993284A CN109993284A (zh) 2019-07-09
CN109993284B true CN109993284B (zh) 2020-08-04

Family

ID=67109965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711478689.9A Active CN109993284B (zh) 2017-12-29 2017-12-29 集成电路芯片装置及相关产品

Country Status (1)

Country Link
CN (1) CN109993284B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110458285B (zh) * 2019-08-14 2021-05-14 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106502626A (zh) * 2016-11-03 2017-03-15 北京百度网讯科技有限公司 数据处理方法和装置
CN107330515A (zh) * 2016-04-29 2017-11-07 北京中科寒武纪科技有限公司 一种用于执行人工神经网络正向运算的装置和方法
CN107340993A (zh) * 2016-04-28 2017-11-10 北京中科寒武纪科技有限公司 一种支持较少位数浮点数的神经网络运算的装置和方法
CN109978131A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 集成电路芯片装置及相关产品

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9902115D0 (en) * 1999-02-01 1999-03-24 Axeon Limited Neural networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107340993A (zh) * 2016-04-28 2017-11-10 北京中科寒武纪科技有限公司 一种支持较少位数浮点数的神经网络运算的装置和方法
CN107330515A (zh) * 2016-04-29 2017-11-07 北京中科寒武纪科技有限公司 一种用于执行人工神经网络正向运算的装置和方法
CN106502626A (zh) * 2016-11-03 2017-03-15 北京百度网讯科技有限公司 数据处理方法和装置
CN109978131A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 集成电路芯片装置及相关产品

Also Published As

Publication number Publication date
CN109993284A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN109729734B (zh) 芯片装置及相关产品
JP6880160B2 (ja) 計算装置と計算方法
CN109993301B (zh) 神经网络训练装置及相关产品
CN110163363B (zh) 一种计算装置及方法
CN110276447B (zh) 一种计算装置及方法
CN111126588B (zh) 集成电路芯片装置及相关产品
CN110909872B (zh) 集成电路芯片装置及相关产品
CN111488976A (zh) 神经网络计算装置、神经网络计算方法及相关产品
CN111079908A (zh) 片上网络数据处理方法、存储介质、计算机设备和装置
CN109711540B (zh) 一种计算装置及板卡
CN109993284B (zh) 集成电路芯片装置及相关产品
CN109615061B (zh) 一种卷积运算方法及装置
CN111488963A (zh) 神经网络计算装置和方法
CN111160543B (zh) 集成电路芯片装置及相关产品
CN109993291A (zh) 集成电路芯片装置及相关产品
CN110472734B (zh) 一种计算装置及相关产品
CN109993292B (zh) 集成电路芯片装置及相关产品
CN111767998B (zh) 集成电路芯片装置及相关产品
CN111381882A (zh) 数据处理装置及相关产品
CN111209230B (zh) 数据处理装置、方法及相关产品
CN111368990A (zh) 一种神经网络计算装置和方法
CN110197266B (zh) 集成电路芯片装置及相关产品
CN112099850B (zh) 一种多核Hourglass网络加速方法
CN111368985A (zh) 一种神经网络计算装置和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences

Applicant after: Zhongke Cambrian Technology Co., Ltd

Address before: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences

Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant