CN107315715A - 一种用于执行矩阵加/减运算的装置和方法 - Google Patents

一种用于执行矩阵加/减运算的装置和方法 Download PDF

Info

Publication number
CN107315715A
CN107315715A CN201610266805.XA CN201610266805A CN107315715A CN 107315715 A CN107315715 A CN 107315715A CN 201610266805 A CN201610266805 A CN 201610266805A CN 107315715 A CN107315715 A CN 107315715A
Authority
CN
China
Prior art keywords
matrix
scalar
instruction
data
dependence
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.)
Granted
Application number
CN201610266805.XA
Other languages
English (en)
Other versions
CN107315715B (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
Beijing Zhongke Cambrian Technology Co Ltd
Original Assignee
Beijing Zhongke Cambrian Technology Co 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
Priority to CN201610266805.XA priority Critical patent/CN107315715B/zh
Application filed by Beijing Zhongke Cambrian Technology Co Ltd filed Critical Beijing Zhongke Cambrian Technology Co Ltd
Priority to CN202010611888.8A priority patent/CN111857819B/zh
Priority to CN202010612191.2A priority patent/CN111857820B/zh
Priority to PCT/CN2016/081117 priority patent/WO2017185396A1/zh
Priority to EP21173815.8A priority patent/EP3910503A1/en
Priority to EP16899907.6A priority patent/EP3451163A4/en
Publication of CN107315715A publication Critical patent/CN107315715A/zh
Priority to US16/171,926 priority patent/US10860681B2/en
Priority to US16/171,681 priority patent/US20190065436A1/en
Priority to US16/250,123 priority patent/US10891353B2/en
Application granted granted Critical
Publication of CN107315715B publication Critical patent/CN107315715B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种用于执行矩阵加减运算的装置,其特征在于,包括:存储单元,用于存储矩阵运算指令相关的矩阵数据;寄存器单元,用于存储矩阵运算指令相关的标量数据;控制单元,用于对矩阵运算指令进行译码,并控制矩阵运算指令的运算过程;矩阵运算单元,用于根据译码后的矩阵运算指令,对输入矩阵进行矩阵加减运算操作;其中,所述矩阵运算单元为定制的硬件电路。本发明还提供了一种执行矩阵加减法运算的方法。

Description

一种用于执行矩阵加/减运算的装置和方法
技术领域
本发明涉及计算机领域,尤其涉及一种用于执行矩阵加减法运算的装置和方法。
背景技术
当前计算机领域,伴随着大数据、机器学习等新兴技术的成熟,越来越多的任务中包含了各种各样的矩阵加减法运算,尤其是大矩阵的加减法运算,这些往往成为算法速度和效果提高的瓶颈。、
在现有技术中,一种进行矩阵加减法运算的已知方案是使用通用处理器,该方法通过通用寄存器堆和通用功能部件来执行通用指令,从而执行矩阵加减法运算。然而,该方法的缺点之一是单个通用处理器多用于标量计算,在进行矩阵运算时运算性能较低。而使用多个通用处理器并行执行时,处理器的个数较少提升的效果不做够显著;处理器个数较高时它们之间的相互通讯又有可能成为性能瓶颈。
在另一种现有技术中,使用图形处理器(GPU)来进行一系列矩阵加减法运算,其中,通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来进行运算。但在上述方案中,GPU片上缓存太小,在进行大规模矩阵运算时需要不断进行片外数据搬运,片外带宽成为了主要性能瓶颈。
在另一种现有技术中,使用专门定制的矩阵运算装置来进行矩阵加减法运算,其中,使用定制的寄存器堆和定制的处理单元进行矩阵运算。然而根据这种方法,目前已有的专用矩阵运算装置受限于寄存器堆的设计,不能够灵活地支持不同长度的矩阵加减法运算。
综上所述,现有的不管是片上多核通用处理器、片间互联通用处理器(单核或多核)、还是片间互联图形处理器都无法进行高效的矩阵加减法运算,并且这些现有技术在处理矩阵加减法运算问题时存在着代码量大,受限于片间通讯,片上缓存不够,支持的矩阵规模不够灵活等问题。
发明内容
基于此,本发明提供了一种执行矩阵加减法运算的装置和方法。
根据本发明一方面,提供了一种用于执行矩阵加减运算的装置,其特征在于,包括:
存储单元,用于存储矩阵运算指令相关的矩阵数据;
寄存器单元,用于存储矩阵运算指令相关的标量数据;
控制单元,用于对矩阵运算指令进行译码,并控制矩阵运算指令的运算过程;
矩阵运算单元,用于根据译码后的矩阵运算指令,对输入矩阵进行矩阵加减运算操作;
其中,所述矩阵运算单元为定制的硬件电路。
根据本发明另一方面,提供了一种用于执行矩阵加减法运算的装置,其特征在于,包括:
取指模块,用于从指令序列中取出下一条要执行的矩阵运算指令,并将该矩阵运算指令传给译码模块;
译码模块,用于对该矩阵运算指令进行译码,并将译码后的矩阵运算指令传送给指令队列模块;
指令队列模块,用于暂存译码后的矩阵运算指令,并从矩阵运算指令或标量寄存器获得矩阵运算指令运算相关的标量数据;获得所述标量数据后,将所述矩阵运算指令送至依赖关系处理单元;
标量寄存器堆,包括多个标量寄存器,用于存储矩阵运算指令相关的标量数据;
依赖关系处理单元,用于判断所述矩阵运算指令与之前未执行完的运算指令之间是否存在依赖关系;如果存在依赖关系,则将所述矩阵运算指令送至存储队列模块,如果不存在依赖关系,则将所述矩阵运算指令送至矩阵运算单元;
存储队列模块,用于存储与之前运算指令存在依赖关系的矩阵运算指令,并且在所述依赖关系解除后,将所述矩阵运算指令送至矩阵运算单元;
矩阵运算单元,用于根据接收到矩阵运算指令对输入矩阵进行矩阵加减法运算操作;
高速暂存存储器,用于存储输入矩阵和输出矩阵;
输入输出存取模块,用于直接访问所述高速暂存存储器,负责从所述高速暂存存储器中读取输出矩阵和写入输入矩阵。
本发明还提供了一种执行矩阵加减法运算的方法。
本发明可以应用于以下场景中(包括但不限于):数据处理、机器人、电脑、打印机、扫描仪、电话、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备等各类电子产品;飞机、轮船、车辆等各类交通工具;电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机等各类家用电器;以及包括核磁共振仪、B超、心电图仪等各类医疗设备。
附图说明
图1是根据本发明实施例的执行矩阵加减法运算的装置的结构示意图。
图2是根据本发明实施例的矩阵运算单元的操作示意图。
图3是根据本发明实施例的指令集的格式示意图。
图4是根据本发明实施例的矩阵运算装置的结构示意图。
图5是根据本发明实施例的矩阵运算装置执行矩阵加法指令的流程图。
图6是根据本发明实施例的矩阵运算装置执行矩阵减标量指令的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本发明提供了一种矩阵加减法运算装置,包括:存储单元、寄存器单元、控制单元和矩阵运算单元;
所述存储单元存储矩阵;
所述寄存器单元中存储有输入矩阵地址、输入矩阵长度、输出矩阵地址;
所述控制单元用于对矩阵运算指令执行译码操作,并根据矩阵运算指令控制各个模块,以控制矩阵加减法运算的执行过程;
矩阵运算单元在指令中或寄存器单元中获取输入矩阵地址、输入矩阵长度、输出矩阵地址,然后,根据该输入矩阵地址在存储单元中获取相应的矩阵,接着,根据获取的矩阵进行矩阵运算,得到矩阵运算结果。
本发明将参与计算的矩阵数据暂存在存储单元(例如,高速暂存存储器)上,使得矩阵运算过程中可以更加灵活有效地支持不同宽度的数据,提升包含大量矩阵加减法运算任务的执行性能。
本发明中,所述矩阵加减法运算单元可以实现为定制的硬件电路,包括但不限于FPGA、CGRA、专用集成电路ASIC、模拟电路和忆阻器等。
图1是本发明提供的用于执行矩阵加减法运算的装置的结构示意图,如图1所示,该装置包括:
存储单元,用于存储矩阵。在一种实施方式中,该存储单元可以是高速暂存存储器,能够支持不同大小的矩阵数据;本发明将必要的计算数据暂存在高速暂存存储器上(Scratchpad Memory),使本运算装置在进行矩阵运算过程中可以更加灵活有效地支持不同宽度的数据。所述高速暂存存储器可以通过各种不同存储器件如SRAM、DRAM、eDRAM、忆阻器、3D-DRAM和非易失存储等实现。
寄存器单元,用于存储矩阵地址,其中,矩阵地址为矩阵在存储单元中存储的地址;在一种实施方式中,寄存器单元可以是标量寄存器堆,提供运算过程中所需的标量寄存器,标量寄存器存储输入矩阵地址、输入矩阵长度、输出矩阵地址。当涉及到矩阵与标量的运算时,矩阵运算单元不仅要从寄存器单元中获取矩阵地址,还要从寄存器单元中获取相应的标量。
控制单元,用于控制装置中各个模块的行为。在一种实施方式中,控制单元读取准备好的指令,进行译码生成多条微指令,发送给装置中的其他模块,其他模块根据得到的微指令执行相应的操作。
矩阵运算单元,用于获取各种加减运算指令,根据指令在所述寄存器单元中获取矩阵地址,然后,根据该矩阵地址在存储单元中获取相应的矩阵,接着,根据获取的矩阵进行运算,得到矩阵运算结果,并将矩阵运算结果存储于高速暂存存储器中。矩阵运算单元负责装置的所有矩阵加减运算,包括但不限于矩阵加法操作、矩阵减法操作、矩阵加标量操作和矩阵减标量操作。矩阵加减运算指令被送往该运算单元执行,所有的运算部件均是并行的向量运算部件,可以在同一时钟并行地对一整列数据进行相同的运算。
图2示出了根据本发明实施例的矩阵运算单元的操作示意图。其中1是由多个标量运算器构成向量运算器,2表示矩阵A在高速暂存存储器中的存储,3表示矩阵B在高速暂存存储器中的存储。两矩阵均是m*n的大小,向量运算器的宽度为k,即向量运算器可以一次计算出长度为k的向量的加减运算结果。运算器每次分别从A和B中获取长度为k的向量数据,在运算器中执行加减运算,并将结果写回,一个完整的矩阵加减可能需要进行若干次上述计算。如图2所示,矩阵加减部件由多个并行的标量加减运算器构成,在执行矩阵加减运算的过程中,对于指定大小的两矩阵数据,运算单元依次读入一定长度的数据,该长度等于标量加减运算器的个数。对应的数据在对应的标量运算器中执行加减法运算,每次计算矩阵数据中的一部分,并最终完成整个矩阵的加减法运算。
在执行矩阵加减标量的过程中,运算单元会将读入寄存器中的标量数据扩展成与标量运算器个数等宽的向量数据,作为加减法的一个输入,另一输入与前述执行矩阵加减的过程相同,从高速暂存存储器中读取一定长度的矩阵数据,与标量扩展后的向量执行加减法运算。
根据本发明的一种实施方式,所述矩阵加减法运算装置还包括:指令缓存单元,用于存储待执行的矩阵运算指令。指令在执行过程中,同时也被缓存在指令缓存单元中,当一条指令执行完之后,该指令将被提交。
根据本发明的一种实施方式,所述装置中的控制单元还包括:指令队列模块,用于对译码后的矩阵运算指令进行顺序存储,并在获得矩阵运算指令所需的标量数据后,将矩阵运算指令以及标量数据送至依赖关系处理模块。
根据本发明的一种实施方式,所述装置中的控制单元还包括:依赖关系处理单元,用于在矩阵运算单元获取指令前,判断该运算指令与之前未完成运算指令之间是否存在依赖关系,如是否访问相同的矩阵存储地址,若是,将该运算指令送至存储队列模块中,待前一运算指令执行完毕后,将存储队列中的该运算指令提供给所述矩阵运算单元;否则,直接将该运算指令提供给所述矩阵运算单元。具体地,矩阵运算指令需要访问高速暂存存储器时,前后指令可能会访问同一块存储空间,为了保证指令执行结果的正确性,当前指令如果被检测到与之前的指令的数据存在依赖关系,该指令必须在存储队列内等待至依赖关系被消除。
根据本发明的一种实施方式,所述装置中的控制单元还包括:存储队列模块,该模块包括一个有序队列,与之前指令在数据上有依赖关系的指令被存储在该有序队列内直至依赖关系被消除,在依赖关系消除后,其将运算指令提供给矩阵运算单元。
根据本发明的一种实施方式,装置还包括:输入输出单元,用于将矩阵存储于存储单元,或者,从存储单元中获取运算结果。其中,输入输出单元可直接访问存储单元,负责从内存向存储单元读取矩阵数据或从存储单元向内存写入矩阵数据。
根据本发明的一种实施方式,用于本发明装置的指令集采用Load/Store(加载/存储)结构,矩阵运算单元不会对内存中的数据进行操作。本指令集采用精简指令集架构,指令集只提供最基本的矩阵运算操作,复杂的矩阵运算都由这些简单指令通过组合进行模拟,使得可以在高时钟频率下单周期执行指令。
在本装置执行矩阵运算的过程中,装置取出指令进行译码,然后送至指令队列存储,根据译码结果,获取指令中的各个参数,这些参数可以是直接写在指令的操作域中,也可以是根据指令操作域中的寄存器号从指定的寄存器中读取。这种使用寄存器存储参数的好处是无需改变指令本身,只要用指令改变寄存器中的值,就可以实现大部分的循环,因此大大节省了在解决某些实际问题时所需要的指令条数。在全部操作数之后,依赖关系处理单元会判断指令实际需要使用的数据与之前指令中是否存在依赖关系,这决定了这条指令是否可以被立即发送至矩阵运算单元中执行。一旦发现与之前的数据之间存在依赖关系,则该条指令必须等到它依赖的指令执行完毕之后才可以送至矩阵运算单元执行。在定制的矩阵运算单元中,该条指令将快速执行完毕,并将结果,即生成的结果矩阵写回至指令提供的地址,该条指令执行完毕。
图3是本发明提供的矩阵加减运算指令的格式示意图,如图3所示,矩阵加减运算指令包括一操作码和至少一操作域,其中,操作码用于指示该矩阵运算指令的功能,矩阵运算单元通过识别该操作码可进行不同的矩阵运算,操作域用于指示该矩阵运算指令的数据信息,其中,数据信息可以是立即数或寄存器号,例如,要获取一个矩阵时,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储单元中获取相应地址存放的矩阵。
有下列几种矩阵加减运算指令:
矩阵加法指令(MA),根据该指令,装置从高速暂存存储器的指定地址取出指定大小的矩阵数据,在矩阵运算单元中进行矩阵加法运算,并将计算结果写回至高速暂存存储器的指定地址;值得说明的是,向量可以作为特殊形式的矩阵(只有一行元素的矩阵)存储于高速暂存存储器中。
矩阵减法指令(MS),根据该指令,装置从高速暂存存储器的指定地址取出指定大小的矩阵数据,在矩阵运算单元中进行矩阵减法运算,并将计算结果写回至高速暂存存储器的指定地址;值得说明的是,向量可以作为特殊形式的矩阵(只有一行元素的矩阵)存储于高速暂存存储器中。
矩阵加标量指令(MAS),根据该指令,装置从高速暂存存储器的指定地址取出指定大小的矩阵数据,从标量寄存器堆的指定地址中取出标量数据,在矩阵运算单元中进行矩阵加标量的运算,并将计算结果写回至高速暂存存储器的指定地址,需要说明的是,标量寄存器堆不仅存储有矩阵的地址,还存储有标量数据。
矩阵减标量指令(MSS),根据该指令,装置从高速暂存存储器的指定地址取出指定大小的矩阵数据,从标量寄存器堆的指定地址中取出标量数据,在矩阵运算单元中进行矩阵减标量的运算,并将计算结果写回至高速暂存存储器的指定地址,需要说明的是,标量寄存器堆不仅存储有矩阵的地址,还存储有标量数据。
图4是本发明一实施例提供的矩阵运算装置的结构示意图,如图4所示,装置包括取指模块、译码模块、指令队列模块、标量寄存器堆、依赖关系处理单元、存储队列模块、矩阵运算单元、高速暂存器、IO内存存取模块;
取指模块,该模块负责从指令序列中取出下一条将要执行的指令,并将该指令传给译码模块;
译码模块,该模块负责对指令进行译码,并将译码后指令传给指令队列;
指令队列,用于暂存译码后的矩阵运算指令,并从矩阵运算指令或标量寄存器获得矩阵运算指令运算相关的标量数据;获得所述标量数据后,将所述矩阵运算指令送至依赖关系处理单元;
标量寄存器堆,提供装置在运算过程中所需的标量寄存器;标量寄存器堆包括多个标量寄存器,用于存储矩阵运算指令相关的标量数据;
依赖关系处理单元,该模块处理处理指令与前一条指令可能存在的存储依赖关系。矩阵运算指令会访问高速暂存存储器,前后指令可能会访问同一块存储空间。即该单元会检测当前指令的输入数据的存储范围和之前尚未执行完成的指令的输出数据的存储范围是否有重叠,有则说明该条指令在逻辑上需要使用前面指令的计算结果,因此它必须等到在它之前的所依赖的指令执行完毕后才能够开始执行。在这个过程中,指令实际被暂存在下面的存储队列中。为了保证指令执行结果的正确性,当前指令如果被检测到与之前的指令的数据存在依赖关系,该指令必须在存储队列内等待至依赖关系被消除。
存储队列模块,该模块是一个有序队列,与之前指令在数据上有依赖关系的指令被存储在该队列内直至存储关系被消除;
矩阵运算单元,该模块负责执行矩阵的加减运算;
高速暂存存储器,该模块是矩阵数据专用的暂存存储装置,能够支持不同大小的矩阵数据;主要用于存储输入矩阵数据和输出矩阵数据;
IO内存存取模块,该模块用于直接访问高速暂存存储器,负责从高速暂存存储器中读取数据或写入数据。
图5是本发明实施例提供的运算装置执行矩阵加法指令的流程图,如图5所示,执行矩阵加法指令的过程包括:
S1,取指模块取出该条矩阵加法指令,并将该指令送往译码模块。
S2,译码模块对该矩阵加法指令译码,并将该矩阵加法指令送往指令队列。
S3,在指令队列中,该矩阵加法指令从矩阵加法指令本身或从标量寄存器堆中获取指令中四个操作域所对应的标量数据,包括输入矩阵地址、输入矩阵长度、输出矩阵地址。
S4,在取得需要的标量数据后,该指令被送往依赖关系处理单元。依赖关系处理单元分析该指令与前面的尚未执行结束的指令在数据上是否存在依赖关系。如果存在依赖关系,则该条指令需要在存储队列中等待至其与前面的未执行结束的指令在数据上不再存在依赖关系为止。
S5,依赖关系不存在后,该条矩阵加法指令被送往矩阵运算单元。
S6,矩阵运算单元根据输入矩阵的地址和长度从高速暂存器中取出输入矩阵数据,每次分别读入两输入矩阵中一定位宽的对应数据,在矩阵加减运算器中对对齐的两列数据进行加法运算,不断重复,在矩阵运算单元中完成整个矩阵加法的运算。
S7,运算完成后,将运算结果写回至高速暂存存储器的指定地址。
图6是本发明实施例提供的运算装置执行矩阵减标量指令的流程图,如图6所示,执行矩阵减标量指令的过程包括:
S1’,取指模块取出该条矩阵减标量指令,并将该指令送往译码模块。
S2’,译码模块对该矩阵减标量指令译码,并将指令送往指令队列。
S3’,在指令队列中,该矩阵减标量指令从指令本身或从标量寄存器堆中获取指令中四个操作域所对应的标量数据,包括输入矩阵地址、输入矩阵长度、输入标量和输出矩阵地址。
S4’,在取得需要的标量数据后,该指令被送往依赖关系处理单元。依赖关系处理单元分析该指令与前面的尚未执行结束的指令在数据上是否存在依赖关系。如果存在依赖关系,则该条指令需要在存储队列中等待至其与前面的未执行结束的指令在数据上不再存在依赖关系为止。
S5’,依赖关系不存在后,该条矩阵减标量指令被送往矩阵运算单元。S6’,矩阵运算单元每次依次读入矩阵数据的一部分,在矩阵加减标量部件中进行一列数据同时减去寄存器中存储的标量数据的操作,不断重复,完成整个矩阵减标量的运算。
S7’,运算完成后,将运算结果写回至高速暂存存储器的指定地址。
综上所述,本发明提供矩阵运算装置,并配合相应的指令,能够很好地解决当前计算机领域越来越多的算法包含大量矩阵加减运算的问题,相比于已有的传统解决方案,本发明可以具有指令精简、使用方便、支持的矩阵规模灵活、片上缓存充足等优点。本发明可以用于多种包含大量矩阵加减运算的计算任务。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种用于执行矩阵加减运算的装置,其特征在于,包括:
存储单元,用于存储矩阵运算指令相关的矩阵数据;
寄存器单元,用于存储矩阵运算指令相关的标量数据;
控制单元,用于对矩阵运算指令进行译码,并控制矩阵运算指令的运算过程;
矩阵运算单元,用于根据译码后的矩阵运算指令,对输入矩阵进行矩阵加减运算操作;
其中,所述矩阵运算单元为定制的硬件电路。
2.如权利要求1所述的装置,其特征在于,所述寄存器单元所存储的标量数据包括矩阵运算指令相关的输入矩阵地址、输入矩阵长度和输出矩阵地址以及矩阵加减标量运算用到的标量数据。
3.如权利要求1所述的装置,其特征在于,所述控制单元包括:
指令队列模块,用于对译码后的矩阵运算指令进行顺序存储,并获取矩阵运算指令相关的标量数据。
4.如权利要求1所述的装置,其特征在于,所述控制单元包括:
依赖关系处理单元,用于在矩阵运算单元获取当前矩阵运算指令前,判断当前矩阵运算指令与之前未执行完的矩阵运算指令是否存在依赖关系。
5.如权利要求1所述的装置,其特征在于,所述控制单元包括:
存储队列模块,用于在当前矩阵运算指令与之前未执行完的运算指令存在依赖关系时,暂时存储当前矩阵运算指令,并且在该依赖关系消除时,将暂存的矩阵运算指令送往矩阵运算单元。
6.如权利要求1-5任一项所述的装置,其特征在于,所述装置还包括:
指令缓存单元,用于存储待执行的矩阵运算指令;
输入输出单元,用于将矩阵运算指令相关的向量数据存储于存储单元,或者,从存储单元中获取矩阵运算指令的运算结果。
7.如权利要求1所述的装置,其特征在于,所述矩阵运算指令包括操作码和操作域;
所述操作码用于指示执行矩阵运算操作;
所述操作域包括立即数和/或寄存器号,指示矩阵运算相关的标量数据,其中寄存器号用于指向所述寄存器单元地址。
8.如权利要求1-5、7任一项所述的装置,其特征在于,所述存储单元为高速暂存存储器。
9.如权利要求1-5、7任一项所述的装置,其特征在于,所述矩阵运算单元包括多个并行的标量加减运算器,其中:
在执行矩阵加减运算的过程中,对于指定大小的两输入矩阵,运算单元依次读入一定长度的矩阵数据,该长度等于标量加减运算器的个数。对应的数据在对应的标量运算器中执行加减法运算,每次计算矩阵数据中的一部分,并最终完成整个矩阵的加减法运算;以及
在执行矩阵加减标量的过程中,装置首先根据指令从指令中直接读取或根据指令提供的寄存器号从标量寄存器堆中取出该标量数据送至矩阵运算单元,矩阵运算单元将所述标量扩展成与标量运算器个数等宽的向量数据,作为标量加减法运算器的一个输入,另一输入为从存储单元读取的一定长度的矩阵数据,与标量扩展后得到的向量数据执行加减法运算。
10.一种用于执行矩阵加减法运算的装置,其特征在于,包括:
取指模块,用于从指令序列中取出下一条要执行的矩阵运算指令,并将该矩阵运算指令传给译码模块;
译码模块,用于对该矩阵运算指令进行译码,并将译码后的矩阵运算指令传送给指令队列模块;
指令队列模块,用于暂存译码后的矩阵运算指令,并从矩阵运算指令或标量寄存器获得矩阵运算指令运算相关的标量数据;获得所述标量数据后,将所述矩阵运算指令送至依赖关系处理单元;
标量寄存器堆,包括多个标量寄存器,用于存储矩阵运算指令相关的标量数据;
依赖关系处理单元,用于判断所述矩阵运算指令与之前未执行完的运算指令之间是否存在依赖关系;如果存在依赖关系,则将所述矩阵运算指令送至存储队列模块,如果不存在依赖关系,则将所述矩阵运算指令送至矩阵运算单元;
存储队列模块,用于存储与之前运算指令存在依赖关系的矩阵运算指令,并且在所述依赖关系解除后,将所述矩阵运算指令送至矩阵运算单元;
矩阵运算单元,用于根据接收到矩阵运算指令对输入矩阵进行矩阵加减法运算操作;
高速暂存存储器,用于存储输入矩阵和输出矩阵;
输入输出存取模块,用于直接访问所述高速暂存存储器,负责从所述高速暂存存储器中读取输出矩阵和写入输入矩阵。
11.如权利要求10所述的装置,其特征在于,所述矩阵运算单元为定制的硬件电路。
12.如权利要求10所述的装置,其特征在于,所述矩阵运算单元包括多个并行的标量加减运算器,其中:
在执行矩阵加减运算的过程中,对于指定大小的两输入矩阵,运算单元依次读入一定长度的矩阵数据,该长度等于标量加减运算器的个数。对应的数据在对应的标量运算器中执行加减法运算,每次计算矩阵数据中的一部分,并最终完成整个矩阵的加减法运算;以及
在执行矩阵加减标量的过程中,装置首先根据指令从指令中直接读取或根据矩阵运算指令提供的寄存器号从标量寄存器堆中取出该标量数据送至运算单元,矩阵运算单元将所述标量扩展成与标量运算器个数等宽的向量数据,作为标量加减法运算器的一个输入,另一输入为从存储单元读取的一定长度的矩阵数据,与标量扩展后得到的向量数据执行加减法运算。
13.一种用于执行矩阵加法运算的方法,其特征在于,该方法包括:
S1,取指模块取出矩阵加法指令,并将该指令送往译码模块;
S2,译码模块对该矩阵加法指令译码,并将该矩阵加法指令送往指令队列;
S3,在指令队列中,该矩阵加法指令从矩阵加法指令本身或从标量寄存器堆中获取指令中四个操作域所对应的标量数据,包括输入矩阵地址、输入矩阵长度、输出矩阵地址;
S4,在取得需要的标量数据后,该指令被送往依赖关系处理单元,依赖关系处理单元分析该指令与前面的尚未执行结束的指令在数据上是否 存在依赖关系,如果存在依赖关系,则该条指令需要在存储队列中等待至其与前面的未执行结束的指令在数据上不再存在依赖关系为止;
S5,依赖关系不存在后,该条矩阵加法指令被送往矩阵运算单元;
S6,矩阵运算单元根据输入矩阵的地址和长度从高速暂存器中取出输入矩阵数据,每次分别读入两输入矩阵中一定位宽的对应数据,在矩阵加减运算器中对对齐的两列数据进行加法运算,不断重复,在矩阵运算单元中完成整个矩阵加法的运算;
S7,运算完成后,将运算结果写回至高速暂存存储器的指定地址。
14.一种用于执行矩阵减标量运算的方法,其特征在于,该方法包括:
S1’,取指模块取出该条矩阵减标量指令,并将该指令送往译码模块。
S2’,译码模块对该矩阵减标量指令译码,并将指令送往指令队列。
S3’,在指令队列中,该矩阵减标量指令从指令本身或从标量寄存器堆中获取指令中四个操作域所对应的标量数据,包括输入矩阵地址、输入矩阵长度、输入标量和输出矩阵地址。
S4’,在取得需要的标量数据后,该指令被送往依赖关系处理单元。依赖关系处理单元分析该指令与前面的尚未执行结束的指令在数据上是否存在依赖关系。如果存在依赖关系,则该条指令需要在存储队列中等待至其与前面的未执行结束的指令在数据上不再存在依赖关系为止。
S5’,依赖关系不存在后,该条矩阵减标量指令被送往矩阵运算单元。
S6’,矩阵运算单元每次依次读入矩阵数据的一部分,在矩阵加减标量部件中进行一列数据同时减去寄存器中存储的标量数据的操作,不断重复,完成整个矩阵减标量的运算;
S7’,运算完成后,将运算结果写回至高速暂存存储器的指定地址。
CN201610266805.XA 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法 Active CN107315715B (zh)

Priority Applications (9)

Application Number Priority Date Filing Date Title
CN202010611888.8A CN111857819B (zh) 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法
CN202010612191.2A CN111857820B (zh) 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法
CN201610266805.XA CN107315715B (zh) 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法
EP21173815.8A EP3910503A1 (en) 2016-04-26 2016-05-05 Device and method for executing matrix addition/subtraction operation
PCT/CN2016/081117 WO2017185396A1 (zh) 2016-04-26 2016-05-05 一种用于执行矩阵加/减运算的装置和方法
EP16899907.6A EP3451163A4 (en) 2016-04-26 2016-05-05 DEVICE AND METHOD FOR USE IN THE MAKING OF MATRIX ADDITION / SUBTRACTION OPERATIONS
US16/171,926 US10860681B2 (en) 2016-04-26 2018-10-26 Apparatus and methods for matrix addition and subtraction
US16/171,681 US20190065436A1 (en) 2016-04-26 2018-10-26 Apparatus and methods for matrix addition and subtraction
US16/250,123 US10891353B2 (en) 2016-04-26 2019-01-17 Apparatus and methods for matrix addition and subtraction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610266805.XA CN107315715B (zh) 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202010611888.8A Division CN111857819B (zh) 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法
CN202010612191.2A Division CN111857820B (zh) 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法

Publications (2)

Publication Number Publication Date
CN107315715A true CN107315715A (zh) 2017-11-03
CN107315715B CN107315715B (zh) 2020-11-03

Family

ID=60160565

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202010612191.2A Active CN111857820B (zh) 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法
CN201610266805.XA Active CN107315715B (zh) 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法
CN202010611888.8A Active CN111857819B (zh) 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010612191.2A Active CN111857820B (zh) 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010611888.8A Active CN111857819B (zh) 2016-04-26 2016-04-26 一种用于执行矩阵加/减运算的装置和方法

Country Status (4)

Country Link
US (3) US20190065436A1 (zh)
EP (2) EP3451163A4 (zh)
CN (3) CN111857820B (zh)
WO (1) WO2017185396A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037908A (zh) * 2017-12-15 2018-05-15 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108108189A (zh) * 2017-12-15 2018-06-01 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108121688A (zh) * 2017-12-15 2018-06-05 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108197705A (zh) * 2017-12-29 2018-06-22 国民技术股份有限公司 卷积神经网络硬件加速装置及卷积计算方法及存储介质
CN109754062A (zh) * 2017-11-07 2019-05-14 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
CN111078285A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、系统及相关产品
CN111158756A (zh) * 2019-12-31 2020-05-15 百度在线网络技术(北京)有限公司 用于处理信息的方法和装置
CN111242293A (zh) * 2020-01-13 2020-06-05 腾讯科技(深圳)有限公司 一种处理部件、数据处理的方法以及电子设备
CN111353595A (zh) * 2018-12-20 2020-06-30 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
CN113254078A (zh) * 2021-06-23 2021-08-13 北京睿芯高通量科技有限公司 一种在gpdpu模拟器上高效执行矩阵加法的数据流处理方法
WO2023123453A1 (zh) * 2021-12-31 2023-07-06 华为技术有限公司 运算加速的处理方法、运算加速器的使用方法及运算加速器

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857820B (zh) 2016-04-26 2024-05-07 中科寒武纪科技股份有限公司 一种用于执行矩阵加/减运算的装置和方法
US11809869B2 (en) * 2017-12-29 2023-11-07 Intel Corporation Systems and methods to store a tile register pair to memory
US11816483B2 (en) * 2017-12-29 2023-11-14 Intel Corporation Systems, methods, and apparatuses for matrix operations
US11789729B2 (en) 2017-12-29 2023-10-17 Intel Corporation Systems and methods for computing dot products of nibbles in two tile operands
CN108388674B (zh) * 2018-03-26 2021-11-26 百度在线网络技术(北京)有限公司 用于推送信息的方法和装置
US11082098B2 (en) 2019-05-11 2021-08-03 Marvell Asia Pte, Ltd. Methods and apparatus for providing an adaptive beamforming antenna for OFDM-based communication systems
US10997116B2 (en) * 2019-08-06 2021-05-04 Microsoft Technology Licensing, Llc Tensor-based hardware accelerator including a scalar-processing unit

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1584824A (zh) * 2003-08-18 2005-02-23 上海海尔集成电路有限公司 一种基于cisc结构的微处理器构架及指令实现方式
CN1971537A (zh) * 2005-11-25 2007-05-30 杭州中天微系统有限公司 一种矩阵数据存取方法及其矩阵数据存储装置
CN103336758A (zh) * 2013-06-29 2013-10-02 中国科学院软件研究所 一种稀疏矩阵的存储方法CSRL及基于该方法的SpMV实现方法
CN104111817A (zh) * 2013-04-22 2014-10-22 富士通株式会社 算术处理装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4888679A (en) * 1988-01-11 1989-12-19 Digital Equipment Corporation Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements
KR100331565B1 (ko) * 1999-12-17 2002-04-06 윤종용 매트릭스 연산 장치 및 매트릭스 연산기능을 갖는 디지털신호처리 장치
CN1127264C (zh) * 2000-10-27 2003-11-05 清华大学 用于运动估计算法的分层可编程并行视频信号处理器
US6898691B2 (en) * 2001-06-06 2005-05-24 Intrinsity, Inc. Rearranging data between vector and matrix forms in a SIMD matrix processor
JP4042841B2 (ja) * 2002-03-29 2008-02-06 富士通株式会社 行列演算処理装置
US7275148B2 (en) * 2003-09-08 2007-09-25 Freescale Semiconductor, Inc. Data processing system using multiple addressing modes for SIMD operations and method thereof
GB2411975B (en) * 2003-12-09 2006-10-04 Advanced Risc Mach Ltd Data processing apparatus and method for performing arithmetic operations in SIMD data processing
US7433981B1 (en) * 2005-09-30 2008-10-07 Nvidia Corporation System and method for using co-processor hardware to accelerate highly repetitive actions
CN101122896A (zh) * 2006-08-11 2008-02-13 展讯通信(上海)有限公司 一种基于矩阵运算的高效asic数据处理方法
GB2464292A (en) * 2008-10-08 2010-04-14 Advanced Risc Mach Ltd SIMD processor circuit for performing iterative SIMD multiply-accumulate operations
US8984043B2 (en) * 2009-12-23 2015-03-17 Intel Corporation Multiplying and adding matrices
US9600281B2 (en) * 2010-07-12 2017-03-21 International Business Machines Corporation Matrix multiplication operations using pair-wise load and splat operations
CN101957743B (zh) * 2010-10-12 2012-08-29 中国电子科技集团公司第三十八研究所 并行数字信号处理器
CN101980182A (zh) * 2010-10-15 2011-02-23 清华大学 基于矩阵运算的并行计算方法
CN102541814B (zh) * 2010-12-27 2015-10-14 北京国睿中数科技股份有限公司 用于数据通信处理器的矩阵计算装置和方法
US9411585B2 (en) * 2011-09-16 2016-08-09 International Business Machines Corporation Multi-addressable register files and format conversions associated therewith
CN102360344B (zh) * 2011-10-10 2014-03-12 西安交通大学 矩阵处理器及其指令集和嵌入式系统
WO2013095653A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Systems, apparatuses, and methods for performing a conversion of a writemask register to a list of index values in a vector register
JP5840994B2 (ja) * 2012-03-27 2016-01-06 富士通株式会社 行列演算装置
US9652245B2 (en) * 2012-07-16 2017-05-16 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Branch prediction for indirect jumps by hashing current and previous branch instruction addresses
US10235180B2 (en) * 2012-12-21 2019-03-19 Intel Corporation Scheduler implementing dependency matrix having restricted entries
JP6225687B2 (ja) * 2013-02-18 2017-11-08 富士通株式会社 データ処理装置、およびデータ処理方法
US9389854B2 (en) * 2013-03-15 2016-07-12 Qualcomm Incorporated Add-compare-select instruction
CN103678257B (zh) * 2013-12-20 2016-09-28 上海交通大学 基于fpga的正定矩阵浮点求逆器及其求逆方法
CN103970720B (zh) * 2014-05-30 2018-02-02 东南大学 基于大规模粗粒度嵌入式可重构系统及其处理方法
CN105302522B (zh) * 2014-06-26 2019-07-26 英特尔公司 提供通用gf(256)simd密码算法功能性的指令和逻辑
US10061746B2 (en) * 2014-09-26 2018-08-28 Intel Corporation Instruction and logic for a vector format for processing computations
CN111857820B (zh) 2016-04-26 2024-05-07 中科寒武纪科技股份有限公司 一种用于执行矩阵加/减运算的装置和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1584824A (zh) * 2003-08-18 2005-02-23 上海海尔集成电路有限公司 一种基于cisc结构的微处理器构架及指令实现方式
CN1971537A (zh) * 2005-11-25 2007-05-30 杭州中天微系统有限公司 一种矩阵数据存取方法及其矩阵数据存储装置
CN104111817A (zh) * 2013-04-22 2014-10-22 富士通株式会社 算术处理装置
CN103336758A (zh) * 2013-06-29 2013-10-02 中国科学院软件研究所 一种稀疏矩阵的存储方法CSRL及基于该方法的SpMV实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHRISTOPHER H.CHOU ET AL.: "VEGAS: Soft Vector Processor with Scratchpad Memory", 《FPGA’11 PROCEEDINGS OF THE 19TH ACM/SIGDA INTERNATIONAL SYMPOSIUM ON FIELD PROGRAMMABLE GATE ARRAYS》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109754062A (zh) * 2017-11-07 2019-05-14 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
CN109754062B (zh) * 2017-11-07 2024-05-14 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
CN108108189A (zh) * 2017-12-15 2018-06-01 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108121688A (zh) * 2017-12-15 2018-06-05 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108037908A (zh) * 2017-12-15 2018-05-15 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108197705A (zh) * 2017-12-29 2018-06-22 国民技术股份有限公司 卷积神经网络硬件加速装置及卷积计算方法及存储介质
US11263007B2 (en) 2017-12-29 2022-03-01 Nationz Technologies Inc. Convolutional neural network hardware acceleration device, convolutional calculation method, and storage medium
CN111078285B (zh) * 2018-10-19 2021-01-26 中科寒武纪科技股份有限公司 运算方法、系统及相关产品
CN111078285A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、系统及相关产品
CN111353595A (zh) * 2018-12-20 2020-06-30 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
US11016769B1 (en) 2019-12-31 2021-05-25 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for processing information
CN111158756B (zh) * 2019-12-31 2021-06-29 百度在线网络技术(北京)有限公司 用于处理信息的方法和装置
CN111158756A (zh) * 2019-12-31 2020-05-15 百度在线网络技术(北京)有限公司 用于处理信息的方法和装置
CN111242293A (zh) * 2020-01-13 2020-06-05 腾讯科技(深圳)有限公司 一种处理部件、数据处理的方法以及电子设备
CN111242293B (zh) * 2020-01-13 2023-07-18 腾讯科技(深圳)有限公司 一种处理部件、数据处理的方法以及电子设备
CN113254078A (zh) * 2021-06-23 2021-08-13 北京睿芯高通量科技有限公司 一种在gpdpu模拟器上高效执行矩阵加法的数据流处理方法
CN113254078B (zh) * 2021-06-23 2024-04-12 北京中科通量科技有限公司 一种在gpdpu模拟器上高效执行矩阵加法的数据流处理方法
WO2023123453A1 (zh) * 2021-12-31 2023-07-06 华为技术有限公司 运算加速的处理方法、运算加速器的使用方法及运算加速器

Also Published As

Publication number Publication date
CN111857820B (zh) 2024-05-07
US10860681B2 (en) 2020-12-08
US20190065437A1 (en) 2019-02-28
CN107315715B (zh) 2020-11-03
WO2017185396A1 (zh) 2017-11-02
CN111857819A (zh) 2020-10-30
CN111857819B (zh) 2024-05-03
US10891353B2 (en) 2021-01-12
EP3910503A1 (en) 2021-11-17
US20190147015A1 (en) 2019-05-16
CN111857820A (zh) 2020-10-30
EP3451163A1 (en) 2019-03-06
EP3451163A4 (en) 2019-11-20
US20190065436A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
CN107315715A (zh) 一种用于执行矩阵加/减运算的装置和方法
CN107315574A (zh) 一种用于执行矩阵乘运算的装置和方法
CN106991077A (zh) 一种矩阵计算装置
CN107704267A (zh) 一种卷积神经网络运算指令及其方法
CN106990940A (zh) 一种向量计算装置
CN107315566A (zh) 一种用于执行向量循环移位运算的装置和方法
EP3557484A1 (en) Neural network convolution operation device and method
CN108416437A (zh) 用于乘加运算的人工神经网络的处理系统及方法
CN107315717A (zh) 一种用于执行向量四则运算的装置和方法
CN107895191A (zh) 一种信息处理方法及相关产品
CN108388446A (zh) 运算模块以及方法
CN108197705A (zh) 卷积神经网络硬件加速装置及卷积计算方法及存储介质
CN107341547A (zh) 一种用于执行卷积神经网络训练的装置和方法
CN107315716A (zh) 一种用于执行向量外积运算的装置和方法
CN107315575A (zh) 一种用于执行向量合并运算的装置和方法
CN107305538A (zh) 一种子矩阵运算装置及方法
CN107315568A (zh) 一种用于执行向量逻辑运算的装置
CN107315563A (zh) 一种用于执行向量比较运算的装置和方法
CN107957976A (zh) 一种计算方法及相关产品
WO2017185393A1 (zh) 一种用于执行向量内积运算的装置和方法
CN108009126A (zh) 一种计算方法及相关产品
CN107315564A (zh) 一种用于执行向量超越函数运算的装置和方法
CN107315567A (zh) 一种用于执行向量最大值最小值运算的装置和方法
CN107957975A (zh) 一种计算方法及相关产品
CN107957977A (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: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant after: Zhongke Cambrian Technology Co., Ltd

Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

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

GR01 Patent grant
GR01 Patent grant