CN115943387A - 具有深度学习加速器及随机存取存储器的集成传感器装置 - Google Patents
具有深度学习加速器及随机存取存储器的集成传感器装置 Download PDFInfo
- Publication number
- CN115943387A CN115943387A CN202180039691.4A CN202180039691A CN115943387A CN 115943387 A CN115943387 A CN 115943387A CN 202180039691 A CN202180039691 A CN 202180039691A CN 115943387 A CN115943387 A CN 115943387A
- Authority
- CN
- China
- Prior art keywords
- random access
- access memory
- matrix
- neural network
- artificial neural
- 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.)
- Pending
Links
- 238000013135 deep learning Methods 0.000 title claims abstract description 149
- 238000013528 artificial neural network Methods 0.000 claims abstract description 185
- 230000015654 memory Effects 0.000 claims abstract description 127
- 239000011159 matrix material Substances 0.000 claims abstract description 120
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000005259 measurement Methods 0.000 claims abstract description 15
- 239000013598 vector Substances 0.000 claims description 110
- 238000012545 processing Methods 0.000 claims description 53
- 238000004891 communication Methods 0.000 claims description 19
- 239000000758 substrate Substances 0.000 claims description 19
- 230000002093 peripheral effect Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 229910052710 silicon Inorganic materials 0.000 claims description 5
- 239000010703 silicon Substances 0.000 claims description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 7
- 230000000638 stimulation Effects 0.000 abstract 1
- 239000000872 buffer Substances 0.000 description 31
- 238000013507 mapping Methods 0.000 description 18
- 210000002569 neuron Anatomy 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 238000003860 storage Methods 0.000 description 11
- 210000004027 cell Anatomy 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000005265 energy consumption Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241000699670 Mus sp. Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 239000005022 packaging material Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000000946 synaptic effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000009510 drug design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000004382 potting Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Geometry (AREA)
- Neurology (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Abstract
描述与深度学习加速器及存储器相关的系统、装置及方法。举例来说,集成传感器装置能够经配置以执行具有矩阵操作数的指令,且经配置有:传感器,其用以产生刺激的测量;随机存取存储器,其用以存储能够由所述深度学习加速器执行的指令及存储人工神经网络的矩阵;主机接口,其能够连接到主机系统;以及控制器,其用以将由所述传感器产生的所述测量存储到所述随机存取存储器中作为到所述人工神经网络的输入。在所述深度学习加速器通过执行所述指令以处理所述输入来在所述随机存取存储器中产生所述人工神经网络的输出之后,所述控制器能够通过所述主机接口将所述输出传达到主机系统。
Description
相关申请案
本申请案主张2020年6月19日申请的且标题为“具有深度学习加速器及随机存取存储器的集成传感器装置(INTEGRATED SENSOR DEVICE WITH DEEP LEARNINGACCELERATOR AND RANDOM ACCESS MEMORY)”的序列号为16/906,213的美国专利申请案的优先权,所述申请案的全部公开内容以引用的方式并入本文中。
技术领域
本文公开的至少一些实施例大体上涉及传感器装置,且更特定来说(但不限于),涉及具有用于人工神经网络(ANN)(例如通过机器学习及/或深度学习配置的ANN)的集成加速器的传感器装置。
背景技术
人工神经网络(ANN)使用神经元网络来处理到网络的输入且从网络产生输出。
举例来说,网络中的每一神经元接收一组输入。到神经元的输入中的一些可为网络中某些神经元的输出;且到神经元的输入中一些可为提供到神经网络的输入。网络中神经元当中的输入/输出关系代表网络中的神经元连接性。
举例来说,每一神经元针对其输入可分别具有偏倚、激活函数及一组突触权重。激活函数可呈阶跃函数、线性函数、对数S型函数等的形式。网络中的不同神经元可具有不同激活函数。
举例来说,每一神经元可产生其输入及其偏倚的加权和,且接着产生作为使用神经元的激活函数来计算的加权和的函数的输出。
ANN的输入与输出之间的关系通常由ANN模型定义,所述ANN模型包含代表网络中神经元的连接性以及每一神经元的偏倚、激活函数以及突触权重的数据。基于给定ANN模型,计算装置可经配置以从到网络的一组给定输入计算网络的输出。
举例来说,可基于照相机输入产生到ANN网络的输入;且来自ANN网络的输出可为项目的识别,所述项目例如事件或对象。
一般来说,可使用监督方法来训练ANN,其中ANN中的参数经调整以最小化或减少与相应输入相关联或源自相应输入的已知输出与经由将输入应用于ANN产生的计算输出之间的误差。监督学习/训练方法的实例包含强化学习及具有错误校正的学习。
替代地或组合地,可使用无监督方法来训练ANN,其中在训练完成之前不知晓从一组给定输入产生的精确输出。ANN可经训练以将项目分类为多个类别,或者将数据点分类为集群。
可将多个训练算法用于复杂的机器学习/训练范例。
深度学习使用多层机器学习逐步从输入数据提取特征。举例来说,较低层可经配置以识别图像中的边缘;且较高层可经配置以基于使用较低层检测到的边缘来识别图像中捕获的项目,例如人脸、对象、事件等。深度学习可经由人工神经网络(ANN)实施,例如深度神经网络、深度信念网络、递归神经网络及/或卷积神经网络。
深度学习已应用于许多应用领域,例如计算机视觉、语音/音频辨识、自然语言处理、机器翻译、生物信息学、药物设计、医学图像处理、游戏等。
附图说明
在附图的图式中通过实例而非限制的方式说明实施例,其中相似参考指示类似元件。
图1展示具有根据一个实施例配置的深度学习加速器及随机存取存储器的集成电路装置。
图2展示根据一个实施例的经配置以执行矩阵-矩阵运算的处理单元。
图3展示根据一个实施例的经配置以执行矩阵-向量运算的处理单元。
图4展示根据一个实施例的经配置以执行向量-向量运算的处理单元。
图5展示根据一个实施例的经配置以自主地将输入应用于经训练人工神经网络的深度学习加速器及随机存取存储器。
图6展示具有根据一个实施例配置的传感器、深度学习加速器及随机存取存储器的集成电路装置。
图7展示根据一个实施例的经配置为具有深度学习加速器及随机存取存储器的集成电路装置的传感器装置。
图8展示具有根据一个实施例配置的深度学习加速器及随机存取存储器的集成传感器装置。
图9展示根据一个实施例的在集成传感器装置中实施的方法。
具体实施方式
本文公开的至少一些实施例提供一种传感器装置,其具有通用集成电路,所述通用集成电路经配置以用减少的能量消耗及计算时间执行人工神经网络(ANN)的计算。集成电路包含深度学习加速器(DLA)及随机存取存储器。在传感器装置中产生的传感器数据存储在随机存取存储器中,且由使用深度学习加速器(DLA)实施的人工神经网络(ANN)处理。人工神经网络(ANN)的输出可从传感器装置提供到主机系统。任选地,主机系统还可请求到人工神经网络(ANN)的用于进一步分析的输入。
深度学习加速器(DLA)包含一组通用、可编程硬件计算逻辑,其专用于及/或经优化以执行并行向量及/或矩阵计算,包含(但不限于)向量及/或矩阵的乘法及累加。
此外,深度学习加速器(DLA)可包含一或多个算术逻辑单元(ALU),以对整数二进制数执行算术及逐位运算。
深度学习加速器(DLA)可经由一组指令进行编程以执行人工神经网络(ANN)的计算。
对向量及矩阵进行操作的深度学习加速器(DLA)的粒度对应于在由深度学习加速器(DLA)执行一个指令期间可操作的向量/矩阵的最大单位。在对向量/矩阵操作数执行预定义操作的指令期间,向量/矩阵操作数的元素可由深度学习加速器(DLA)并行操作,以减少与存储器/数据存取相关联的执行时间及/或能量消耗。对深度学习加速器(DLA)的粒度的向量/矩阵操作数的操作可用作构建块以实施对更大大小的向量/矩阵的计算。
典型/实用人工神经网络(ANN)的实施涉及具有大于深度学习加速器(DLA)的操作粒度的大小的向量/矩阵操作数。为使用深度学习加速器(DLA)实施此人工神经网络(ANN),涉及较大大小的向量/矩阵操作数的计算可分解为深度学习加速器(DLA)的粒度的向量/矩阵操作数的计算。深度学习加速器(DLA)可经由指令编程,以实行涉及大向量/矩阵操作数的计算。举例来说,深度学习加速器(DLA)在响应于指令操纵深度学习加速器(DLA)的粒度的向量及矩阵时的原子计算能力可经编程以实施人工神经网络(ANN)中的计算。
在一些实施方案中,深度学习加速器(DLA)缺乏典型中央处理单元(CPU)的一些逻辑操作能力。然而,深度学习加速器(DLA)可配置有足够的逻辑单元来处理提供到人工神经网络(ANN)的输入数据,且根据为深度学习加速器(DLA)产生的一组指令来产生人工神经网络(ANN)的输出。因此,深度学习加速器(DLA)可执行人工神经网络(ANN)的计算,而几乎不需要中央处理单元(CPU)或另一处理器的帮助。任选地,常规通用处理器也可经配置为深度学习加速器(DLA)的部分,以执行不能够使用深度学习加速器(DLA)的向量/矩阵处理单元高效地实施及/或不能够由深度学习加速器(DLA)的向量/矩阵处理单元执行的操作。
典型人工神经网络(ANN)可以标准格式(例如,开放式神经网络交换(ONNX))来描述/指定。编译器可用于将对人工神经网络(ANN)的描述转换为一组指令来使深度学习加速器(DLA)执行人工神经网络(ANN)的计算。编译器可优化所述一组指令来改进深度学习加速器(DLA)实施人工神经网络(ANN)的性能。
深度学习加速器(DLA)可具有本地存储器,例如寄存器、缓冲器及/或高速缓存,其经配置以存储向量/矩阵操作数及向量/矩阵运算的结果。寄存器中的中间结果可在深度学习加速器(DLA)中作为后续向量/矩阵运算的操作数管线化/移位,以减少存取存储器/数据的时间及能量消耗,且因此在实施典型人工神经网络(ANN)时加快向量/矩阵运算的典型模式。深度学习加速器(DLA)中的寄存器、缓冲器及/或高速缓存的容量通常不足以容纳用于实施典型人工神经网络(ANN)的计算的整个数据集。因此,耦合到深度学习加速器(DLA)的随机存取存储器经配置以提供改进数据存储容量以用于实施典型人工神经网络(ANN)。举例来说,深度学习加速器(DLA)从随机存取存储器加载数据及指令,且将结果存储回到随机存取存储器中。
深度学习加速器(DLA)与随机存取存储器之间的通信带宽经配置以优化或最大化对深度学习加速器(DLA)的计算能力的利用。举例来说,可在深度学习加速器(DLA)与随机存取存储器之间提供高通信带宽,使得向量/矩阵操作数可从随机存取存储器加载到深度学习加速器(DLA)中,且结果可在大约等于供深度学习加速器(DLA)对向量/矩阵操作数执行计算的时间的时间段内存储回到随机存取存储器中。深度学习加速器(DLA)的粒度可经配置以增加由深度学习加速器(DLA)执行的计算量与向量/矩阵操作数的大小之间的比率,使得可减少深度学习加速器(DLA)与随机存取存储器之间的数据存取流量,这可减少对深度学习加速器(DLA)与随机存取存储器之间的通信带宽要求。因此,可减少或消除数据/存储器存取中的瓶颈。
在至少一些实施例中,集成传感器装置经配置以具有至少一个传感器、深度学习加速器(DLA)及随机存取存储器。
举例来说,传感器可配置在具有深度学习加速器(DLA)及随机存取存储器的集成电路装置中。替代地,传感器可通过印刷电路板与具有深度学习加速器(DLA)及随机存取存储器的集成电路装置连接以形成紧凑封装。
通过存储可由深度学习加速器(DLA)执行的人工神经网络(ANN)的模型,可针对人工智能(AI)的特定应用定制集成传感器装置。举例来说,可使用编译器从人工神经网络(ANN)的描述转换模型;且所述模型包含人工神经网络(ANN)的权重/内核矩阵及具有矩阵操作数的指令,所述指令可由深度学习加速器(DLA)执行以实施基于权重/内核矩阵的人工神经网络(ANN)的计算。
在通过将模型存储在随机存取存储器中以执行人工神经网络(ANN)的计算来定制传感器装置之后,将由集成传感器装置中的至少一个传感器产生的原始传感器数据作为输入提供到人工神经网络(ANN);且人工神经网络(ANN)的输出可作为集成传感器装置的主输出提供。存储人工神经网络(ANN)的模型将集成传感器装置转换为智能专用传感器装置,所述传感器装置输出从由传感器产生的测量导出的推断结果。
举例来说,集成传感器装置可向主机系统提供使用人工神经网络(ANN)在集成传感器装置中本地产生的智能输出,而不需要主机系统的辅助。举例来说,集成传感器装置可包含麦克风且经配置以直接输出经辨识文本,而不是感测到的声音或音频信号。举例来说,集成传感器装置可包含图像传感器且经配置以直接输出图像中展示的经辨识对象的识别、分类及/或特征,而不是含有对象的场景的原始图像。
任选地,集成传感器装置将输入数据高速缓存或缓冲到人工神经网络(ANN)一段时间,使得在由主机系统请求时,集成传感器装置可向主机系统提供输入数据(例如,声音/音频信号或图像)用于供进一步分析。
集成传感器装置中的随机存取存储器可包含经配置以存储到人工神经网络(ANN)的输入的一部分及经配置以存储来自人工神经网络(ANN)的输出的另一部分。由集成传感器装置中的传感器产生的数据(例如声音或音频信号及/或图像)可以循环方式存储在随机存取存储器的输入部分中。因此,可在随机存取存储器的输入部分中找到集成传感器装置的最近操作周期的原始传感器数据。深度学习加速器(DLA)实时地将输入部分中的数据转换为存储在随机存取存储器的输出部分中的推理结果。
举例来说,可以输入数据集的序列的形式配置到人工神经网络(ANN)的传感器输入数据流。每一输入数据集用于在一个时隙期间到人工神经网络(ANN)的一组输入。在深度学习加速器(DLA)正在计算来自当前组输入的输出时,控制器可将下一组输入存储到随机存取存储器中;且控制器可同时从随机存取存储器检索为前一组输入产生的输出。
因此,准备及处理从传感器到人工神经网络(ANN)的输入数据的任务可从传感器装置的主机系统卸载。具有深度学习加速器(DLA)及随机存取存储器的集成传感器装置可作为从人工神经网络(ANN)到主机系统(例如中央处理单元(CPU))的结果的独立供应者。主机系统可在需要输出时检索一组输出。当不需要来自人工神经网络(ANN)的输出时,主机系统可指示集成传感器装置暂停其操作。随后,当需要来自人工神经网络(ANN)的输出时,主机系统可指示集成电路装置恢复其产生由人工神经网络(ANN)定义的高级传感器输出的操作。
图1展示具有根据一个实施例配置的深度学习加速器(103)及随机存取存储器(105)的集成电路装置(101)。
图1中的深度学习加速器(103)包含处理单元(111)、控制单元(113)及本地存储器(115)。当向量及矩阵操作数在本地存储器(115)中时,控制器单元(113)可使用处理单元(111)根据指令执行向量及矩阵运算。此外,控制器单元(113)可通过存储器接口(117)及高速/带宽连接(119)从随机存取存储器(105)加载指令及操作数。
集成电路装置(101)经配置以围封在具有用于存储器控制器接口(107)的引脚或触点集成电路封装内。
存储器控制器接口(107)经配置以支持标准存储器存取协议,使得集成电路装置(101)以与不具有深度学习加速器(DLA)(103)的常规随机存取存储器装置相同的方式向典型存储器控制器呈现。举例来说,集成电路装置(101)外部的存储器控制器可使用标准存储器存取协议通过存储器控制器接口(107)存取集成电路装置(101)中的随机存取存储器(105)。
集成电路装置(101)经配置有在围封在集成电路装置(101)内的随机存取存储器(105)与深度学习加速器(DLA)(103)之间的高带宽连接(119)。连接(119)的带宽高于随机存取存储器(105)与存储器控制器接口(107)之间的连接(109)的带宽。
在一个实施例中,存储器控制器接口(107)及存储器接口(117)两者都经配置以经由同一组总线或导线存取随机存取存储器(105)。因此,在存储器接口(117)与存储器控制器接口(107)之间共享用以存取随机存取存储器(105)的带宽。替代地,存储器控制器接口(107)及存储器接口(117)经配置以经由单独组的总线或导线来存取随机存取存储器(105)。任选地,随机存取存储器(105)可包含可经由连接(119)同时存取的多个区段。举例来说,当存储器接口(117)正在存取随机存取存储器(105)的区段时,存储器控制接口(107)可同时存取随机存取存储器(105)的另一区段。举例来说,可在不同的集成电路裸片及/或存储器单元的不同平面/存储体上配置不同区段;且可并行地存取不同区段以增加存取随机存取存储器(105)的处理量。举例来说,存储器控制器接口(107)经配置以一次存取一个预定大小的数据单位;且存储器接口(117)经配置以一次存取各自具有相同预定大小的多个数据单位。
在一个实施例中,随机存取存储器(105)及集成电路装置(101)配置在同一集成电路封装内配置的不同集成电路裸片上。此外,随机存取存储器(105)可配置在一或多个集成电路裸片上,这允许同时并行存取多个数据元素。
在一些实施方案中,可通过连接(119)并行存取的向量或矩阵的数据元素的数目对应于对向量或矩阵进行操作的深度学习加速器(DLA)的粒度。举例来说,当处理单元(111)可对数个向量/矩阵元素并行操作时,连接(119)经配置以经由连接(119)并行加载或存储相同数目的元素或所述数目的倍数的元素。
任选地,可基于深度学习加速器(DLA)(103)的处理速度来配置连接(119)的数据存取速度。举例来说,在已将某个量的数据及指令加载到本地存储器(115)之后,控制单元(113)可使用处理单元(111)执行指令以对数据进行操作以产生输出。在进行处理以产生输出的时间段内,连接(119)的存取带宽允许将相同量的数据及指令加载到本地存储器(115)用于下一操作,且允许将相同量的输出存储回到随机存取存储器(105)。举例来说,在控制单元(113)正在使用本地存储器(115)的一部分来处理数据并产生输出时,存储器接口(117)可将先前操作的输出从本地存储器(115)的另一部分卸载到随机存取存储器(105)中,且将操作数数据及指令加载到所述另一部分中。因此,深度学习加速器(DLA)的利用率及性能不会被连接(119)的带宽约束或降低。
随机存取存储器(105)可用于存储人工神经网络(ANN)的模型数据且缓冲人工神经网络(ANN)的输入数据。模型数据不会频繁改变。模型数据可包含由深度学习加速器(DLA)的编译器产生以实施人工神经网络(ANN)的输出。模型数据通常包含用于描述人工神经网络(ANN)的矩阵及为深度学习加速器(DLA)(103)产生以基于深度学习加速器(DLA)(103)的粒度的向量/矩阵运算来执行人工神经网络(ANN)的向量/矩阵运算的指令。所述指令不仅对人工神经网络(ANN)的向量/矩阵运算进行操作,而且对人工神经网络(ANN)的输入数据进行操作。
在一个实施例中,当在随机存取存储器(105)中加载或更新输入数据时,深度学习加速器(DLA)(103)的控制单元(113)可自动执行人工神经网络(ANN)的指令以产生人工神经网络(ANN)的输出。输出被存储到随机存取存储器(105)中的预定义区中。深度学习加速器(DLA)(103)可在没有来自中央处理单元(CPU)的帮助的情况下执行指令。因此,可减少或消除用于在深度学习加速器(DLA)(103)与集成电路装置(101)外部的处理器(例如,中央处理单元(CPU))之间进行协调的通信。
任选地,深度学习加速器(DLA)(103)的逻辑电路可经由互补金属氧化物半导体(CMOS)来实施。举例来说,可使用随机存取存储器(105)的存储器单元的阵列下CMOS(CUA)的技术来实施深度学习加速器(DLA)(103)的逻辑电路,包含处理单元(111)及控制单元(113)。替代地,可使用随机存取存储器(105)的存储器单元的阵列中的CMOS的技术来实施深度学习加速器(DLA)(103)的逻辑电路。
在一些实施方案中,深度学习加速器(DLA)(103)及随机存取存储器(105)可在单独集成电路裸片上实施,且使用穿硅通路(TSV)连接以增加深度学习加速器(DLA)(103)与随机存取存储器(105)之间的数据带宽。举例来说,深度学习加速器(DLA)(103)可形成在现场可编程门阵列(FPGA)或专用集成电路(ASIC)的集成电路裸片上。
替代地,深度学习加速器(DLA)(103)及随机存取存储器(105)可配置在单独集成电路封装中,且经由印刷电路板(PCB)上的多个点对点连接进行连接用于并行通信,且因此增加数据传送带宽。
随机存取存储器(105)可为易失性存储器或非易失性存储器,或易失性存储器与非易失性存储器的组合。非易失性存储器的实例包含快闪存储器、基于与非(NAND)逻辑门、或非(NOR)逻辑门形成的存储器单元、相变存储器(PCM)、磁存储器(MRAM)、电阻随机存取存储器、交叉点存储及存储器装置。交叉点存储器装置可使用无晶体管存储器元件,其中的每一者具有作为列堆叠在一起的存储器单元及选择器。存储器元件列经由垂直方向上延伸的两层导线连接,其中一层导线在位于存储器元件列之上的层中在一个方向上延伸,且另一层导线在另一方向延伸且位于存储器元件列之下。每一存储器元件可在两个层中的每一者上的一根导线的交叉点处个别地选择。交叉点存储器装置是快速且非易失的,且可用作用于处理及存储的统一存储器池。非易失性存储器的另外实例包含只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)及电可擦除可编程只读存储器(EEPROM)存储器等。易失性存储器的实例包含动态随机存取存储器(DRAM)及静态随机存取存储器(SRAM)。
举例来说,非易失性存储器可经配置以实施随机存取存储器(105)的至少一部分。随机存取存储器(105)中的非易失性存储器可用于存储人工神经网络(ANN)的模型数据。因此,在集成电路装置(101)断电且重新启动之后,不必将人工神经网络(ANN)的模型数据重新加载到集成电路装置(101)中。此外,非易失性存储器可为可编程/可重新写入的。因此,可更新或替换集成电路装置(101)中的人工神经网络(ANN)的模型数据以实施更新人工神经网络(ANN)或另一人工神经网络(ANN)。
深度学习加速器(DLA)(103)的处理单元(111)可包含向量-向量单元、矩阵-向量单元及/或矩阵-矩阵单元。下面结合图2到4论述经配置以执行向量-向量运算、矩阵-向量运算及矩阵-矩阵运算的单元的实例。
图2展示根据一个实施例的经配置以执行矩阵-矩阵运算的处理单元(121)。举例来说,图2的矩阵-矩阵单元(121)可用作图1的深度学习加速器(DLA)(103)的处理单元(111)中的一者。
在图2中,矩阵-矩阵单元(121)包含多个内核缓冲器(131到133)及多个映射存储体(151到153)。映射存储体(151到153)中的每一者存储矩阵操作数的一个向量,所述矩阵操作数具有分别存储在映射存储体(151到153)中的多个向量;且内核缓冲器(131到133)中的每一者存储另一矩阵操作数的一个向量,所述矩阵操作数具有分别存储在内核缓冲器(131到133)中的多个向量。矩阵-矩阵单元(121)经配置以使用并行操作的多个矩阵-向量单元(141到143)对两个矩阵操作数的元素执行乘法及累加运算。
交叉开关(123)将映射存储体(151到153)连接到矩阵-向量单元(141到143)。存储在映射存储体(151到153)中的相同矩阵操作数经由交叉开关(123)提供到矩阵-向量单元(141到143)中的每一者;且矩阵-向量单元(141到143)并行地从映射存储体(151到153)接收数据元素。内核缓冲器(131到133)中的每一者连接到矩阵-向量单元(141到143)中的相应者,且向相应矩阵-向量单元提供向量操作数。矩阵-向量单元(141到143)同时操作以计算存储在映射存储体(151到153)中的相同矩阵操作数乘以存储在内核缓冲器(131到133)中的对应向量的运算。举例来说,矩阵-向量单元(141)对存储在映射存储体(151到153)中的矩阵操作数及存储在内核缓冲器(131)中的向量操作数执行乘法运算,而矩阵-向量单元(143)正同时对存储在映射存储体(151到153)中的矩阵操作数及存储在内核缓冲器(133)中的向量操作数执行乘法运算。
图2中的矩阵-向量单元(141到143)中的每一者可以如图3中所说明的方式实施。
图3展示根据一个实施例的经配置以执行矩阵-向量运算的处理单元(141)。举例来说,图3的矩阵-向量单元(141)可用作图2的矩阵-矩阵单元(121)中的矩阵-向量单元中的任一者。
在图3中,映射存储体(151到153)中的每一者存储矩阵操作数的一个向量,所述矩阵操作数具有以类似于图2的映射存储体(151到153)的方式分别存储在映射存储体(151到153)中的多个向量。图3中的交叉开关(123)将向量从映射存储体(151)分别提供到向量-向量单元(161到163)。将存储在内核缓冲器(131)中的相同向量提供到向量-向量单元(161到163)。
向量-向量单元(161到163)同时操作以计算分别存储在映射存储体(151到153)中的对应向量操作数乘以存储在内核缓冲器(131)中的相同向量操作数的运算。举例来说,向量-向量单元(161)对存储在映射存储体(151)中的向量操作数及存储在内核缓冲器(131)中的向量操作数执行乘法运算,而向量-向量单元(163)正同时对存储在映射存储体(153)中的向量操作数及存储在内核缓冲器(131)中的向量操作数执行乘法运算。
当图3的矩阵-向量单元(141)在图2的矩阵-矩阵单元(121)中实施时,矩阵-向量单元(141)可使用矩阵-矩阵单元(121)的映射存储体(151到153)、交叉开关(123)及内核缓冲器(131)。
图3中的向量-向量单元(161到163)中的每一者可以如图4中所说明的方式实施。
图4展示根据一个实施例的经配置以执行向量-向量运算的处理单元(161)。举例来说,图4的向量-向量单元(161)可用作图3的矩阵-向量单元(141)中的向量-向量单元中的任一者。
在图4中,向量-向量单元(161)具有多个乘法-累加(MAC)单元(171到173)。乘法-累加(MAC)单元(171到173)中的每一者可接收两个数字作为操作数,执行两个数字的乘法,且将乘法结果与维持在乘法-累加(MAC)单元中的和相加。
向量缓冲器(181及183)中的每一者存储数字列表。可向乘法-累加(MAC)单元(171到173)中的每一者提供各自来自向量缓冲器(181及183)中的一者的一对数字作为输入。乘法-累加(MAC)单元(171到173)可并行地从向量缓冲器(181及183)接收多对数字,且并行地执行乘法-累加(MAC)运算。来自乘法-累加(MAC)单元(171到173)的输出被存储到移位寄存器(175)中;且累加器(177)计算移位寄存器(175)中的结果的和。
当图4的向量-向量单元(161)在图3的矩阵-向量单元(141)中实施时,向量-向量单元(161)可将映射存储体(例如,151或153)用作一个向量缓冲器(181),且将矩阵-向量单元(141)的内核缓冲器(131)用作另一向量缓冲器(183)。
向量缓冲器(181及183)可具有相同长度以存储相同数目/计数的数据元素。长度可等于向量-向量单元(161)中的乘法-累加(MAC)单元(171到173)的计数或是其倍数。当向量缓冲器(181及183)的长度是乘法-累加(MAC)单元(171到173)的计数的倍数时,等于乘法-累加(MAC)单元(171到173)的计数的数对输入可在每次迭代中从向量缓冲器(181及183)作为输入提供到乘法-累加(MAC)单元(171到173);且向量缓冲器(181及183)通过多次迭代将其元素馈送到乘法-累加(MAC)单元(171到173)中。
在一个实施例中,深度学习加速器(DLA)(103)与随机存取存储器(105)之间的连接(119)的通信带宽足以使矩阵-矩阵单元(121)将随机存取存储器(105)的部分用作映射存储体(151到153)及内核缓冲器(131到133)。
在另一实施例中,映射存储体(151到153)及内核缓冲器(131到133)在深度学习加速器(DLA)(103)的本地存储器(115)的一部分中实施。深度学习加速器(DLA)(103)与随机存取存储器(105)之间的连接(119)的通信带宽足以将矩阵-矩阵单元(121)的下一操作周期的矩阵操作数加载到本地存储器(115)的另一部分中,而矩阵-矩阵单元(121)正使用在深度学习加速器(DLA)(103)的本地存储器(115)的不同部分中实施的映射存储体(151到153)及内核缓冲器(131到133)在当前操作周期中执行计算。
图5展示根据一个实施例的经配置以自主地将输入应用于经训练人工神经网络的深度学习加速器及随机存取存储器。
已通过机器学习(例如,深度学习)训练的人工神经网络(ANN)(201)可以标准格式(例如,开放式神经网络交换(ONNX))描述。以标准格式描述经训练ANN(201)识别人工神经元的性质及其连接性。
在图5中,深度学习加速器(DLA)编译器(203)通过产生用于深度学习加速器(DLA)(103)的指令(205)及对应于人工神经元及其连接性的性质的矩阵(207)来转换经训练ANN(201)。由DLA编译器(203)从经训练ANN(201)产生的指令(205)及矩阵(207)可存储在深度学习加速器(DLA)(103)的随机存取存储器(105)中。
举例来说,随机存取存储器(105)及深度学习加速器(DLA)(103)可经由高带宽连接(119)以与图1的集成电路装置(101)相同的方式连接。基于指令(205)及矩阵(207)的图5的自主计算可在图1的集成电路装置(101)中实施。替代地,随机存取存储器(105)及深度学习加速器(DLA)(103)可配置在具有并行延伸的多个点对点串行总线的印刷电路板上以实施连接(119)。
在图5中,在DLA编译器(203)的结果存储在随机存取存储器(105)中之后,通过输入(211)在随机存取存储器(105)中的存在或随机存取存储器(105)中提供的另一指示,可触发应用经训练ANN(201)来处理到经训练神经网络(201)的输入(211)以产生经训练ANN(213)的对应输出(213)。
作为响应,深度学习加速器(DLA)(103)执行指令(205)以组合输入(211)与矩阵(207)。指令(205)的执行可包含为深度学习加速器(DLA)(103)的一或多个矩阵-矩阵单元(例如,121)的映射存储体(151到153)产生映射矩阵。
在一些实施例中,到ANN(211)的输入呈初始映射矩阵的形式。初始映射矩阵的部分可作为存储在矩阵-矩阵单元(121)的映射存储体(151到153)中的矩阵操作数从随机存取存储器(105)检索。替代地,DLA指令(205)还包含用于使深度学习加速器(DLA)(103)从输入(211)产生初始映射矩阵的指令。
根据DLA指令(205),深度学习加速器(DLA)(103)将矩阵操作数加载到其矩阵-矩阵单元(121)的内核缓冲器(131到133)及映射存储体(151到153)中。矩阵-矩阵单元(121)对矩阵操作数执行矩阵计算。举例来说,DLA指令(205)根据深度学习加速器(DLA)(103)的计算粒度(例如,作为矩阵操作数加载在矩阵-矩阵单元(121)中的矩阵的大小/维度)分解经训练ANN(201)的矩阵计算,且将输入特征映射应用于人工神经元的层的内核以产生输出作为用于人工神经元的下一层的输入。
在完成根据指令(205)执行的经训练ANN(201)的计算后,深度学习加速器(DLA)(103)将ANN(201)的输出(213)存储在随机存取存储器(105)中的预定义位置处或者存储在随机存取存储器(105)中提供的指示中指定的位置处以触发计算。
当图5的技术在图1的集成电路装置(101)中实施时,连接到存储器控制器接口(107)的外部装置可将输入(211)写入随机存取存储器(105)中,且触发由深度学习加速器(DLA)(103)将输入(211)应用于经训练ANN(201)的自主计算。在一段时间之后,输出(213)在随机存取存储器(105)中可用;且外部装置可经由集成电路装置(101)的存储器控制器接口(107)读取输出(213)。
举例来说,随机存取存储器(105)中的预定义位置可经配置以存储指示以触发由深度学习加速器(DLA)(103)自主执行指令(205)。所述指示可任选地包含输入(211)在随机存取存储器(105)内的位置。因此,在自主执行指令(205)以处理输入(211)期间,外部装置可检索在指令(205)的上一次运行期间产生的输出,及/或存储另一组输入用于指令(205)的下一次运行。
任选地,随机存取存储器(105)中的进一步预定义位置可经配置以存储指令(205)的当前运行的进度状态的指示。此外,指示可包含指令(205)的当前运行的完成时间的预测(例如,基于指令(205)的先前运行来估计)。因此,外部装置可在合适时间窗口检查完成状态以检索输出(213)。
在一些实施例中,随机存取存储器(105)配置有足够容量来存储多组输入(例如,211)及输出(例如,213)。可在随机存取存储器(105)中的预定插槽/区域中配置每一组。
深度学习加速器(DLA)(103)可根据存储在随机存取存储器(105)中的矩阵(207)自主地执行指令(205)以从输入(211)产生输出(213),而不需要来自位于集成电路装置(101)外部的处理器或装置的帮助。
在根据一个实施例的方法中,可使用计算装置(例如101)到存储器控制器的接口(107)来存取计算装置(例如101)的随机存取存储器(105)。计算装置(例如101)可具有经配置以至少对矩阵操作数执行计算的处理单元(例如111),所述矩阵操作数例如存储在映射存储体(151到153)中的矩阵操作数及存储在内核缓冲器(131到133)中的矩阵操作数。
举例来说,计算装置(例如101)可围封在集成电路封装内;且一组连接可将接口(107)连接到位于集成电路封装外部的存储器控制器。
可通过接口(107)将可由处理单元(例如111)执行的指令(205)写入随机存取存储器(105)。
人工神经网络(201)的矩阵(207)可通过接口(107)写入随机存取存储器(105)中。矩阵(207)识别人工神经网络(201)的性质及/或状态。
任选地,随机存取存储器(105)的至少一部分是非易失性的,且经配置以存储人工神经网络(201)的指令(205)及矩阵(07)。
人工神经网络的第一输入(211)可通过接口(107)写入随机存取存储器(105)。
在随机存取存储器(105)中提供指示以致使处理单元(111)开始执行指令(205)。响应于所述指示,处理单元(111)执行指令以将第一输入(211)与人工神经网络(201)的矩阵(207)组合以从人工神经网络产生第一输出(213)且将第一输出(213)存储在随机存取存储器(105)中。
举例来说,所述指示可为随机存取存储器(105)中的第一输入(211)的地址;且所述指示可存储在随机存取存储器(105)中的预定位置,以致使针对由所述地址识别的输入(211)启动指令(205)的执行。任选地,所述指示还可包含用于存储输出(213)的地址。
可通过接口(107)从随机存取存储器(105)读取第一输出(213)。
举例来说,计算装置(例如101)可具有形成在第一集成电路裸片上的深度学习加速器(103)及形成在一或多个第二集成电路裸片上的随机存取存储器(105)。第一集成电路裸片与一或多个第二集成电路裸片之间的连接(119)可包含穿硅通路(TSV)以提供用于存储器存取的高带宽。
举例来说,可使用编译器(203)将对人工神经网络(201)的描述转换为指令(205)及矩阵(207)。存储在随机存取存储器(105)中的指令(205)及矩阵(207)与深度学习加速器(103)的组合提供人工神经网络(201)的自主实施,人工神经网络(201)可自动地将到人工神经网络(201)的输入(211)转换为其输出(213)。
举例来说,在深度学习加速器(103)执行指令(205)以根据人工神经网络(201)的矩阵(207)从第一输入(211)产生第一输出(213)的时间段期间,到人工神经网络(201)的第二输入可通过在替代位置处的接口(107)写入随机存取存储器(105)中。在第一输出(213)被存储在随机存取存储器(105)中之后,可在随机存取存储器(105)中提供指示以致使深度学习加速器(103)再次开始执行指令且从第二输入产生第二输出。
在深度学习加速器(103)执行指令(205)以根据人工神经网络(201)的矩阵(207)从第二输入产生第二输出的时间段期间,可通过接口(107)从随机存取存储器(105)读取第一输出(213);且另一输入可写入到随机存取存储器中以替换第一输入(211),或在不同的位置处写入。可对输入序列重复所述过程。
深度学习加速器(103)可包含至少一个矩阵-矩阵单元(121),其可对两个矩阵操作数执行指令。所述两个矩阵操作数可为第一矩阵及第二矩阵。两个矩阵中的每一者具有多个向量。矩阵-矩阵单元(121)可包含经配置以并行操作的多个矩阵-向量单元(141到143)。矩阵-向量单元(141到143)中的每一者经配置以与其它矩阵-向量单元并行地对第一矩阵及来自第二矩阵的一个向量进行操作。此外,矩阵-向量单元(141到143)中的每一者可具有经配置以并行操作的多个向量-向量单元(161到163)。向量-向量单元(161到163)中的每一者经配置以与其它向量-向量单元并行地对来自第一矩阵的向量及对应矩阵-向量单元的公共向量操作数进行操作。此外,向量-向量单元(161到163)中的每一者可具有经配置以并行操作的多个乘法-累加单元(171到173)。
深度学习加速器(103)除处理单元(111)之外,还可具有本地存储器(115)及控制单元(113)。控制单元(113)可从随机存取存储器(105)加载指令(205)及矩阵操作数(例如207)用于由处理单元(111)执行。本地存储器可高速缓存由矩阵-矩阵单元使用的矩阵操作数。连接(119)可配置有足够的带宽以在矩阵-矩阵单元对两个其它矩阵操作数执行操作的时间段期间,将一组矩阵操作数从随机存取存储器(105)加载到本地存储器(115)。此外,在所述时间段期间,带宽足以将由矩阵-矩阵单元(121)在先前指令执行中产生的结果从本地存储器(115)存储到随机存取存储器(105)。
深度学习加速器(103)及随机存取存储器(105)可与一或多个传感器组合以形成集成传感器装置,所述集成传感器装置使用人工神经网络过滤及/或转换传感器的测量。举例来说,传感器可内置在具有深度学习加速器(103)及随机存取存储器(105)的集成电路装置(101)中。替代地,传感器在印刷电路板上连接到集成电路装置(101)以形成紧凑封装。集成传感器装置具有可由主机系统通过外围总线、存储器总线或网络连接存取的主机接口。
集成传感器装置可经由将人工神经网络(201)的矩阵(207)及指令(205)通过主机接口存储到随机存取存储器(105)中来定制、更新及/或升级。
经由执行指令(205)的深度学习加速器(103)实施的人工神经网络(201)将来自传感器的测量转换为推理结果。所述转换改进集成传感器装置的输出质量,减少连接到主机系统的通信带宽需求,及/或减少主机系统的计算工作负载。
举例来说,集成传感器装置可将音频信号转换为经辨识文本及/或将图像转换为经辨识对象、事件、分类、特征等。
图6展示具有根据一个实施例配置的传感器(102)、深度学习加速器(103)及随机存取存储器(105)的集成电路装置(101)。
举例来说,传感器(102)可包含温度传感器、电流传感器、电压传感器、光传感器、压力传感器、应力传感器、应变传感器、触摸传感器及/或机电装置,其经配置以测量加速度、旋转、红外辐射、振动等或其任一组合。
图6的传感器(102)可形成在集成电路装置(101)的衬底上或配置在集成电路装置(101)的衬底上。在一些实施方案中,传感器(102)可围封在集成电路封装内。在其它实施方案中,传感器(102)可定位在集成电路封装的表面上。举例来说,当集成电路装置(101)的引脚或触点配置在集成电路装置(101)的侧上或底部表面处时,传感器(102)可配置在集成电路封装的顶部表面上。
图6的集成电路装置(101)具有控制器(107),控制器(107)经配置以经由集成电路装置(101)中的连接(104)来控制传感器(102)的操作。控制器(107)可例如使用微控制器或序列器来实施,所述微控制器或序列器控制传感器(102)的操作的时序且将传感器数据/测量加载到随机存取存储器(105)中。替代地,控制器(107)可使用微处理器来实施,所述微处理器运行存储在随机存取存储器(105)中作为固件的应用程序,以协调传感器(102)、随机存取存储器(105)、深度学习加速器(103)及/或主机接口(106)当中的操作。
在将一组传感器数据存储到随机存取存储器(105)中作为到人工神经网络(201)的输入(211)之后,控制器(107)可致使深度学习加速器(103)执行指令(205)且产生人工神经网络(201)的输出(213)。
举例来说,控制器(107)可通过在随机存取存储器(105)中的预定义位置处写入输入(211)的地址来指示深度学习加速器(103)开始执行指令(205)。当深度学习加速器(103)处于空闲状态时,深度学习加速器(103)可周期性地读取存储在随机存取存储器(105)中的预定义位置处的地址。当从预定义位置检索到新的及/或有效地址时,深度学习加速器(103)开始执行指令(205)。任选地,在开始执行指令(205)之后,深度学习加速器(103)可任选地清除、擦除先前存储在随机存取存储器(105)中的预定义位置的地址或使其无效。
替代地,控制器(107)经配置以向深度学习加速器(103)发送信号或消息以指示深度学习加速器(103)执行指令(205)。可使用不穿过随机存取存储器(105)的存储器单元的直接连接将信号或消息从控制器(107)传输到深度学习加速器(103)。
在一些实施方案中,控制器(107)及深度学习加速器(103)具有到随机存取存储器(105)的单独连接(109及119)。当控制器(107)及深度学习加速器(103)不存取随机存取存储器(105)的同一块或地址时,连接(109及119)可由控制器(107)及深度学习加速器(103)并行地使用来同时存取随机存取存储器(105)的不同部分。
在其它实施方案中,控制单元(113)及控制器(107)可在深度学习加速器(103)中共享其迂回的至少一部分,且使用同一存储器接口(117)来存取随机存取存储器(105)。
图6的集成电路装置(101)的主机接口(106)经配置以经由连接(228)向主机系统(223)提供输出(213),所述连接例如存储器总线、外围总线、计算机网络等。
为减少集成电路装置(101)的引脚计数,主机接口(106)可经配置以使用串行通信连接来与主机系统(223)通信。替代地,可使用并行通信连接。
举例来说,主机接口(106)可经配置用于与外围总线串行连接。替代地,主机接口(106)可经配置用于与存储器总线并行连接。
举例来说,主机接口(106)可为与串行高级技术附件(SATA)总线、外围组件互连快速(PCIe)总线、通用串行总线(USB)、串行附接SCSI(SAS)、双倍数据速率(DDR)存储器总线、小型计算机系统接口(SCSI)总线等的接口。举例来说,主机接口(106)可包含逻辑电路以实施连接到主机接口(106)的总线的通信协议。举例来说,当主机接口(106)是PCIe接口时,主机接口(106)可实施NVM(非易失性存储器)快速(NVMe)的协议。主机接口(106)可使用所述协议在集成电路装置(101)与主机系统(223)之间传递控制、地址、数据及其它信号。
主机接口(106)可由主机系统(223)使用以将数据写入随机存取存储器(105)中,例如人工神经网络(201)的矩阵(207)及指令(205)。主机接口(106)可由主机系统(223)使用以从集成电路装置(101)检索输出(213)。
举例来说,当主机系统(223)向主机接口(106)发送写入命令时,控制器(107)经由到主机接口(106)的连接(108)获得写入命令,且执行写入命令以将数据(例如,矩阵(207)或指令(205)的一部分)存储到随机存取存储器(105)中。当主机系统(223)向主机接口(106)发送读取命令时,控制器(107)检索数据(例如,输出(213)的一部分),且通过连接(108)及主机接口(106)向主机系统(223)传输检索数据。
任选地,主机系统(223)也可检索输入(211)用于进一步分析。举例来说,基于输出(213),主机系统(223)可决定检索输入(211)的一部分用于进一步分析;且一或多个命令可被传输到主机接口(106)以致使控制器(107)通过主机接口(106)向主机系统(223)传输输入(211)的所选择部分。
在一些实施方案中,在集成电路装置(101)之间使用简化通信协议,使得主机系统(223)不必对随机存取存储器(105)中的数据放置方案具有可见性。
举例来说,主机系统(223)可指示预定义类别(例如,矩阵(207)或指令(205))的数据量将被流式传输到集成电路装置(101)中;且控制器(107)将数据存储在随机存取存储器(105)中的位置中,且存储供深度学习加速器(103)在其执行人工神经网络(201)的指令(205)期间存取数据的配置参数。
类似地,主机系统(223)可指示预定义类别(例如,输出(213)或与输出(213)相关联的输入(211))的数据将从集成电路装置(101)流式传输;且控制器(107)从随机存取存储器(105)检索数据,且使用主机接口(106)将数据流式传输到主机系统(223)。
在一些实施方案中,控制器(107)可主动地向主机系统(223)报告输出(213)。举例来说,当深度学习加速器(103)完成一组输出(213)的计算时,控制器(107)经由主机接口(106)向主机系统(223)产生指示输出(213)的可用性的消息。作为响应,主机系统(223)可任选地立即接受输出(213)的传输,请求延迟输出(213)的传输达一段时间,或请求推迟下一组输出(213)的产生。
在一些实施方案中,主机系统(223)可查询及管理随机存取存储器(105)中数据的存储或放置。
举例来说,主机系统(223)可发出命令以请求控制器(107)报告集成电路装置(101)的随机存取存储器(105)的容量。
举例来说,主机系统(223)可发出命令以请求控制器(107)报告为预定义数据类型(例如,矩阵(207)、指令(205)、输出(213)、输入(211))配置的随机存取存储器(105)的一部分的位置及大小。
举例来说,主机系统(223)可发出命令以请求控制器(107)调整为预定义数据类型(例如,矩阵(207)、指令(205)、输出(213)、输入(211))配置的随机存取存储器(105)的一部分的位置及大小。
替代地,集成电路装置(101)的随机存取存储器(105)中的数据存储结构是预定及固定的(例如,为简单起见)。
在能够看见随机存取存储器(105)中的数据存储结构的情况下,主机系统(223)可存取随机存取存储器(105)用于存储及/或检索各种类型的数据(例如,矩阵(207)、指令(205)、输出(213)、输入(211)),如同随机存取存储器(105)配置在经由存储器总线连接到主机系统(223)的存储器模块中或配置在经由外围总线连接到主机系统(223)的存储装置中一样。
在一些实施方案中,深度学习加速器(103)的控制单元(113)可包含控制器(107);且主机装置(106)的逻辑电路可在深度学习加速器(103)的集成电路裸片上实施,如在图7中说明。
图7展示根据一个实施例的经配置为具有深度学习加速器(103)及随机存取存储器(105)的集成电路装置(101)的传感器装置(101)。
在图7中,深度学习加速器(103)配置在集成电路裸片上;且随机存取存储器(105)配置在一或多个集成电路裸片上。控制单元(113)不仅控制人工神经网络(201)的指令(205)的执行,而且控制主机接口(106)与主机系统(223)的通信以及传感器(102)的操作。
举例来说,控制单元(113)周期性地从传感器(102)检索测量,且通过高带宽连接(119)将测量存储到随机存取存储器(105)中。
举例来说,控制单元(113)可以类似于连接在存储器总线上的存储器模块的控制器或连接在外围总线上的数据存储装置的控制器的方式来操作主机接口(106)及随机存取存储器(105)。
一些传感器(102)可形成在集成电路衬底或集成电路裸片上,且因此可围封在集成电路装置(101)的集成电路封装中(例如,如在图6及图7中所说明)。
替代地,传感器(102)可为围封深度学习加速器(103)及随机存取存储器(105)的集成电路封装外部的离散组件。
举例来说,传感器(102)以及具有深度学习加速器(103)及随机存取存储器(105)的集成电路装置(101)可安装在具有到计算机系统的缆线、总线及/或计算机网络的连接器的印刷电路板上。
图8展示具有根据一个实施例配置的深度学习加速器(13)及随机存取存储器(105)的集成传感器装置(191)。
图8的集成传感器装置(191)具有衬底(229),衬底(229)提供其组件之间的连接,所述组件例如深度学习加速器(103)、随机存取存储器(105)、传感器(102)、控制器(107)及主机接口(106)。
在一些实施方案中,衬底(229)是具有用于连接组件的导线的集成电路裸片。组件(例如,随机存取存储器(105)、深度学习加速器(103)、控制器(107)及/或主机接口(106)的集成电路裸片)中的一些可经由穿硅通路(TSV)连接到衬底(229)的集成电路裸片。其它组件可经由导线接合、裸片附接或其它技术连接到衬底(229)。
在一些实施方案中,衬底(229)是具有用于连接组件的导线的印刷电路板。
在一些实施方案中,主机接口(106)及/或控制器(107)的逻辑电路配置在深度学习加速器(103)的集成电路裸片或另一集成电路裸片上。
当传感器(102)可通过外壳、封装材料接收刺激时,集成传感器装置(191)可密封在外壳或封装材料内。替代地,在外壳或封装材料中提供开口以允许刺激到达传感器(102)。提供一组连接器以使用缆线、插座、母板或另一印刷电路板将主机接口(106)连接到主机系统(223)。
图9展示根据一个实施例的在集成传感器装置中实施的方法。举例来说,图9的方法可在图8的集成传感器装置(191)或图6及7的集成电路装置(101)中实施。
在框301处,集成传感器装置(例如101或191)在主机接口(106)中接收人工神经网络(201)的矩阵(207)及指令(205),指令(205)可由围封在装置(例如101或191)内的至少一个处理单元(111)执行以使用矩阵(207)来实施人工神经网络的计算(201)。
举例来说,至少一个处理单元(111)可形成在实施深度学习加速器(103)的现场可编程门阵列(FPGA)或专用集成电路(ASIC)的集成电路裸片上。深度学习加速器(103)可包含用于矩阵指令执行的至少一个处理单元(111)、用于缓冲矩阵操作数及结果的本地存储器(115)、可从随机存取存储器(105)加载指令(205)用于执行的控制单元(113)及用于存取随机存取存储器(105)的存储器接口(117)。
举例来说,集成传感器装置(例如101或191)可具有控制器(107)来操作主机接口(106)。控制器(107)可与深度学习加速器(103)的控制单元(113)分离或集成在所述控制单元内。
在框303处,集成传感器装置(例如101或191)将矩阵(207)及指令(2050存储在集成在装置(例如101或191)中的随机存取存储器(105)中。
在框305处,集成在装置(例如101或191)中的传感器(102)产生刺激的测量,例如加速度、旋转、振动、压力、触摸、声音、光、红外辐射、应力、应变等。
在框307处,集成传感器装置(例如101或109)将测量存储在随机存取存储器(105)中作为到人工神经网络(201)的输入。
在框309处,至少一个处理单元(111)执行指令(205)以根据输入(211)从人工神经网络(201)产生输出(213)。
在框311处,集成传感器装置(例如,101或191)将来自人工神经网络(213)的输出(213)存储在随机存取存储器(105)中。
在框313处,集成传感器装置(例如101或191)经由主机接口(106)将输出(213)传达到主机系统(223),主机系统(223)经由计算机总线(例如存储器总线或外围总线)连接到主机接口(106)。
举例来说,主机接口(106)可包含逻辑电路来实施外围总线的串行通信协议,例如串行高级技术附件(SATA)、外围组件互连快速(PCIe)、通用串行总线(USB)、NVM(非易失性存储器)快速(NVMe)等的协议。
举例来说,主机接口(106)的逻辑电路可形成在单独集成电路裸片上,或集成到现场可编程门阵列(FPGA)或专用集成电路(ASIC)的集成电路裸片上。
在一些实施方案中,集成传感器装置(例如101或191)具有围封所述装置的集成电路封装;且一组连接器(例如,引脚或接触球)可提供主机接口(106)与外部电路或连接(例如印刷电路板、缆线或插座(例如,母板上的插槽))之间的连接。
在一些情况下,集成电路封装经配置以大体上围封整个装置(例如101或191),除为被测量的刺激提供开口以到达传感器之外。
集成传感器装置(例如101或191)可具有衬底(229),所述衬底具有经配置以将控制器(107)及/或控制单元(113)连接到传感器(102)、主机接口(106)及随机存取存储器(105)的导线。举例来说,传感器(102)可形成在衬底(229)上(例如,作为机电装置或半导体装置)。
举例来说,衬底(229)可包含印刷电路板或集成电路裸片或其任一组合;且衬底(229)可进一步包含经配置以将深度学习加速器(103)的FPGA或ASIC连接到随机存取存储器(105)的导线。
替代地,随机存取存储器(105)及深度学习加速器(103)可形成在通过穿硅通路(TSV)堆叠及连接的单独集成电路裸片上。因此,深度学习加速器(103)的存储器接口(117)与随机存取存储器(105)之间的连接(117)不穿过衬底(229)。
在一个实施方案中,集成传感器装置(例如101或191)具有至少围封深度学习加速器(103)及随机存取存储器(105)的FPGA或ASIC的集成电路封装。
本公开包含执行上文描述的方法的方法及设备,其包含执行这些方法的数据处理系统,以及含有指令的计算机可读媒体,所述指令当在数据处理系统上执行时致使系统执行这些方法。
典型数据处理系统可包含互连件(例如,总线及系统核心逻辑),其将微处理器与存储器互连。微处理器通常耦合到高速缓冲存储器。
互连件将微处理器与存储器互连在一起,且还经由I/O控制器将其互连到输入/输出(I/O)装置。I/O装置可包含显示装置及/或外围装置,例如鼠标、键盘、调制解调器,网络接口、打印机,扫描仪、摄像机及所属领域中已知的其它装置。在一个实施例中,当数据处理系统是服务器系统时,一些I/O装置,例如打印机、扫描仪、鼠标及/或键盘,是任选的。
互连件可包含通过各种桥接器、控制器及/或适配器彼此连接的一或多个总线。在一个实施例中,I/O控制器包含用于控制USB外围装置的USB(通用串行总线)适配器,及/或用于控制IEEE-1394外围装置的IEEE-1394总线适配器。
存储器可包含以下中的一或多者:ROM(只读存储器)、易失性RAM(随机存取存储器)及非易失性存储器,例如硬盘驱动器、闪存等。
易失性RAM通常经实施为动态RAM(DRAM),其持续需要电力以便刷新或维持存储器中的数据。非易失性存储器通常是磁性硬盘驱动器、磁性光学驱动器、光学驱动器(例如,DVD RAM)或即使在从系统移除电力之后仍维持数据的其它类型的存储系统。非易失性存储器也可为随机存取存储器。
非易失性存储器可为直接耦合到数据处理系统中的其余组件的本地装置。可使用远离系统的非易失性存储器,例如通过例如调制解调器或以太网接口的网络接口耦合到数据处理系统的网络存储装置。
在本公开中,一些功能及操作经描述为由软件代码执行或由软件代码引起以简化描述。然而,此类表述还用于指定功能是由例如微处理器的处理器执行代码/指令所产生。
替代地或组合地,可使用具有或不具有软件指令的专用电路系统来实施此处描述的功能及操作,例如使用专用集成电路(ASIC)或现场可编程门阵列(FPGA)。可使用没有软件指令的硬接线电路或结合软件指令来实施实施例。因此,技术既不限于硬件电路与软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定源。
尽管一个实施例可在功能齐全的计算机及计算机系统中实施,但是各种实施例能够以各种形式作为计算产品分布,且能够被应用而与用以实际上实现分布的特定类型的机器或计算机可读媒体无关。
所公开的至少一些方面可至少部分地以软件体现。也就是说,可响应于其处理器(例如微处理器)执行包含在存储器(例如ROM、易失性RAM、非易失性存储器、高速缓存或远程存储装置)中的指令序列而在计算机系统或其它数据处理系统中实行技术。
经执行以实施实施例的例程可经实施为操作系统或称为“计算机程序”的特定应用程序、组件、程序、对象、模块或指令序列的部分。计算机程序通常包含在计算机中的各种存储器及存储装置中在不同时间设置的一或多个指令,且所述指令当由计算机中的一或多个处理器读取及执行时致使计算机执行执行涉及各种方面的元素所必需的操作。
机器可读媒体可用以存储在由数据处理系统执行时致使系统执行各种方法的软件及数据。可执行软件及数据可存储在各种位置中,其包含例如ROM、易失性RAM、非易失性存储器及/或高速缓存。此软件及/或数据的部分可存储在这些存储装置中的任一者中。此外,可从集中式服务器或对等网络获得数据及指令。数据及指令的不同部分可在不同时间及在不同通信会话中或在同一通信会话中从不同集中式服务器及/或对等网络获得。可在执行应用程序之前整体获取数据及指令。替代地,可在执行需要时及时地动态获得数据及指令的部分。因此,在特定时间例子处,数据及指令不需要全部位于机器可读媒体上。
计算机可读媒体的实例包含(但不限于)非暂时性、可记录及不可记录类型的媒体,例如易失性及非易失性存储器装置、只读存储器(ROM)、随机存取存储器(RAM)、闪存装置、软盘及其它可卸除磁盘、磁盘存储媒体、光学存储媒体(例如,光盘只读存储器(CDROM)、数字多功能磁盘(DVD)等)等。计算机可读媒体可存储指令。
指令还可体现在用于电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)的数字及模拟通信链路中。然而,传播的信号(例如,载波、红外信号、数字信号等)不是有形机器可读媒体且未经配置以存储指令。
一般来说,机器可读媒体包含以机器(例如,计算机、网络装置、个人数字助理、制造工具、具有一组一或多个处理器的任何装置等)可存取的形式提供(即,存储及/或传输)信息的任何机制。
在各种实施例中,可将硬连线电路系统与软件指令结合使用以实施技术。因此,技术既不限于硬件电路系统与软件的任何特定组合,也不限于针对由数据处理系统执行的指令的任何特定源。
上文描述及图式是说明性的,且不应解释为限制性的。描述众多特定细节以提供透彻理解。然而,在某些情况下,为避免使描述不清楚,未描述众所周知或常规细节。在本公开中对一个或一实施例的参考不一定是对同一实施例的参考;且,此类参考意指至少一个。
在前述说明书中,已经参考本公开的特定示范性实施例描述本公开。显而易见的是,在不脱离所附权利要求书所阐述的更广泛精神及范围的情况下,可对其进行各种修改。因此,说明书及图式应被认为是说明意义而不是限制意义的。
Claims (20)
1.一种装置,其包括:
至少一个处理单元,其经配置以执行具有矩阵操作数的指令;
随机存取存储器,其经配置以存储代表人工神经网络的权重的第一数据,且存储代表能够由所述至少一个处理单元执行以使用代表所述人工神经网络的所述权重的所述第一数据来实施所述人工神经网络的矩阵计算的所述指令的第二数据;
传感器,其经配置以产生代表一或多个刺激的测量的第三数据;
主机接口,其能够连接到主机系统;以及
控制器,其与所述主机接口、所述传感器及所述随机存取存储器耦合,其中所述控制器经配置以将代表由所述传感器产生的所述测量的所述第三数据写入所述随机存取存储器作为到所述人工神经网络的输入;且
其中在所述至少一个处理单元通过执行由存储在所述随机存取存储器中的所述第二数据表示的所述指令而在所述随机存取存储器中产生所述人工神经网络的输出之后,所述控制器经配置以经由所述主机接口将所述输出传达到主机系统。
2.根据权利要求1所述的装置,其中所述主机接口能够连接到存储器总线。
3.根据权利要求1所述的装置,其中所述主机接口能够连接到外围总线。
4.根据权利要求3所述的装置,其中所述主机接口实施所述外围总线的串行通信协议。
5.根据权利要求1所述的装置,其进一步包括:
实施深度学习加速器的现场可编程门阵列(FPGA)或专用集成电路(ASIC)的集成电路裸片,所述深度学习加速器包括所述至少一个处理单元,及经配置以从所述随机存取存储器加载所述指令用于执行的控制单元。
6.根据权利要求5所述的装置,其中所述控制单元包含控制器。
7.根据权利要求6所述的装置,其中所述主机接口的逻辑电路经配置在所述集成电路裸片上。
8.根据权利要求7所述的装置,其进一步包括:
集成电路封装,其经配置以围封所述装置;及
一组连接器,其能够连接到印刷电路板、缆线或插座。
9.根据权利要求7所述的装置,其进一步包括:
集成电路封装,其经配置以围封所述装置,所述集成电路封装具有供所述传感器用于接收所述刺激的开口。
10.根据权利要求5所述的装置,其进一步包括:
衬底,其具有经配置以将所述控制器连接到所述传感器、所述主机接口及所述随机存取存储器的导线。
11.根据权利要求10所述的装置,其中所述传感器形成在所述衬底中或安装在所述衬底上;
其中所述至少一个处理单元包含经配置以对指令的两个矩阵操作数进行操作的矩阵-矩阵单元;
其中所述矩阵-矩阵单元包含经配置以并行操作的多个矩阵-向量单元;
其中所述多个矩阵-向量单元中的每一者包含经配置以并行操作的多个向量-向量单元;且
其中所述多个向量-向量单元中的每一者包含经配置以并行操作的多个乘法-累加单元。
12.根据权利要求10所述的装置,其中所述衬底包含印刷电路板或集成电路裸片,或其任一组合;且所述衬底进一步包含经配置以将所述FPGA或ASIC连接到所述随机存取存储器的导线。
13.根据权利要求10所述的装置,其中所述随机存取存储器及所述深度学习加速器形成在单独集成电路裸片上,且通过穿硅通路(TSV)连接,而不穿过所述衬底;且所述装置进一步包括:
集成电路封装,其经配置以围封至少所述FPGA或ASIC及所述随机存取存储器。
14.一种方法,其包括:
经由装置的主机接口接收代表人工神经网络的权重的第一数据及代表能够由所述装置的至少一个处理单元执行以使用所述第一数据实施所述人工神经网络的矩阵计算的指令的第二数据;
在所述装置的随机存取存储器中存储代表所述权重的所述第一数据及代表指令的所述第二数据;
由集成在所述装置中的传感器产生代表一或多个刺激的测量的第三数据;
在所述随机存取存储器中存储代表所述测量的所述第三数据作为到所述人工神经网络的输入;
由所述至少一个处理单元执行由存储在所述装置的所述随机存取存储器中的所述第二数据表示的所述指令,以至少部分基于存储在所述装置的所述随机存取存储器中的所述第一数据及第三数据来从所述人工神经网络产生输出;
在所述随机存取存储器中存储来自所述人工神经网络的所述输出;以及
经由所述主机接口将所述输出传达到连接到所述主机接口的主机系统。
15.根据权利要求14所述的方法,其进一步包括:
经由所述主机接口接收请求用于存储预定类型的数据的所述随机存取存储器的第一存储器配置的第一命令;及
经由所述主机接口提供对所述命令的响应,所述响应包含识别用于存储所述预定类型的所述数据的所述随机存取存储器的一部分的位置及大小的所述第一存储器配置。
16.根据权利要求15所述的方法,其进一步包括:
在所述主机接口中接收识别用于存储所述预定类型的所述数据的所述随机存取存储器的第二存储器配置的第二命令;及
根据所述第二存储器配置来配置所述随机存取存储器以存储所述预定类型的所述数据。
17.根据权利要求16所述的方法,其进一步包括:
经由所述主机接口向所述主机系统传输消息,所述消息指示所述随机存取存储器中的所述输出的可用性;
其中所述输出到所述主机系统的所述传达是响应于对所述消息的应答。
18.根据权利要求17所述的方法,其进一步包括:
响应于识别所述部分的所述应答而经由所述主机接口传输所述输入的所选择部分。
19.一种设备,其包括:
传感器,其经配置以产生刺激的测量;
随机存取存储器,其经配置以存储人工神经网络的模型;
现场可编程门阵列(FPGA)或专用集成电路(ASIC),其具有:
存储器接口,其用以存取所述随机存取存储器;
控制单元;以及
至少一个处理单元,其经配置以执行具有矩阵操作数的指令以根据所述模型实施所述人工神经网络的计算;以及
主机接口,其能够连接到主机系统;
其中所述传感器将所述测量存储到所述随机存取存储器中作为到所述人工神经网络的输入;
其中所述FPGA或ASIC根据所述模型执行所述人工神经网络的所述计算以将所述输入转换为来自所述人工神经网络的输出;且
其中所述主机接口将所述输出传达到所述主机系统。
20.根据权利要求19所述的设备,其中所述随机存取存储器包含经配置以存储所述人工神经网络的所述模型的非易失性存储器;所述模型包含能够由所述FPGA或ASIC执行的指令;且所述至少一个处理单元包含经配置以对指令的两个矩阵操作数进行操作的矩阵-矩阵单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/906,213 | 2020-06-19 | ||
US16/906,213 US11574100B2 (en) | 2020-06-19 | 2020-06-19 | Integrated sensor device with deep learning accelerator and random access memory |
PCT/US2021/037552 WO2021257651A1 (en) | 2020-06-19 | 2021-06-16 | Integrated sensor device with deep learning accelerator and random access memory |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115943387A true CN115943387A (zh) | 2023-04-07 |
Family
ID=79023632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180039691.4A Pending CN115943387A (zh) | 2020-06-19 | 2021-06-16 | 具有深度学习加速器及随机存取存储器的集成传感器装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11574100B2 (zh) |
CN (1) | CN115943387A (zh) |
WO (1) | WO2021257651A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11574100B2 (en) * | 2020-06-19 | 2023-02-07 | Micron Technology, Inc. | Integrated sensor device with deep learning accelerator and random access memory |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510234B2 (en) | 2010-01-05 | 2013-08-13 | American Gnc Corporation | Embedded health monitoring system based upon Optimized Neuro Genetic Fast Estimator (ONGFE) |
US20170083827A1 (en) | 2015-09-23 | 2017-03-23 | Qualcomm Incorporated | Data-Driven Accelerator For Machine Learning And Raw Data Analysis |
US11055063B2 (en) | 2016-05-02 | 2021-07-06 | Marvell Asia Pte, Ltd. | Systems and methods for deep learning processor |
US20180284735A1 (en) * | 2016-05-09 | 2018-10-04 | StrongForce IoT Portfolio 2016, LLC | Methods and systems for industrial internet of things data collection in a network sensitive upstream oil and gas environment |
US10402527B2 (en) * | 2017-01-04 | 2019-09-03 | Stmicroelectronics S.R.L. | Reconfigurable interconnect |
ES2930550T3 (es) * | 2017-04-07 | 2022-12-16 | Intel Corp | Métodos y aparatos para canalización de ejecución de red de aprendizaje profundo en plataforma multiprocesador |
US10540318B2 (en) * | 2017-04-09 | 2020-01-21 | Intel Corporation | Graphics processing integrated circuit package |
TWI625681B (zh) * | 2017-05-11 | 2018-06-01 | 國立交通大學 | 神經網路處理系統 |
KR102089002B1 (ko) | 2017-10-27 | 2020-03-13 | 김현우 | 행동에 대한 피드백을 제공하는 웨어러블 디바이스 및 방법 |
US11644834B2 (en) * | 2017-11-10 | 2023-05-09 | Nvidia Corporation | Systems and methods for safe and reliable autonomous vehicles |
US11989861B2 (en) * | 2017-11-28 | 2024-05-21 | Intel Corporation | Deep learning-based real-time detection and correction of compromised sensors in autonomous machines |
US11373088B2 (en) * | 2017-12-30 | 2022-06-28 | Intel Corporation | Machine learning accelerator mechanism |
US20190050729A1 (en) * | 2018-03-26 | 2019-02-14 | Intel Corporation | Deep learning solutions for safe, legal, and/or efficient autonomous driving |
CN108663677A (zh) * | 2018-03-29 | 2018-10-16 | 上海智瞳通科技有限公司 | 一种多传感器深度融合提高目标检测能力的方法 |
US10769526B2 (en) | 2018-04-24 | 2020-09-08 | Intel Corporation | Machine learning accelerator architecture |
WO2020028116A1 (en) * | 2018-07-30 | 2020-02-06 | Optimum Semiconductor Technologies Inc. | Object detection using multiple neural networks trained for different image fields |
US11010516B2 (en) * | 2018-11-09 | 2021-05-18 | Nvidia Corp. | Deep learning based identification of difficult to test nodes |
EP3899799A4 (en) * | 2018-12-18 | 2022-08-10 | Nokia Technologies Oy | DATA DENOMY BASED ON MACHINE LEARNING |
US10803548B2 (en) * | 2019-03-15 | 2020-10-13 | Intel Corporation | Disaggregation of SOC architecture |
US11556615B2 (en) * | 2019-05-03 | 2023-01-17 | Tesla, Inc. | Data path for scalable matrix node engine with mixed data formats |
KR20210004229A (ko) * | 2019-07-03 | 2021-01-13 | 삼성전자주식회사 | 뉴럴 네트워크 프로세서를 구비하는 이미지 프로세싱 장치 및 이의 동작 방법 |
US20220358754A1 (en) * | 2019-09-06 | 2022-11-10 | Intel Corporation | Deep learning based distributed machine vision camera system |
US11435185B2 (en) * | 2020-02-21 | 2022-09-06 | Microsoft Technology Licensing, Llc | Systems and methods for deep learning-based pedestrian dead reckoning for exteroceptive sensor-enabled devices |
US11966673B2 (en) * | 2020-03-13 | 2024-04-23 | Nvidia Corporation | Sensor simulation and learning sensor models with generative machine learning methods |
US11461651B2 (en) * | 2020-04-09 | 2022-10-04 | Micron Technology, Inc. | System on a chip with deep learning accelerator and random access memory |
US20210320967A1 (en) * | 2020-04-09 | 2021-10-14 | Micron Technology, Inc. | Edge Server with Deep Learning Accelerator and Random Access Memory |
US11574100B2 (en) * | 2020-06-19 | 2023-02-07 | Micron Technology, Inc. | Integrated sensor device with deep learning accelerator and random access memory |
-
2020
- 2020-06-19 US US16/906,213 patent/US11574100B2/en active Active
-
2021
- 2021-06-16 CN CN202180039691.4A patent/CN115943387A/zh active Pending
- 2021-06-16 WO PCT/US2021/037552 patent/WO2021257651A1/en active Application Filing
-
2023
- 2023-01-09 US US18/152,001 patent/US20230161936A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021257651A1 (en) | 2021-12-23 |
US20210397771A1 (en) | 2021-12-23 |
US11574100B2 (en) | 2023-02-07 |
US20230161936A1 (en) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461651B2 (en) | System on a chip with deep learning accelerator and random access memory | |
US11942135B2 (en) | Deep learning accelerator and random access memory with a camera interface | |
US20210319821A1 (en) | Integrated Circuit Device with Deep Learning Accelerator and Random Access Memory | |
US11887647B2 (en) | Deep learning accelerator and random access memory with separate memory access connections | |
KR20220164570A (ko) | 딥 러닝 가속기 및 랜덤 액세스 메모리를 구비한 에지 서버 | |
CN115843367A (zh) | 具有深度学习加速器和随机存取存储器的可移除式存储装置中的视频压缩 | |
CN116635936A (zh) | 用于支持集成电路装置中的深度学习加速器的存储器配置 | |
US20230161936A1 (en) | Integrated Sensor Device with Deep Learning Accelerator and Random Access Memory | |
CN116134452A (zh) | 具有集成随机存取存储器的深度学习加速器中的优化传感器融合 | |
CN116210006A (zh) | 用于深度学习加速器和随机存取存储器的智能低功率模式 | |
US20220256077A1 (en) | Intelligent Digital Camera having Deep Learning Accelerator and Random Access Memory | |
US20220044101A1 (en) | Collaborative sensor data processing by deep learning accelerators with integrated random access memory | |
CN115943388A (zh) | 具有使用深度学习加速器和随机存取存储器实施的内置智能监测的可穿戴电子装置 | |
WO2022031663A1 (en) | Fault tolerant artificial neural network computation in deep learning accelerator having integrated random access memory | |
CN116097282A (zh) | 使用具有集成式随机存取存储器的深度学习加速器的分布式推断 | |
CN116569178A (zh) | 具有可经由编译器优化的可配置硬件选项的深度学习加速器 | |
CN116583853A (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 |