CN109117950A - 基于人工智能设备的分层稀疏张量压缩方法 - Google Patents
基于人工智能设备的分层稀疏张量压缩方法 Download PDFInfo
- Publication number
- CN109117950A CN109117950A CN201810862705.2A CN201810862705A CN109117950A CN 109117950 A CN109117950 A CN 109117950A CN 201810862705 A CN201810862705 A CN 201810862705A CN 109117950 A CN109117950 A CN 109117950A
- Authority
- CN
- China
- Prior art keywords
- data
- engine
- tensor
- zero
- dram
- 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
Links
Classifications
-
- 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
- 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/0608—Saving storage space on storage systems
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3066—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Processing (AREA)
Abstract
基于人工智能设备的分层稀疏张量压缩方法,在DRAM中,不仅保存神经元表面的存储空间,还为掩码块加上一个元曲面。读取数据时,首先会读取掩码,然后计算非零数据的大小,并且只读取这些非零数据以节省DRAM带宽。而在高速缓存中,只会存储非零数据,因此所需的存储空间被减少。当处理数据时,只使用非零数据。该方法使用位元掩码来确定数据是否为零,层级压缩方案中有三层:瓦片、线和点,从DRAM读取位掩码和非零数据,通过不读取零数据来节省带宽。处理数据时,若它们的位元掩码为零,能轻松地移除瓦片数据。本发明有助于减少内存带宽和内部缓存中的存储空间,与竞争对手相比,可以获得更高的性能和功效。
Description
技术领域
本发明属于人工智能领域,具体涉及一种基于图形的数据的分层稀疏张量压缩方法。
背景技术
人工智能(AI)处理是近来的热门话题,它既是计算和内存密集型,也要求高性能-功耗效率。 使用CPU和GPU等当前设备加速并不容易,许多如GPU+ TensorCore、TPU、CPU+FPGA和AI ASIC等解决方案都试图解决这些问题。GPU+ TensorCore主要着眼于解决计算密集问题,TPU着眼于计算和数据重用,CPU+ FPGA/AI ASIC注重提高性能-功耗效率。
在人工智能处理中,由于神经元激活和权重剪枝,许多数据是零。为了使用这些稀疏性,需要发明一种压缩方法,能通过跳过零神经元或卷积权重来节省计算量和功耗,减少所需的缓存存储空间,并通过不传输零数据来增加DRAM带宽。
当前虽然有许多类似的解决方案,但是他们只使用单层压缩方案,而这个不具有明显的优势。通过具有两层或更多层的位元掩码,如果高级掩码为0,我们可以轻松地移除高级别的数据,这意味着该分支中的全部为零,但是传统的单层掩码压缩不能够获得此结果。
发明内容
本发明针对现有技术中的不足,提供一种基于图形的数据的分层稀疏张量压缩方法。该方法使用基于瓦片的分层压缩方案,可以很容易地知道哪个瓦片具有所有的零,以将其从管道中移除,这可以消除许多不必要的数据移动并节省时间和功耗。
为实现上述目的,本发明采用以下技术方案:
一种基于人工智能设备的分层稀疏张量压缩方法,其特征在于:
硬件架构包括:主机、前叶引擎、顶叶引擎、渲染器引擎、枕形引擎、颞叶引擎和内存;前叶引擎从主机得到5D张量,将其分为若干组张量,并将这些组张量发送至顶叶引擎;顶叶引擎获取组张量并将其分成若干张量波,顶叶引擎将这些张量波发送到渲染器引擎,以执行输入特征渲染器,并将部分张量输出到枕形引擎;枕形引擎积累部分张量,并执行输出特征渲染器,以获得发送到颞叶引擎的最终张量;颞叶引擎进行数据压缩,并将最终张量写入内存中;
硬件架构中设有分层缓存设计:颞叶引擎中设有L3缓存,颞叶引擎连接到DRAM内存控制器以从DRAM内存中获取数据;顶叶引擎中设有一个L2缓存和一个在神经元块中的L1缓存;
在DRAM内存中,不仅保存神经元表面的存储空间,并为掩码块加上一个元曲面;读取数据时,首先读取掩码,然后计算非零数据的大小,并且只读取非零数据;在高速缓存中,只存储非零数据;处理数据时,只使用非零数据。
为优化上述技术方案,采取的具体措施还包括:
该压缩方法中,数据逐块存储在DRAM中,每个块具有相同的内存大小,块中的非零行被打包并移动到块的开始部分,块中的所有其他数据都是无用的。
当数据传输到L3缓存时,只有非零的数据会被读取并存储在L3缓存中;位掩码的元曲面也存储在DRAM中,并在数据之前读取,在颞叶引擎中计算效果数据长度以进行数据读取;当L3缓存向L2缓存发送数据时,解压超级瓦片并将压缩后的瓦片数据发送到L2缓存。
在L2缓存中,数据以瓦片压缩格式进行存储,数据被解压、重组、重新压缩并发送到L1缓存,这些经过压缩的数据被读取并发送到计算机核心,带有位置的未压缩数据存储在寄存器文件中进行处理。
当枕形引擎得到输出结果时,数据被压缩,位掩码和非零数据被发送到颞叶引擎,颞叶引擎进一步压缩数据并将数据发送至DRAM。
本发明的有益效果是:在人工智能设备中使用这种数据压缩方案,可以节省DRAM带宽并移除流水线中的数据以及计算单元中的零数据,只将压缩数据存储在缓存中,减少了AI数据的缓存存储,与竞争对手相比,可以获得更高的性能和功效。
附图说明
图1是人工智能特征图。
图2是矩阵乘法图。
图3是人工大脑引擎的流程图。
图4是引擎级架构图。
图5是可扩展架构的细节图。
图6是特征图中的瓦片层次视图。
图7是瓦片和超级瓦片的示例图。
图8是压缩瓦片和超级瓦片的示例图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
如图1所示,人工智能特征图通常可以描述为四维张量[N,C,Y,X]。这四个维度为,特征图维度:X、Y;通道维度:C;批次维度:N。内核可以是四维张量[K,C,S,R]。AI工作是给出输入特征图张量和内核张量,我们根据图1中的公式计算输出张量[N,K,Y,X]。
人工智能中的另一个重要操作是矩阵乘法,这个操作也可以映射到特征图处理中。在图2中,矩阵A可以映射到张量[1,K,1,M],矩阵B映射到张量[N,K,1,1],结果C是张量[1,N,1,M]。
此外,还有其他的操作,比如规范化、激活,这些可以在通用硬件运算器中支持。
我们提出一个硬件架构来有效地支持这些操作,人工智能工作可以被视为5维张量[N,K,C,Y,X],在每一维度中,我们把这些工作分成许多组,每一组可以进一步被分成若干波。在我们的体系结构中,第一个引擎-前叶引擎(Frontal Engine,简称FE)从主机得到5D张量[N,K,C,Y,X],并将其分为许多组张量[Ng,Kg,Cg,Yg,Xg],并将这些组发送给顶叶引擎(Parietal Engine,简称PE)。PE获取组张量并将其分成若干波,将这些波发送到渲染器引擎,以执行输入特征渲染器(IF-Shader),并将部分张量[Nw,Kw,Yw,Xw]输出到枕形引擎(Occipital Engine,简称OE)。OE积累部分张量,并执行输出特征渲染器(OF-Shader),以获得发送到下一个引擎-颞叶引擎(Temporal Engine,简称TE)的最终张量。TE进行一些数据压缩,并将最终的张量写到内存中。图3为该设计的流程图。
在硬件架构中,有分层缓存设计,图4和图5显示了这些层次结构。在TE中有L3缓存,TE连接到DRAM内存控制器以从DRAM内存中获取数据。在PE中有一个L2缓存,和一个在神经元块中的L1缓存。
在压缩方案中,数据逐块存储在DRAM中,每个块具有相同的内存大小。例如,大小为16x16x2=512字节,块中的非零行被打包并移动到块的开始部分,块中的所有其他数据都是无用的,并不需要关心它们。当数据传输到L3缓存时,只有非零的数据会被读取并存储在L3缓存中,这意味着L3缓存实际上被放大了。位掩码的元曲面也存储在DRAM中,并在数据之前读取,在TE中计算有效数据长度以进行数据读取。当L3缓存向L2缓存发送数据时,它会解压超级瓦片并将压缩后的瓦片数据发送到L2缓存。
在L2缓存中,数据以瓦片压缩格式进行存储,数据将被解压、重组、重新压缩并发送到L1缓存。这些经压缩的数据会被读取且被发送到计算机核心,而带有位置的未压缩数据存储在寄存器文件进行处理。
当OE得到输出结果时,它将被压缩,位掩码和非零数据将被发送到TE,TE进一步压缩数据并将数据发送至DRAM。
该方法使用基于瓦片的分层压缩方案,瓦片层次视图、瓦片和超级瓦片的示例图、压缩瓦片和超级瓦片的示例图分别见图6、图7、图8。因此可以很容易地知道哪个瓦片具有所有的零,以将其从管道中移除,这可以消除许多不必要的数据移动并节省时间和功耗。
在DRAM中,不保存神经元表面的存储空间,为掩码块加上一个元曲面。但是读取数据时,首先会读取掩码,然后计算非零数据的大小,并且只读取这些非零数据以节省DRAM带宽。 而在高速缓存中,只会存储非零数据,因此所需的存储空间被减少(没有零数据被存储在高速缓存中)。当处理数据时,只使用非零数据。
该方法使用位元掩码来确定数据是否为零,层级压缩方案中有三层:瓦片、线和点。从DRAM读取位掩码和非零数据,因此通过不读取零数据来节省带宽。处理数据时,若它们的位元掩码为零,能轻松地移除瓦片数据。
我们将此发明用在我们的AI设备中,使用这种压缩方案,可以节省DRAM带宽并移除流水线中的数据并移除计算单元中的零数据。因此,与竞争对手相比,我们可以获得更高的性能和功效。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (5)
1.一种基于人工智能设备的分层稀疏张量压缩方法,其特征在于:
硬件架构包括:主机、前叶引擎、顶叶引擎、渲染器引擎、枕形引擎、颞叶引擎和内存;前叶引擎从主机得到5D张量,将其分为若干组张量,并将这些组张量发送至顶叶引擎;顶叶引擎获取组张量并将其分成若干张量波,顶叶引擎将这些张量波发送到渲染器引擎,以执行输入特征渲染器,并将部分张量输出到枕形引擎;枕形引擎积累部分张量,并执行输出特征渲染器,以获得发送到颞叶引擎的最终张量;颞叶引擎进行数据压缩,并将最终张量写入内存中;
硬件架构中设有分层缓存设计:颞叶引擎中设有L3缓存,颞叶引擎连接到DRAM内存控制器以从DRAM内存中获取数据;顶叶引擎中设有一个L2缓存和一个在神经元块中的L1缓存;
在DRAM内存中,不仅保存神经元表面的存储空间,并为掩码块加上一个元曲面;读取数据时,首先读取掩码,然后计算非零数据的大小,并且只读取非零数据;在高速缓存中,只存储非零数据;处理数据时,只使用非零数据。
2.如权利要求1所述的一种基于人工智能设备的分层稀疏张量压缩方法,其特征在于:该压缩方法中,数据逐块存储在DRAM中,每个块具有相同的内存大小,块中的非零行被打包并移动到块的开始部分,块中的所有其他数据都是无用的。
3.如权利要求2所述的一种基于人工智能设备的分层稀疏张量压缩方法,其特征在于:当数据传输到L3缓存时,只有非零的数据会被读取并存储在L3缓存中;位掩码的元曲面也存储在DRAM中,并在数据之前读取,在颞叶引擎中计算有效数据长度以进行数据读取;当L3缓存向L2缓存发送数据时,解压超级瓦片并将重新压缩后的瓦片数据发送到L2缓存。
4.如权利要求3所述的一种基于人工智能设备的分层稀疏张量压缩方法,其特征在于:在L2缓存中,数据以瓦片压缩格式进行存储,数据被解压、重组、重新压缩并发送到L1缓存,这些经过压缩的数据被读取并发送到计算机核心,带有位置的未压缩数据存储在寄存器文件中进行处理。
5.如权利要求4所述的一种基于人工智能设备的分层稀疏张量压缩方法,其特征在于:当枕形引擎得到输出结果时,数据被压缩,位掩码和非零数据被发送到颞叶引擎,颞叶引擎进一步压缩数据并将数据发送至DRAM。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810862705.2A CN109117950B (zh) | 2018-08-01 | 2018-08-01 | 基于人工智能设备的分层稀疏张量压缩方法 |
US16/237,616 US10671288B2 (en) | 2018-08-01 | 2018-12-31 | Hierarchical sparse tensor compression method in artificial intelligent devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810862705.2A CN109117950B (zh) | 2018-08-01 | 2018-08-01 | 基于人工智能设备的分层稀疏张量压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109117950A true CN109117950A (zh) | 2019-01-01 |
CN109117950B CN109117950B (zh) | 2021-03-09 |
Family
ID=64863879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810862705.2A Active CN109117950B (zh) | 2018-08-01 | 2018-08-01 | 基于人工智能设备的分层稀疏张量压缩方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10671288B2 (zh) |
CN (1) | CN109117950B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857744A (zh) * | 2019-02-13 | 2019-06-07 | 上海燧原智能科技有限公司 | 稀疏张量计算方法、装置、设备及存储介质 |
CN109886399A (zh) * | 2019-02-13 | 2019-06-14 | 上海燧原智能科技有限公司 | 一种张量处理装置及方法 |
CN110222835A (zh) * | 2019-05-13 | 2019-09-10 | 西安交通大学 | 一种基于零值检测的卷积神经网络硬件系统及运算方法 |
CN110456983A (zh) * | 2019-04-17 | 2019-11-15 | 上海酷芯微电子有限公司 | 面向深度学习芯片稀疏计算的数据存储结构和方法 |
CN111915002A (zh) * | 2019-05-09 | 2020-11-10 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
WO2020026159A3 (zh) * | 2018-08-01 | 2021-10-07 | 南京天数智芯科技有限公司 | 用于人工智能设备的灵活数据流处理器和处理方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10771088B1 (en) * | 2019-02-28 | 2020-09-08 | International Business Machines Corporation | Optimal multi-dimensional data compression by tensor-tensor decompositions tensor |
US11941248B2 (en) * | 2021-12-13 | 2024-03-26 | Xilinx, Inc. | Compression of sparse tensors |
CN115034198B (zh) * | 2022-05-16 | 2023-05-12 | 北京百度网讯科技有限公司 | 语言模型中嵌入模块计算优化的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106447034A (zh) * | 2016-10-27 | 2017-02-22 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN107145939A (zh) * | 2017-06-21 | 2017-09-08 | 北京图森未来科技有限公司 | 一种神经网络优化方法及装置 |
US20170293659A1 (en) * | 2016-04-12 | 2017-10-12 | Hsilin Huang | Method, System and Program Product for Mask-Based Compression of a Sparse Matrix |
CN107944555A (zh) * | 2017-12-07 | 2018-04-20 | 广州华多网络科技有限公司 | 神经网络压缩和加速的方法、存储设备和终端 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10186011B2 (en) * | 2017-04-28 | 2019-01-22 | Intel Corporation | Programmable coarse grained and sparse matrix compute hardware with advanced scheduling |
US10778412B2 (en) * | 2017-12-28 | 2020-09-15 | Intel Corporation | Multi-domain convolutional neural network |
US10719744B2 (en) * | 2017-12-28 | 2020-07-21 | Intel Corporation | Automated semantic inference of visual features and scenes |
-
2018
- 2018-08-01 CN CN201810862705.2A patent/CN109117950B/zh active Active
- 2018-12-31 US US16/237,616 patent/US10671288B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170293659A1 (en) * | 2016-04-12 | 2017-10-12 | Hsilin Huang | Method, System and Program Product for Mask-Based Compression of a Sparse Matrix |
CN106447034A (zh) * | 2016-10-27 | 2017-02-22 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN107145939A (zh) * | 2017-06-21 | 2017-09-08 | 北京图森未来科技有限公司 | 一种神经网络优化方法及装置 |
CN107944555A (zh) * | 2017-12-07 | 2018-04-20 | 广州华多网络科技有限公司 | 神经网络压缩和加速的方法、存储设备和终端 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020026159A3 (zh) * | 2018-08-01 | 2021-10-07 | 南京天数智芯科技有限公司 | 用于人工智能设备的灵活数据流处理器和处理方法 |
CN109857744A (zh) * | 2019-02-13 | 2019-06-07 | 上海燧原智能科技有限公司 | 稀疏张量计算方法、装置、设备及存储介质 |
CN109886399A (zh) * | 2019-02-13 | 2019-06-14 | 上海燧原智能科技有限公司 | 一种张量处理装置及方法 |
CN109857744B (zh) * | 2019-02-13 | 2020-03-20 | 上海燧原智能科技有限公司 | 稀疏张量计算方法、装置、设备及存储介质 |
CN110456983A (zh) * | 2019-04-17 | 2019-11-15 | 上海酷芯微电子有限公司 | 面向深度学习芯片稀疏计算的数据存储结构和方法 |
CN111915002A (zh) * | 2019-05-09 | 2020-11-10 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
CN111915002B (zh) * | 2019-05-09 | 2023-12-19 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
CN110222835A (zh) * | 2019-05-13 | 2019-09-10 | 西安交通大学 | 一种基于零值检测的卷积神经网络硬件系统及运算方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200042189A1 (en) | 2020-02-06 |
CN109117950B (zh) | 2021-03-09 |
US10671288B2 (en) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117950A (zh) | 基于人工智能设备的分层稀疏张量压缩方法 | |
CN112465110B (zh) | 一种卷积神经网络计算优化的硬件加速装置 | |
CN108805272A (zh) | 一种基于fpga的通用卷积神经网络加速器 | |
CN105653484B (zh) | 一种数据分块压缩多通道传输方法 | |
JP2021111315A (ja) | ニューラルネットワークデータ処理装置、方法および電子機器 | |
CN105389277A (zh) | Gpdsp中面向科学计算的高性能dma部件 | |
CN109840585B (zh) | 一种面向稀疏二维卷积的运算方法和系统 | |
CN101937425B (zh) | 基于gpu众核平台的矩阵并行转置方法 | |
Shan et al. | A preliminary evaluation of the hardware acceleration of the Cray Gemini interconnect for PGAS languages and comparison with MPI | |
CN109191364A (zh) | 加速人工智能处理器的硬件架构 | |
CN109472734B (zh) | 一种基于fpga的目标检测网络及其实现方法 | |
CN104135496B (zh) | 一种同构环境下的rpc数据传输方法及系统 | |
CN103559017A (zh) | 基于gpu异构计算平台的字符串匹配方法及系统 | |
CN105183562B (zh) | 一种基于cuda技术对栅格化数据进行抽阶的方法 | |
CN104572505A (zh) | 一种保证海量数据缓存最终一致性的系统及方法 | |
CN112559197B (zh) | 基于异构众核处理器的卷积计算数据重用方法 | |
US20100257329A1 (en) | Apparatus and method for loading and storing multi-dimensional arrays of data in a parallel processing unit | |
CN103888452B (zh) | 用于报文压缩的保序方法和装置 | |
CN103209328A (zh) | 多源卫星图像实时在线处理技术方法及装置 | |
CN116430382A (zh) | 一种基于嵌入式gpu和fpga异构的实时成像处理系统及方法 | |
CN111429974A (zh) | 超级计算机平台上的分子动力学模拟短程力并行优化方法 | |
Zhou et al. | Accelerating broadcast communication with gpu compression for deep learning workloads | |
CN104598396B (zh) | 一种保证海量数据缓存实时性和一致性的系统及方法 | |
CN105023021A (zh) | 一种基于主方向模板的特征匹配方法 | |
CN104461941B (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 |
Address after: 1628 suzhao Road, Minhang District, Shanghai Applicant after: Shanghai Tiantian smart core semiconductor Co., Ltd Address before: 210012 4 floor, 5 software Avenue, Yuhuatai District, Nanjing, Jiangsu, 180 Applicant before: ILUVATAR COREX Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |