JP7279064B2 - テンソルデータ用のメモリ構成 - Google Patents
テンソルデータ用のメモリ構成 Download PDFInfo
- Publication number
- JP7279064B2 JP7279064B2 JP2020549701A JP2020549701A JP7279064B2 JP 7279064 B2 JP7279064 B2 JP 7279064B2 JP 2020549701 A JP2020549701 A JP 2020549701A JP 2020549701 A JP2020549701 A JP 2020549701A JP 7279064 B2 JP7279064 B2 JP 7279064B2
- Authority
- JP
- Japan
- Prior art keywords
- tensor
- module
- data
- buffer
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000008520 organization Effects 0.000 title description 2
- 239000000872 buffer Substances 0.000 claims description 249
- 238000012545 processing Methods 0.000 claims description 98
- 238000000034 method Methods 0.000 claims description 39
- 238000013528 artificial neural network Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000011176 pooling Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 238000010030 laminating Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F13/1684—Details of memory controller using multiple buses
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24143—Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
-
- 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
-
- 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/0656—Data buffering arrangements
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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/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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1075—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1048—Scalability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Neurology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Input (AREA)
- Memory System (AREA)
Description
ニューラルネットワークにおけるデータはテンソルと見なされ、多次元アレイとして格納される。たとえば、ベクトルはランク1のテンソルであり、行列はランク2のテンソルである。3つのカラーチャネル(R、GおよびB)を有する2D画像はランク3のテンソルである。経時的に収集した3D医療画像はランク4のテンソルとして編成され得る。
開示される回路構成は、複数のRAM回路と、メモリコントローラと、処理回路のアレイとを含む。各RAM回路は、少なくとも1つの読出しポートおよび少なくとも1つの書込みポートを含む。メモリコントローラは、複数のRAM回路内のテンソルバッファの複数のバンク内に配置されたテンソルデータにアクセスするように構成される。メモリコントローラは、共有の読出しアドレスバスと共有の読出しイネーブル信号線とによって複数のRAM回路の各々の少なくとも1つの読出しポートに結合され、共有の書込みアドレスバスと複数の書込みイネーブル信号線のそれぞれのサブセットとによって複数のRAM回路の各々の少なくとも1つの書込みポートに結合される。メモリコントローラはさらに、複数のRAM回路内のテンソルバッファのうちの異なるテンソルバッファに異なる時間にアクセスするための読出しアドレス、読出しイネーブル信号、書込みアドレス、および書込みイネーブル信号を生成するように構成される。処理回路のアレイは、処理回路の複数の行および複数の列を含む。処理要素の行の複数のサブセットのうちの各サブセットは、読出しデータバスによってRAM回路のうちのそれぞれ1つの少なくとも1つの読出しポートに結合される。処理要素の最終行は、書込みデータバスによって複数のRAM回路の各々の少なくとも1つの書込みポートに結合される。処理回路のアレイは、テンソルデータに対してテンソル演算を実行するように構成され、処理回路の各アレイ内の各行の処理回路は、同一のテンソルデータを入力するように結合される。
以下の説明では、本明細書で提示する具体例を説明するために数多くの具体的な詳細事項を記載する。しかしながら、その他の1つ以上の例および/またはこれらの例の変形が以下の具体的な詳細事項すべてがなくても実施され得ることは、当業者にとって明らかなはずである。他の場合において、周知の特徴は、本明細書における例の説明が不明瞭になることを避けるべく、詳細に記載していない。説明し易くするために、同一の参照番号を異なる図面で使用して同一要素または同一要素のその他の例を示す場合がある。
Claims (13)
- 回路構成であって、
複数のRAM回路を備え、各RAM回路は少なくとも1つの読出しポートおよび少なくとも1つの書込みポートを含み、前記回路構成はさらに、
メモリコントローラを備え、前記メモリコントローラは、前記複数のRAM回路内のテンソルバッファの複数のバンク内に配置されたテンソルデータにアクセスするように構成され、共有の読出しアドレスバスと共有の読出しイネーブル信号線とによって前記複数のRAM回路の各々の前記少なくとも1つの読出しポートに結合され、共有の書込みアドレスバスと複数の書込みイネーブル信号線のそれぞれのサブセットとによって前記複数のRAM回路の各々の前記少なくとも1つの書込みポートに結合され、前記メモリコントローラはさらに、前記複数のRAM回路内の前記テンソルバッファのうちの異なるテンソルバッファに異なる時間にアクセスするための読出しアドレス、読出しイネーブル信号、書込みアドレス、および書込みイネーブル信号を生成するように構成され、前記回路構成はさらに、
処理回路の複数の行および複数の列を含む処理回路のアレイを備え、前記処理回路の行の複数のサブセットのうちの各サブセットは、読出しデータバスによって前記RAM回路のうちのそれぞれ1つの前記少なくとも1つの読出しポートに結合され、処理回路の最終行は、書込みデータバスによって前記複数のRAM回路の各々の前記少なくとも1つの書込みポートに結合され、
前記処理回路のアレイは、前記テンソルデータに対してテンソル演算を実行するように構成され、
前記処理回路のアレイ内の各行の前記処理回路は、同一のテンソルデータを入力するように結合される、回路構成。 - 前記テンソルバッファはモジュール間テンソルバッファおよびモジュール内テンソルバッファを含み、各バンクは少なくとも1つのモジュール間テンソルバッファおよび少なくとも1つのモジュール内テンソルバッファを含む、請求項1に記載の回路構成。
- 前記少なくとも1つの読出しポートは第1の読出しポートおよび第2の読出しポートを含み、前記少なくとも1つの書込みポートは第1の書込みポートおよび第2の書込みポートを含み、
前記メモリコントローラはさらに、
前記第1の読出しポートを介して前記テンソルバッファの第1のサブセットをアドレス指定するアドレスおよび読出しイネーブル信号を生成し、
前記第2の読出しポートを介して前記テンソルバッファの第2のサブセットをアドレス指定するアドレスおよび読出しイネーブル信号を生成し、
前記第1の書込みポートを介して前記テンソルバッファの第3のサブセットをアドレス指定するアドレスおよび書込みイネーブル信号を生成し、
前記第2の書込みポートを介して前記テンソルバッファの第4のサブセットをアドレス指定するアドレスおよび書込みイネーブル信号を生成するように構成される、請求項1に記載の回路構成。 - 前記テンソルバッファはモジュール間テンソルバッファおよびモジュール内テンソルバッファを含み、各バンクは少なくとも1つのモジュール間テンソルバッファおよび少なくとも1つのモジュール内テンソルバッファを含み、前記メモリコントローラはさらに、
処理回路の別のアレイからのデータについて、前記テンソルバッファのうちのモジュール間テンソルバッファX0へのデータの書込みを可能にすることとモジュール間テンソルバッファX1へのデータの書込みを可能にすることとを交互に行ない、
前記処理回路のアレイによる前記テンソルバッファX0からのデータの読出しを可能にすることと前記テンソルバッファX1からのデータの読出しを可能にすることとを交互に行なうように構成される、請求項1に記載の回路構成。 - 前記テンソルバッファはモジュール間テンソルバッファおよびモジュール内テンソルバッファを含み、各バンクは少なくとも1つのモジュール間テンソルバッファおよび少なくとも1つのモジュール内テンソルバッファを含み、前記メモリコントローラはさらに、
前記テンソルバッファのうちのモジュール内テンソルバッファB0へのデータの書込みを可能にすることとモジュール内テンソルバッファB1へのデータの書込みを可能にすることとを交互に行ない、
前記処理回路のアレイによる前記テンソルバッファB0からのデータの読出しを可能にすることと前記テンソルバッファB1からのデータの読出しを可能にすることとを交互に行なうように構成される、請求項1に記載の回路構成。 - 前記メモリコントローラはさらに、
前記テンソルバッファのうちのモジュール内テンソルバッファB2へのデータの書込みを可能にすることとモジュール内テンソルバッファB3へのデータの書込みを可能にすることとを交互に行ない、
前記処理回路のアレイによる前記テンソルバッファB2からのデータの読出しを可能にすることと前記テンソルバッファB3からのデータの読出しを可能にすることとを交互に行なうように構成される、請求項5に記載の回路構成。 - 前記少なくとも1つの読出しポートは第1の読出しポートおよび第2の読出しポートを含み、前記少なくとも1つの書込みポートは第1の書込みポート、第2の書込みポート、および第3の書込みポートを含み、
前記メモリコントローラはさらに、
前記第1の読出しポートを介して前記テンソルバッファの第1のサブセットをアドレス指定するアドレスおよび読出しイネーブル信号を生成し、
前記第2の読出しポートを介して前記テンソルバッファの第2のサブセットをアドレス指定するアドレスおよび読出しイネーブル信号を生成し、
前記第1の書込みポートを介して前記テンソルバッファの第3のサブセットをアドレス指定するアドレスおよび書込みイネーブル信号を生成し、
前記第2の書込みポートを介して前記テンソルバッファの第4のサブセットをアドレス指定するアドレスおよび書込みイネーブル信号を生成し、
前記第3の書込みポートを介して前記テンソルバッファの第5のサブセットをアドレス指定するアドレスおよび書込みイネーブル信号を生成するように構成される、請求項1に記載の回路構成。 - システムであって、
パイプライン内に結合される複数のN個のモジュールを備え、前記パイプライン内の前記複数のN個のモジュールのうちの第2のモジュールから第Nのモジュールは、前記パイプライン内の前記複数のN個のモジュールのうちの前のモジュールから出力されたテンソルデータを入力し、各モジュールは請求項1~8のいずれか1項に記載の回路構成を含む、システム。 - 方法であって、
メモリコントローラが、複数のテンソルバッファのうちの異なるテンソルバッファ内のテンソルデータに異なる時間にアクセスするための読出しアドレス、読出しイネーブル信号、書込みアドレス、および複数の書込みイネーブル信号を生成することを備え、前記テンソルデータは、複数のRAM回路内のテンソルバッファの複数のバンク内に配置され、各RAM回路は少なくとも1つの読出しポートおよび少なくとも1つの書込みポートを含み、前記方法はさらに、
前記メモリコントローラからすべての前記複数のRAM回路の前記少なくとも1つの読出しポートに、各読出しアドレスおよび読出しイネーブル信号を並列に送信することと、
前記メモリコントローラからすべての前記複数のRAM回路の前記少なくとも1つの書込みポートに、各書込みアドレスを並列に送信することと、
前記複数のRAM回路のうちの1つの前記少なくとも1つの書込みポートに、前記複数の書込みイネーブル信号のサブセットをそれぞれ送信することと、
前記複数のRAM回路から処理回路の複数の行および複数の列を含む処理回路のアレイに、テンソルデータを入力することとを備え、前記処理回路の行の複数のサブセットのうちの各サブセットは、読出しデータバスによって前記RAM回路のうちのそれぞれ1つの前記少なくとも1つの読出しポートに結合され、処理回路の最終行は、書込みデータバスによって前記複数のRAM回路の各々の前記少なくとも1つの書込みポートに結合され、各行の前記処理回路は同一のテンソルデータを入力するように結合され、前記方法はさらに、
前記処理回路のアレイによって前記テンソルデータに対してテンソル演算を実行することを備える、方法。 - 前記テンソルバッファはモジュール間テンソルバッファおよびモジュール内テンソルバッファを含み、各バンクは少なくとも1つのモジュール間テンソルバッファおよび少なくとも1つのモジュール内テンソルバッファを含み、前記少なくとも1つの読出しポートは第1の読出しポートおよび第2の読出しポートを含み、前記少なくとも1つの書込みポートは第1の書込みポートおよび第2の書込みポートを含み、前記方法はさらに、
前記メモリコントローラが、前記第1の読出しポートを介して前記テンソルバッファの第1のサブセットをアドレス指定するアドレスおよび読出しイネーブル信号を生成することと、
前記メモリコントローラが、前記第2の読出しポートを介して前記テンソルバッファの第2のサブセットをアドレス指定するアドレスおよび読出しイネーブル信号を生成することと、
前記メモリコントローラが、前記第1の書込みポートを介して前記テンソルバッファの第3のサブセットをアドレス指定するアドレスおよび書込みイネーブル信号を生成することと、
前記メモリコントローラが、前記第2の書込みポートを介して前記テンソルバッファの第4のサブセットをアドレス指定するアドレスおよび書込みイネーブル信号を生成することとを備える、請求項10に記載の方法。 - 前記テンソルバッファはモジュール間テンソルバッファおよびモジュール内テンソルバッファを含み、各バンクは少なくとも1つのモジュール間テンソルバッファおよび少なくとも1つのモジュール内テンソルバッファを含み、前記方法はさらに、
処理回路の別のアレイからのデータについて、前記テンソルバッファのうちのモジュール間テンソルバッファX0へのデータの書込みを可能にすることとモジュール間テンソルバッファX1へのデータの書込みを可能にすることとを交互に行なうことと、
前記処理回路のアレイによる前記テンソルバッファX0からのデータの読出しを可能にすることと前記テンソルバッファX1からのデータの読出しを可能にすることとを交互に行なうこととを備える、請求項10に記載の方法。 - 前記テンソルバッファはモジュール間テンソルバッファおよびモジュール内テンソルバッファを含み、各バンクは少なくとも1つのモジュール間テンソルバッファおよび少なくとも1つのモジュール内テンソルバッファを含み、前記方法はさらに、
前記テンソルバッファのうちのモジュール内テンソルバッファB0へのデータの書込みを可能にすることとモジュール内テンソルバッファB1へのデータの書込みを可能にすることとを交互に行なうことと、
前記処理回路のアレイによる前記テンソルバッファB0からのデータの読出しを可能にすることと前記テンソルバッファB1からのデータの読出しを可能にすることとを交互に行なうこととを備える、請求項10に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/923,950 US10346093B1 (en) | 2018-03-16 | 2018-03-16 | Memory arrangement for tensor data |
US15/923,950 | 2018-03-16 | ||
PCT/US2019/013773 WO2019177686A1 (en) | 2018-03-16 | 2019-01-16 | Memory arrangement for tensor data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021518601A JP2021518601A (ja) | 2021-08-02 |
JP7279064B2 true JP7279064B2 (ja) | 2023-05-22 |
Family
ID=65324604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020549701A Active JP7279064B2 (ja) | 2018-03-16 | 2019-01-16 | テンソルデータ用のメモリ構成 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10346093B1 (ja) |
EP (1) | EP3766067A1 (ja) |
JP (1) | JP7279064B2 (ja) |
KR (1) | KR102680573B1 (ja) |
CN (1) | CN112119459B (ja) |
WO (1) | WO2019177686A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11579921B2 (en) * | 2018-08-29 | 2023-02-14 | Alibaba Group Holding Limited | Method and system for performing parallel computations to generate multiple output feature maps |
US11100193B2 (en) * | 2018-12-07 | 2021-08-24 | Samsung Electronics Co., Ltd. | Dataflow accelerator architecture for general matrix-matrix multiplication and tensor computation in deep learning |
CN111324294B (zh) * | 2018-12-17 | 2023-11-07 | 地平线(上海)人工智能技术有限公司 | 存取张量数据的方法和装置 |
US11748599B2 (en) * | 2019-02-21 | 2023-09-05 | Texas Instruments Incorporated | Super-tiling in neural network processing to enable analytics at lower memory speed |
US11501142B1 (en) * | 2019-04-03 | 2022-11-15 | Xilinx, Inc. | Tiling control circuit for downloading and processing an input tile based on source and destination buffer availability |
DE102019214010A1 (de) * | 2019-09-13 | 2021-03-18 | Robert Bosch Gmbh | Datenspeicher und Verfahren zum Betreiben des Datenspeichers |
CN112925727B (zh) * | 2021-03-16 | 2023-03-03 | 杭州慧芯达科技有限公司 | Tensor高速缓存及访问结构及其方法 |
CN113126913A (zh) * | 2021-03-26 | 2021-07-16 | 井芯微电子技术(天津)有限公司 | 一种基于并行ram的数据阵列管理方法、装置和存储设备 |
CN113836049B (zh) * | 2021-09-17 | 2023-08-08 | 海飞科(南京)信息技术有限公司 | 存储器访问方法和电子装置 |
US20230140542A1 (en) * | 2021-11-01 | 2023-05-04 | Advanced Energy Industries, Inc. | Tensor non-linear signal processing random access memory |
CN115860079B (zh) * | 2023-01-30 | 2023-05-12 | 深圳市九天睿芯科技有限公司 | 神经网络加速装置、方法、芯片、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015506025A (ja) | 2011-12-07 | 2015-02-26 | ザイリンクス インコーポレイテッドXilinx Incorporated | 競合のないメモリ構成 |
JP6250782B1 (ja) | 2016-12-01 | 2017-12-20 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | ビクティムキャッシュ又はニューラルネットワークユニットメモリとして動作可能なメモリアレイを有するプロセッサ |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822341A (en) * | 1995-04-06 | 1998-10-13 | Advanced Hardware Architectures, Inc. | Multiport RAM for use within a viterbi decoder |
US6445636B1 (en) * | 2000-08-17 | 2002-09-03 | Micron Technology, Inc. | Method and system for hiding refreshes in a dynamic random access memory |
US7714870B2 (en) * | 2003-06-23 | 2010-05-11 | Intel Corporation | Apparatus and method for selectable hardware accelerators in a data driven architecture |
US7359276B1 (en) * | 2005-09-27 | 2008-04-15 | Xilinx, Inc. | Multi-port system for communication between processing elements |
US8018766B2 (en) * | 2009-05-29 | 2011-09-13 | Seagate Technology Llc | Concurrent intersymbol interference encoding in a solid state memory |
CN106415435B (zh) * | 2013-09-17 | 2020-08-11 | 帕克维辛股份有限公司 | 用于呈现信息承载时间函数的方法、装置和系统 |
US10353860B2 (en) * | 2015-10-08 | 2019-07-16 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with neural processing units dynamically configurable to process multiple data sizes |
US10236043B2 (en) * | 2016-06-06 | 2019-03-19 | Altera Corporation | Emulated multiport memory element circuitry with exclusive-OR based control circuitry |
US9779786B1 (en) * | 2016-10-26 | 2017-10-03 | Xilinx, Inc. | Tensor operations and acceleration |
CN107392107B (zh) * | 2017-06-24 | 2020-09-11 | 天津大学 | 一种基于异构张量分解的人脸特征提取方法 |
-
2018
- 2018-03-16 US US15/923,950 patent/US10346093B1/en active Active
-
2019
- 2019-01-16 CN CN201980032749.5A patent/CN112119459B/zh active Active
- 2019-01-16 KR KR1020207029317A patent/KR102680573B1/ko active IP Right Grant
- 2019-01-16 WO PCT/US2019/013773 patent/WO2019177686A1/en active Application Filing
- 2019-01-16 EP EP19703857.3A patent/EP3766067A1/en active Pending
- 2019-01-16 JP JP2020549701A patent/JP7279064B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015506025A (ja) | 2011-12-07 | 2015-02-26 | ザイリンクス インコーポレイテッドXilinx Incorporated | 競合のないメモリ構成 |
JP6250782B1 (ja) | 2016-12-01 | 2017-12-20 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | ビクティムキャッシュ又はニューラルネットワークユニットメモリとして動作可能なメモリアレイを有するプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
WO2019177686A1 (en) | 2019-09-19 |
KR102680573B1 (ko) | 2024-07-01 |
CN112119459B (zh) | 2024-07-05 |
EP3766067A1 (en) | 2021-01-20 |
US10346093B1 (en) | 2019-07-09 |
JP2021518601A (ja) | 2021-08-02 |
CN112119459A (zh) | 2020-12-22 |
KR20200132927A (ko) | 2020-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7279064B2 (ja) | テンソルデータ用のメモリ構成 | |
US20230244485A1 (en) | Compute-in-memory systems and methods | |
KR102687633B1 (ko) | 텐서 연산들 및 가속 | |
EP3757901A1 (en) | Schedule-aware tensor distribution module | |
US10515135B1 (en) | Data format suitable for fast massively parallel general matrix multiplication in a programmable IC | |
US10354733B1 (en) | Software-defined memory bandwidth reduction by hierarchical stream buffering for general matrix multiplication in a programmable IC | |
US10984500B1 (en) | Inline image preprocessing for convolution operations using a matrix multiplier on an integrated circuit | |
JPH0425586B2 (ja) | ||
KR20230172043A (ko) | 동형 암호화에 의한 보안 계산 가속화를 위한 동형 처리 유닛 | |
US10411709B1 (en) | Circuit arrangements and methods for dividing a three-dimensional input feature map | |
Garofalo et al. | A heterogeneous in-memory computing cluster for flexible end-to-end inference of real-world deep neural networks | |
US20220179823A1 (en) | Reconfigurable reduced instruction set computer processor architecture with fractured cores | |
US11106968B1 (en) | Circuit arrangements and methods for traversing input feature maps | |
US11705207B2 (en) | Processor in non-volatile storage memory | |
JP7495924B2 (ja) | Mac回路中の異なるカーネルを使用してデータのセットに対して連続するmac演算を実施すること | |
US20220188613A1 (en) | Sgcnax: a scalable graph convolutional neural network accelerator with workload balancing | |
Yoshida et al. | The approach to multiple instruction execution in the GMICRO/400 processor | |
US20220269436A1 (en) | Compute accelerated stacked memory | |
Wang et al. | Benchmarking DNN Mapping Methods for the In-Memory Computing Accelerators | |
Dou et al. | A unified co-processor architecture for matrix decomposition | |
US11704536B1 (en) | Convolution circuitry | |
Kolala Venkataramaniah | Energy Efficient ASIC/FPGA Neural Network Accelerators | |
Nakano et al. | FIFO-based hardware sorters for high bandwidth memory | |
Hattink et al. | A scalable architecture for cnn accelerators leveraging high-performance memories | |
Shafiq et al. | FEM: A Step Towards a Common Memory Layout for FPGA Based Accelerators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230306 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230510 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7279064 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |