JPWO2020003345A1 - 演算処理装置 - Google Patents
演算処理装置 Download PDFInfo
- Publication number
- JPWO2020003345A1 JPWO2020003345A1 JP2020526727A JP2020526727A JPWO2020003345A1 JP WO2020003345 A1 JPWO2020003345 A1 JP WO2020003345A1 JP 2020526727 A JP2020526727 A JP 2020526727A JP 2020526727 A JP2020526727 A JP 2020526727A JP WO2020003345 A1 JPWO2020003345 A1 JP WO2020003345A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- feature amount
- unit
- amount map
- input
- 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
- 230000015654 memory Effects 0.000 claims abstract description 81
- 238000013500 data storage Methods 0.000 claims abstract description 58
- 238000013135 deep learning Methods 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 53
- 238000004364 calculation method Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 44
- 238000007726 management method Methods 0.000 claims description 36
- 238000011176 pooling Methods 0.000 claims description 19
- 230000001186 cumulative effect Effects 0.000 claims description 18
- 239000000284 extract Substances 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000006243 chemical reaction Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 4
- 230000009467 reduction Effects 0.000 description 3
- KDCGOANMDULRCW-UHFFFAOYSA-N 7H-purine Chemical group N1=CNC2=NC=NC2=C1 KDCGOANMDULRCW-UHFFFAOYSA-N 0.000 description 2
- 239000012536 storage buffer Substances 0.000 description 2
- 238000001994 activation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
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
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
Description
FM数[K]=2×FM数[K−1]
本発明の実施形態について、図面を用いて説明する。図1は、本発明の実施形態に係る演算処理装置の構成を示すブロック図である。
実施形態1では、1つのCNNの層を処理する回路とそこへ入力するiFMをどのようにIBUFに展開し、処理するかについて説明した。実施形態2では、特に、oFM数(oFMの面数)が回路的な並列度Mを越えるケースに対応する。
2 コントローラ
3 データ入力部
4 係数入力部
5 IBUF(データ格納メモリ)管理部
6 WBUF(係数格納メモリ)管理部
7 演算部
8 データ出力部
9 DRAM(格納用外部メモリ)
10 バス
51 カウンタ
52 SRAM書き込み制御部
53 SRAM読み出し制御部
71 演算制御部
72 フィルタ演算部
73 第1加算器
74 第2加算器
75 FF(フリップフロップ)
76 非線形変換部
77 プーリング処理部
Claims (4)
- Convolution処理とFullConnect処理を行うディープラーニング用の演算処理装置であって、
3個以上のSRAMで構成されたデータ格納メモリと、
入力特徴量マップデータから入力有効データ数をカウントして座標に変換するカウンタと、
前記カウンタが変換した座標を前記データ格納メモリにおけるアドレスに変換して、前記入力特徴量マップデータを前記データ格納メモリに格納するSRAM書き込み制御部と、
外部からのリクエストを受けて、前記データ格納メモリから所定の方法で格納されている前記入力特徴量マップデータを取り出すSRAM読み出し制御部と、
を有するデータ格納メモリ管理部と;
係数を格納する係数格納メモリを有し、前記データ格納メモリ管理部のステータスを参照して、前記データ格納メモリ管理部から取り出すデータに対応する係数を前記係数格納メモリから取り出す係数格納メモリ管理部と;
格納用外部メモリから、前記入力特徴量マップデータを取得するデータ入力部と;
前記格納用外部メモリから、前記係数を取得する係数入力部と;
入力N並列、出力M並列の構成(N、M≧1の正数)で、前記データ格納メモリから前記入力特徴量マップデータを取得し、前記係数格納メモリから前記係数を取得して、フィルタ処理、累積加算処理、非線形演算処理およびプーリング処理を行う演算部と;
前記演算部から出力されるM並列のデータを連結して、出力特徴量マップデータとして前記格納用外部メモリに出力するデータ出力部と;
前記データ格納メモリ管理部、前記係数格納メモリ管理部、前記データ入力部、前記データ出力部、および前記演算部を制御するコントローラと;
を有し、
前記カウンタは、入力された前記入力特徴量マップデータのIDを生成し、
前記SRAM書き込み制御部は、前記データ格納メモリを構成する前記SRAMの各々を仮想的に複数の領域に分割し、前記IDによって書き込む領域を切り替えるとともに、同じSRAMには同一座標の異なる入力特徴量マップデータが格納されるように制御し、
前記SRAM読み出し制御部は、取り出したい前記入力特徴量マップデータの前記IDに対応する前記領域にアクセスするように前記アドレスを切り替え、
前記演算部は、
N並列でフィルタ演算を実行するフィルタ演算部と、
前記フィルタ演算部の演算結果を全て累積加算する第1加算器と、
前記第1加算器の累積加算結果を後段で累積加算する第2加算器と、
前記第2加算器の累積加算結果を保持するフリップフロップと、
1つのデータ格納メモリに格納されている複数の入力特徴量マップデータを取り出すために、入力特徴量マップデータのIDを生成して、前記SRAM読み出し制御部から入力される入力特徴量マップデータと同じIDの前記係数を前記係数格納メモリ管理部から取得するよう制御し、全ての入力特徴量マップデータを取り終わるまでは、前記第2加算器が前記第1加算器の累積加算結果を累積加算するよう制御する演算制御部と、
を有する演算処理装置。 - 前記演算部は、同一座標の入力特徴量マップデータごとに演算処理を実行し、
前記SRAM書き込み制御部は、前記同一座標の入力特徴量マップデータの演算処理が終わるごとに、前記同一座標の入力特徴量マップデータが格納されていた前記領域を開放して、前記入力特徴量マップデータの続きのデータを格納する
請求項1に記載の演算処理装置。 - 前記SRAM読み出し制御部は、1つの入力特徴量マップデータから、出力するm枚分の出力特徴量マップデータの演算処理を実行するように前記データ格納メモリから前記入力特徴量マップデータを読み出し、
前記データ出力部は、有効データをカウントしてどの出力特徴量マップデータであるかを識別し、適切に出力特徴量マップデータにおけるアドレスを生成して、前記格納用外部メモリに出力する、
請求項1または2に記載の演算処理装置。 - 前記SRAM読み出し制御部は、前記データ格納メモリから前記入力特徴量マップデータの一部データを読み出し、
前記演算部は、前記SRAM読み出し制御部から入力された前記入力特徴量マップデータの一部データの演算処理を行い、前記出力特徴量マップデータの一部データを作成し、
前記入力特徴量マップデータの前記一部データの処理が終わったら、前記入力特徴量マップデータの次の一部データの処理へと進む、
請求項1から3のいずれか1項に記載の演算処理装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/023974 WO2020003345A1 (ja) | 2018-06-25 | 2018-06-25 | 演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020003345A1 true JPWO2020003345A1 (ja) | 2021-04-08 |
JP6970827B2 JP6970827B2 (ja) | 2021-11-24 |
Family
ID=68986145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020526727A Active JP6970827B2 (ja) | 2018-06-25 | 2018-06-25 | 演算処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12050985B2 (ja) |
JP (1) | JP6970827B2 (ja) |
WO (1) | WO2020003345A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7420100B2 (ja) * | 2021-03-15 | 2024-01-23 | オムロン株式会社 | 処理装置、処理方法、およびプログラム |
CN118435201A (zh) * | 2021-12-14 | 2024-08-02 | 富士胶片株式会社 | 推理装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009080693A (ja) * | 2007-09-26 | 2009-04-16 | Canon Inc | 演算処理装置および方法 |
JP2017151604A (ja) * | 2016-02-23 | 2017-08-31 | 株式会社デンソー | 演算処理装置 |
US20170277658A1 (en) * | 2014-12-19 | 2017-09-28 | Intel Corporation | Method and apparatus for distributed and cooperative computation in artificial neural networks |
JP2018073102A (ja) * | 2016-10-28 | 2018-05-10 | キヤノン株式会社 | 演算回路、その制御方法及びプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10275719B2 (en) * | 2015-01-29 | 2019-04-30 | Qualcomm Incorporated | Hyper-parameter selection for deep convolutional networks |
JP6771018B2 (ja) * | 2015-07-23 | 2020-10-21 | マイヤプリカ テクノロジー エルエルシー | 二次元配列プロセッサの性能向上 |
US20170344876A1 (en) * | 2016-05-31 | 2017-11-30 | Samsung Electronics Co., Ltd. | Efficient sparse parallel winograd-based convolution scheme |
AU2016203619A1 (en) * | 2016-05-31 | 2017-12-14 | Canon Kabushiki Kaisha | Layer-based operations scheduling to optimise memory for CNN applications |
CN110050267B (zh) * | 2016-12-09 | 2023-05-26 | 北京地平线信息技术有限公司 | 用于数据管理的系统和方法 |
KR102642853B1 (ko) * | 2017-01-05 | 2024-03-05 | 한국전자통신연구원 | 컨볼루션 회로, 그것을 포함하는 어플리케이션 프로세서 및 그것의 동작 방법 |
US10824938B2 (en) * | 2017-04-24 | 2020-11-03 | Intel Corporation | Specialized fixed function hardware for efficient convolution |
US10776694B2 (en) * | 2017-05-16 | 2020-09-15 | Samsung Electronics Co., Ltd. | Optimized neural network input stride method and apparatus |
CN107273832B (zh) * | 2017-06-06 | 2020-09-22 | 青海省交通科学研究院 | 基于积分通道特征与卷积神经网络的车牌识别方法及系统 |
NZ759804A (en) * | 2017-10-16 | 2022-04-29 | Illumina Inc | Deep learning-based techniques for training deep convolutional neural networks |
US11119677B2 (en) * | 2017-12-15 | 2021-09-14 | Samsung Electronics Co., Ltd. | HBM based memory lookup engine for deep learning accelerator |
US11449728B2 (en) * | 2018-07-01 | 2022-09-20 | Al Falcon Ltd. | Method of optimization of operating a convolutional neural network and system thereof |
JP7299770B2 (ja) * | 2019-07-01 | 2023-06-28 | キヤノン株式会社 | 演算処理装置及び演算処理方法 |
US11681902B2 (en) * | 2019-09-27 | 2023-06-20 | Amazon Technologies, Inc. | Transposed convolution using systolic array |
-
2018
- 2018-06-25 WO PCT/JP2018/023974 patent/WO2020003345A1/ja active Application Filing
- 2018-06-25 JP JP2020526727A patent/JP6970827B2/ja active Active
-
2020
- 2020-12-23 US US17/132,575 patent/US12050985B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009080693A (ja) * | 2007-09-26 | 2009-04-16 | Canon Inc | 演算処理装置および方法 |
US20170277658A1 (en) * | 2014-12-19 | 2017-09-28 | Intel Corporation | Method and apparatus for distributed and cooperative computation in artificial neural networks |
JP2017151604A (ja) * | 2016-02-23 | 2017-08-31 | 株式会社デンソー | 演算処理装置 |
JP2018073102A (ja) * | 2016-10-28 | 2018-05-10 | キヤノン株式会社 | 演算回路、その制御方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20210117762A1 (en) | 2021-04-22 |
JP6970827B2 (ja) | 2021-11-24 |
WO2020003345A1 (ja) | 2020-01-02 |
US12050985B2 (en) | 2024-07-30 |
CN112334915A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461684B2 (en) | Operation processing circuit and recognition system | |
US10936937B2 (en) | Convolution operation device and convolution operation method | |
US20180137414A1 (en) | Convolution operation device and convolution operation method | |
US20190095212A1 (en) | Neural network system and operating method of neural network system | |
US20180232629A1 (en) | Pooling operation device and method for convolutional neural network | |
US20180253641A1 (en) | Arithmetic processing apparatus and control method therefor | |
WO2022206556A1 (zh) | 图像数据的矩阵运算方法、装置、设备及存储介质 | |
US10169295B2 (en) | Convolution operation device and method | |
CN111465943A (zh) | 芯片上计算网络 | |
JP6970827B2 (ja) | 演算処理装置 | |
US11113361B2 (en) | Electronic apparatus and control method thereof | |
EP2738675A2 (en) | System and method for efficient resource management of a signal flow programmed digital signal processor code | |
US10162799B2 (en) | Buffer device and convolution operation device and method | |
CN109726798B (zh) | 一种数据处理方法及装置 | |
US20220067495A1 (en) | Intelligent processor, data processing method and storage medium | |
TWI634436B (zh) | 緩衝裝置及卷積運算裝置與方法 | |
CN114254731A (zh) | 用于神经网络操作的方法和设备 | |
JP6906622B2 (ja) | 演算回路および演算方法 | |
JP7574346B2 (ja) | 情報処理装置及びメモリ制御方法 | |
US9077313B2 (en) | Low power and low memory single-pass multi-dimensional digital filtering | |
CN112334915B (zh) | 运算处理装置 | |
TWI417810B (zh) | 影像增強方法、影像增強裝置及影像處理電路 | |
CN111340224B (zh) | 适用于低资源嵌入式芯片的cnn网络的加速设计方法 | |
US11500632B2 (en) | Processor device for executing SIMD instructions | |
DE112022000723T5 (de) | Verzweigungsvorgang für eine schaltung eines neuronalen prozessors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201001 |
|
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: 20211019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211029 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6970827 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |