JP2020109621A - プロセッシングシステム - Google Patents
プロセッシングシステム Download PDFInfo
- Publication number
- JP2020109621A JP2020109621A JP2019202872A JP2019202872A JP2020109621A JP 2020109621 A JP2020109621 A JP 2020109621A JP 2019202872 A JP2019202872 A JP 2019202872A JP 2019202872 A JP2019202872 A JP 2019202872A JP 2020109621 A JP2020109621 A JP 2020109621A
- Authority
- JP
- Japan
- Prior art keywords
- temporary memory
- feature
- processing system
- stored
- boundary
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 69
- 230000015654 memory Effects 0.000 claims abstract description 140
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012805 post-processing Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 239000000470 constituent Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000011176 pooling Methods 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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- 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/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- 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/08—Learning methods
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Neurology (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
スパーシティが増加するようになると、データに多い数の0値(zero−value)が含まれるが、0値は、乗算及び加算演算の結果値に何らの影響を与えないが、不要なレイテンシを増加させ、電流を消費することになる原因となり得る。
図2に示されるように、プロセッシングシステムは、メインメモリ210、メモリインターフェース220、オン−チップメモリ230、フローコントローラ(flow controller、240)、臨時メモリ250、プロセッシングエレメント(processing element、260)、及びフィーチャマップ発生器(feature map generator、270)を備えることができる。
速い並列処理のために、プロセッシングシステムがフローコントローラ240、臨時メモリ250、及びプロセッシングエレメント260を複数個ずつ備えることもできる。
図3に示されるように、プロセッシングエレメント260は、乗算器310、加算器320、レジスタアレイ330、及びバウンダリ制御器340を備えることができる。
バウンダリ制御器340は、バウンダリフラグ(BOUNDARY FLAG)を入力され、同じバウンダリ内での乗算結果が加算器320によって加算演算され得るようにレジスタ制御器340を制御し、バウンダリ別に加算演算結果がレジスタアレイから出力され得るようにレジスタ制御器340を制御できる。
結果として、プロセッシングエレメント260は、図1で説明したように、バウンダリ別にコンボリューション演算を行うことができる。
図4Aの410は、図1の4×4サイズのイメージ110がオン−チップメモリ230に格納された形態を示し、420は、図1の2×2サイズのフィルタ120がオン−チップメモリ230に格納された形態を示すことができる。
(1)フローコントローラ240は、臨時メモリ250の同じポイントに格納されるフィーチャとウエートのうち1つ以上が0の値を有する場合に、当該ポイントをスキップできる。具体的に、フローコントローラ240は、オン−チップメモリ230から読み出したフィーチャとウエートのうち1つ以上が0の値を有する場合には、当該値を臨時メモリに格納した後、書き込まれるポイントの値をホールドすることができる。書き込まれるポイントの値を増加させずにホールドすることで、臨時メモリの当該ポイントに新しい値(本来、次のポイントに格納されるべき値)がオーバーライト(overwrite)され得る。
上述した(1)と(2)の方式でゼロスキッピング動作を行うと、臨時メモリ250のポイントのうち、演算結果値に影響を与えないポイントを除去可能であるから、プロセッシングエレメント260の不要な演算及びこれによる時間浪費及び電流浪費を防ぐことができる。また、ゼロスキッピングが行われながらも、バウンダリ内の全てのポイントがスキッピングされることは防止するので、バウンダリが省略されるという問題は生じないことができる。
まず、フローコントローラ240は、書き込むフィーチャまたはウエートが0値を含むかを確認できる(601)。
フィーチャまたはウエートが0値を含む場合には(601においてY)、バウンダリ内の全てのポイントがゼロスキッピングの対象になるオールゼロケース(All zero case)であるか否かが判断され得る(607)。
220 メモリインターフェース
230 オン−チップメモリ
240 フローコントローラ
250 臨時メモリ
260 プロセッシングエレメント
270 フィーチャマップ発生器
Claims (18)
- フィーチャとウエートを格納する臨時メモリと、
前記臨時メモリに格納された前記フィーチャの値と前記ウエートの値に対する乗算演算及び乗算結果に対する加算演算を行うプロセッシングエレメントと、
前記フィーチャと前記ウエートを前記臨時メモリに格納されるように制御し、前記臨時メモリの同じポイントに格納されたフィーチャとウエートのうち1つ以上の値が0である場合に、当該ポイントに次のフィーチャと次のウエートがオーバーライトされるように制御するフローコントローラと、
を備えるプロセッシングシステム。 - 前記臨時メモリは、前記臨時メモリに格納されるフィーチャとウエートのバウンダリを表すためのバウンダリフラグをさらに格納する請求項1に記載のプロセッシングシステム。
- 前記フローコントローラは、同じバウンダリ内で少なくとも1つのポイントはオーバーライトされないように制御する請求項2に記載のプロセッシングシステム。
- 前記フローコントローラは、同じバウンダリ内の全てのポイントがオーバーライト対象と判断される場合に、当該バウンダリの1つのポイントにフィーチャとウエートのうち1つ以上を0に記録し、バウンダリフラグを格納する請求項2に記載のプロセッシングシステム。
- 前記臨時メモリは、スクラッチパッドを含む請求項1に記載のプロセッシングシステム。
- 多数のポイントを含み、それぞれのポイントにフィーチャ、ウエート及びバウンダリフラグを格納する臨時メモリと、
前記臨時メモリの同じポイントに格納されたフィーチャの値とウエートの値を乗算する乗算演算及び同じバウンダリの乗算演算結果を加算する加算演算を行うプロセッシングエレメントと、
前記フィーチャ、前記ウエート、及び前記バウンダリフラグが前記臨時メモリに格納されるように制御し、前記臨時メモリの同じポイントに格納されたフィーチャとウエートのうち1つ以上の値が0である場合に、当該ポイントに次のフィーチャと次のウエートがオーバーライトされるように制御するフローコントローラと、
を備えるプロセッシングシステム。 - 前記フローコントローラは、同じバウンダリ内で少なくとも1つのポイントはオーバーライトされないように制御する請求項6に記載のプロセッシングシステム。
- 前記フローコントローラは、同じバウンダリ内の全てのポイントがオーバーライト対象と判断される場合に、当該バウンダリの1つのポイントにフィーチャとウエートのうち1つ以上を0に記録し、バウンダリフラグを格納する請求項6に記載のプロセッシングシステム。
- 前記プロセッシングエレメントは、
前記臨時メモリの同じポイントに格納されたフィーチャの値とウエートの値を乗算する乗算器と、
前記乗算器の乗算演算結果に対する加算演算のための加算器と、
前記加算器の加算演算結果を格納するレジスタアレイと、
前記バウンダリフラグを入力され、同じバウンダリの乗算演算結果が加算演算されるように前記レジスタアレイを制御し、バウンダリ別に加算演算結果が前記レジスタアレイから出力されるように制御するバウンダリ制御器と、
を備える請求項6に記載のプロセッシングシステム。 - 前記プロセッシングシステムは、
メインメモリと、
前記メインメモリをアクセスするためのメモリインターフェースと、
前記メモリインターフェースを介して前記メインメモリから読み出されたフィーチャとウエートを格納するオン−チップメモリと、
をさらに備え、
前記フローコントローラは、前記オン−チップメモリに格納されたフィーチャとウエートを前記臨時メモリに格納する請求項6に記載のプロセッシングシステム。 - 前記フローコントローラは、
前記オン−チップメモリに格納されたフィーチャを前記臨時メモリに格納する過程で前記オン−チップメモリに格納されたフィーチャの一部を繰り返して読み出して複写する請求項10に記載のプロセッシングシステム。 - 前記プロセッシングシステムは、
前記プロセッシングエレメントの演算結果を後処理するためのフィーチャマップ発生器をさらに備える請求項10に記載のプロセッシングシステム。 - 前記メインメモリは、DRAMを備え、
前記オン−チップメモリは、SRAMを備える請求項10に記載のプロセッシングシステム。 - 前記臨時メモリは、スクラッチパッドを含む請求項6に記載のプロセッシングシステム。
- 前記プロセッシングシステムは、
前記プロセッシングエレメントと前記フローコントローラとを複数個含む請求項6に記載のプロセッシングシステム。 - フィーチャとウエートを臨時格納する臨時メモリと、
前記臨時メモリに格納された前記フィーチャの値と前記ウエートの値に対する乗算演算及び乗算結果に対する加算演算を行うプロセッシングエレメントと、
前記フィーチャと前記ウエートを前記臨時メモリに格納されるように制御し、前記臨時メモリの同じポイントに格納されるフィーチャとウエートのうち1つ以上が0の値を含む場合に、当該フィーチャとウエートが前記臨時メモリに格納されないように制御するフローコントローラと、
を備えるプロセッシングシステム。 - 前記臨時メモリは、前記臨時メモリに格納されるフィーチャとウエートのバウンダリを表すためのバウンダリフラグをさらに格納する請求項16に記載のプロセッシングシステム。
- 前記フローコントローラは、同じバウンダリ内で少なくとも1つのポイントは前記臨時メモリに格納されるように制御する請求項17に記載のプロセッシングシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180173358A KR20200082613A (ko) | 2018-12-31 | 2018-12-31 | 프로세싱 시스템 |
KR10-2018-0173358 | 2018-12-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020109621A true JP2020109621A (ja) | 2020-07-16 |
JP7437135B2 JP7437135B2 (ja) | 2024-02-22 |
Family
ID=71122022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019202872A Active JP7437135B2 (ja) | 2018-12-31 | 2019-11-08 | プロセッシングシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11551069B2 (ja) |
JP (1) | JP7437135B2 (ja) |
KR (1) | KR20200082613A (ja) |
CN (1) | CN111382861B (ja) |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203798B2 (en) * | 2003-03-20 | 2007-04-10 | Matsushita Electric Industrial Co., Ltd. | Data memory cache unit and data memory cache system |
CN103984560B (zh) * | 2014-05-30 | 2017-09-19 | 东南大学 | 基于大规模粗粒度嵌入式可重构系统及其处理方法 |
WO2017015649A1 (en) * | 2015-07-23 | 2017-01-26 | Mireplica Technology, Llc | Performance enhancement for two-dimensional array processor |
US9904874B2 (en) * | 2015-11-05 | 2018-02-27 | Microsoft Technology Licensing, Llc | Hardware-efficient deep convolutional neural networks |
EP3408798B1 (en) * | 2016-01-29 | 2020-07-15 | FotoNation Limited | A convolutional neural network |
US20180082181A1 (en) | 2016-05-13 | 2018-03-22 | Samsung Electronics, Co. Ltd. | Neural Network Reordering, Weight Compression, and Processing |
KR102566325B1 (ko) | 2016-07-18 | 2023-08-14 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
JP6800656B2 (ja) * | 2016-08-24 | 2020-12-16 | キヤノン株式会社 | 演算回路、その制御方法及びプログラム |
US10360163B2 (en) | 2016-10-27 | 2019-07-23 | Google Llc | Exploiting input data sparsity in neural network compute units |
KR102631381B1 (ko) | 2016-11-07 | 2024-01-31 | 삼성전자주식회사 | 컨볼루션 신경망 처리 방법 및 장치 |
US20180131946A1 (en) * | 2016-11-07 | 2018-05-10 | Electronics And Telecommunications Research Institute | Convolution neural network system and method for compressing synapse data of convolution neural network |
KR20180060149A (ko) | 2016-11-28 | 2018-06-07 | 삼성전자주식회사 | 컨볼루션 처리 장치 및 방법 |
KR102642853B1 (ko) * | 2017-01-05 | 2024-03-05 | 한국전자통신연구원 | 컨볼루션 회로, 그것을 포함하는 어플리케이션 프로세서 및 그것의 동작 방법 |
US10395141B2 (en) * | 2017-03-20 | 2019-08-27 | Sap Se | Weight initialization for machine learning models |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
CN107256424B (zh) * | 2017-05-08 | 2020-03-31 | 中国科学院计算技术研究所 | 三值权重卷积网络处理系统及方法 |
JP7020485B2 (ja) | 2017-06-22 | 2022-02-16 | 日本電気株式会社 | 演算装置、演算方法及びプログラム |
CN107656899A (zh) * | 2017-09-27 | 2018-02-02 | 深圳大学 | 一种基于fpga的模板卷积实现方法和系统 |
US20190303757A1 (en) * | 2018-03-29 | 2019-10-03 | Mediatek Inc. | Weight skipping deep learning accelerator |
CN108960414B (zh) * | 2018-07-20 | 2022-06-07 | 中国人民解放军国防科技大学 | 一种基于深度学习加速器实现单广播多运算的方法 |
KR20200091623A (ko) * | 2019-01-23 | 2020-07-31 | 삼성전자주식회사 | 위노그라드 변환에 기반한 뉴럴 네트워크의 컨볼루션 연산을 수행하는 방법 및 장치 |
-
2018
- 2018-12-31 KR KR1020180173358A patent/KR20200082613A/ko not_active Application Discontinuation
-
2019
- 2019-10-31 US US16/670,645 patent/US11551069B2/en active Active
- 2019-11-08 JP JP2019202872A patent/JP7437135B2/ja active Active
- 2019-11-29 CN CN201911201499.1A patent/CN111382861B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
KR20200082613A (ko) | 2020-07-08 |
CN111382861B (zh) | 2023-11-10 |
US11551069B2 (en) | 2023-01-10 |
CN111382861A (zh) | 2020-07-07 |
JP7437135B2 (ja) | 2024-02-22 |
US20200210819A1 (en) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907830B2 (en) | Neural network architecture using control logic determining convolution operation sequence | |
CN110582785B (zh) | 配置用于执行层描述符列表的具有功率效率的深度神经网络模块 | |
CN107403221B (zh) | 用于实现卷积神经网络的方法和硬件、制造方法和系统 | |
US11915139B2 (en) | Modifying machine learning models to improve locality | |
GB2560600A (en) | Nueral Network Hardware | |
CN107766079A (zh) | 处理器以及用于在处理器上执行指令的方法 | |
GB2568102A (en) | Exploiting sparsity in a neural network | |
US20220043630A1 (en) | Electronic device and control method therefor | |
CN114328315A (zh) | 基于dma的数据预处理方法、dma部件及芯片结构 | |
JP2020109621A (ja) | プロセッシングシステム | |
US20160140034A1 (en) | Devices and methods for linked list array hardware implementation | |
CN110390626A (zh) | 一种卷积神经网络的图像处理方法及装置 | |
CN114118395B (zh) | 智能处理器装置与降低存储器带宽的方法 | |
US20230186045A1 (en) | Neural Network Processing | |
CN116303135B (zh) | 任务数据的装载方法、装置和计算机设备 | |
KR100987332B1 (ko) | 메모리 구조에 따른 메모리 관리 장치 | |
CN113298243A (zh) | 数据存储管理方法和装置以及卷积计算硬件加速器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221026 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230808 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231101 |
|
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: 20240116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240209 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7437135 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |