CN109117950A - 基于人工智能设备的分层稀疏张量压缩方法 - Google Patents

基于人工智能设备的分层稀疏张量压缩方法 Download PDF

Info

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
Application number
CN201810862705.2A
Other languages
English (en)
Other versions
CN109117950B (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.)
Nanjing Tian Zhi Zhi Technology Co Ltd
Original Assignee
Nanjing Tian Zhi Zhi 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
Application filed by Nanjing Tian Zhi Zhi Technology Co Ltd filed Critical Nanjing Tian Zhi Zhi Technology Co Ltd
Priority to CN201810862705.2A priority Critical patent/CN109117950B/zh
Priority to US16/237,616 priority patent/US10671288B2/en
Publication of CN109117950A publication Critical patent/CN109117950A/zh
Application granted granted Critical
Publication of CN109117950B publication Critical patent/CN109117950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge 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。
CN201810862705.2A 2018-08-01 2018-08-01 基于人工智能设备的分层稀疏张量压缩方法 Active CN109117950B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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