JP7461433B2 - リソース再設定可能な深層ニューラルネットワーク加速器、システムおよび方法 - Google Patents
リソース再設定可能な深層ニューラルネットワーク加速器、システムおよび方法 Download PDFInfo
- Publication number
- JP7461433B2 JP7461433B2 JP2022163999A JP2022163999A JP7461433B2 JP 7461433 B2 JP7461433 B2 JP 7461433B2 JP 2022163999 A JP2022163999 A JP 2022163999A JP 2022163999 A JP2022163999 A JP 2022163999A JP 7461433 B2 JP7461433 B2 JP 7461433B2
- Authority
- JP
- Japan
- Prior art keywords
- tiling
- hierarchy
- virtual
- resource
- neural network
- 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
- 238000013528 artificial neural network Methods 0.000 title claims description 77
- 238000000034 method Methods 0.000 title claims description 25
- 230000015654 memory Effects 0.000 claims description 87
- 238000012545 processing Methods 0.000 claims description 7
- 238000013468 resource allocation Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
100:深層ニューラルネットワーク加速器
110:スクラッチパッドメモリ
120:仮想タイリングレジスタ
130:コア
200:ホストシステム
Claims (19)
- リソース再設定可能な深層ニューラルネットワーク加速器であって、
外部メモリ階層における深層ニューラルネットワークパラメータデータを複数のタイルに分割してロードするスクラッチパッドメモリ階層と、前記スクラッチパッドメモリ階層のタイリングされた深層ニューラルネットワークパラメータデータをロードするレジスタファイルメモリ階層とを含むメモリ階層と、
前記レジスタファイルメモリ階層にロードされた深層ニューラルネットワークパラメータデータに対する推論演算を処理する複数のコアと、
を含み、
前記メモリ階層は、所定のタイリングサイズに相応するように、前のメモリ階層からタイリングされた深層ニューラルネットワークパラメータデータをロードする任意の位置に追加された仮想タイリング階層を提供する仮想タイリングレジスタを含む、
リソース再設定可能な深層ニューラルネットワーク加速器。 - 前記スクラッチパッドメモリ階層、レジスタ階層、およびコアの少なくとも1つを含む関連リソースの使用量は、前記仮想タイリング階層のタイリングサイズに基づいて調整される、
請求項1に記載のリソース再設定可能な深層ニューラルネットワーク加速器。 - 前記関連リソースの使用量が調整されることにより、未使用の関連リソースのリソース割当は解除される、
請求項2に記載のリソース再設定可能な深層ニューラルネットワーク加速器。 - 前記仮想タイリング階層を提供する前記仮想タイリングレジスタは、前記スクラッチパッドメモリ階層と前記レジスタファイルメモリ階層との間に追加される、
請求項1に記載のリソース再設定可能な深層ニューラルネットワーク加速器。 - ループの実行時、前記タイリングサイズがN(Nは2以上の自然数)個に決定される場合、前記複数のコアのうち1/N個のコアが前記ループを行うためのリソースに割当てられる、
請求項4に記載のリソース再設定可能な深層ニューラルネットワーク加速器。 - 前記仮想タイリング階層を提供する前記仮想タイリングレジスタは、前記外部メモリ階層と前記スクラッチパッドメモリ階層との間に追加される、
請求項1に記載のリソース再設定可能な深層ニューラルネットワーク加速器。 - ループの実行時、前記タイリングサイズがN(Nは2以上の自然数)個に決定される場合、前記スクラッチパッドメモリ階層のうち1/Nが前記ループを行うためのリソースに割当てられる、
請求項6に記載のリソース再設定可能な深層ニューラルネットワーク加速器。 - 前記仮想タイリング階層の位置は、ホストシステムのソフトウェアインターフェースを介して設定される、
請求項1に記載のリソース再設定可能な深層ニューラルネットワーク加速器。 - 前記仮想タイリング階層の前記タイリングサイズは、深層ニューラルネットワークの毎ループを行う度にアップデートされる、
請求項1に記載のリソース再設定可能な深層ニューラルネットワーク加速器。 - 前記仮想タイリング階層の前記タイリングサイズは、ホストシステムによって決定される前記仮想タイリングレジスタの値に基づいて設定される、
請求項1に記載のリソース再設定可能な深層ニューラルネットワーク加速器。 - 深層ニューラルネットワーク加速器におけるリソース再設定方法であって、
ループが行われることにより、仮想タイリングレジスタの値を読出すステップと、
前記読出された仮想タイリングレジスタの値に基づいて仮想タイリング階層のタイリングサイズを設定するステップと、
前記仮想タイリング階層のタイリングサイズに基づいて関連リソースのタイリングサイズを変換するステップと、
前記タイリングサイズに応じて使用量が調整された関連リソースのうち未使用の関連リソースのリソース割当を解除するステップと、
を含む、リソース再設定方法。 - 前記仮想タイリング階層のタイリングサイズは、毎ループを行う度にアップデートされる、
請求項11に記載のリソース再設定方法。 - 前記仮想タイリング階層のタイリングサイズに基づいて関連リソースのタイリングサイズを変換するステップは、
外部メモリ階層における深層ニューラルネットワークパラメータデータを複数のタイルに分割してロードするスクラッチパッドメモリ階層、前記スクラッチパッドメモリ階層のタイリングされた深層ニューラルネットワークパラメータデータをロードするレジスタファイルメモリ階層、および前記レジスタファイルメモリ階層にロードされた深層ニューラルネットワークパラメータデータに対する推論演算を処理する複数のコアの少なくとも1つを含む前記関連リソースのタイリングサイズを変換する、
請求項11に記載のリソース再設定方法。 - 前記仮想タイリング階層を提供する前記仮想タイリングレジスタは、前記スクラッチパッドメモリ階層と前記レジスタファイルメモリ階層との間に追加され、
前記仮想タイリング階層のタイリングサイズに基づいて関連リソースのタイリングサイズを変換するステップは、
前記仮想タイリング階層のタイリングサイズがN(Nは2以上の自然数)個に決定される場合、前記複数のコアのうち1/N個のコアが前記関連リソースのタイリングサイズに変換されて前記ループを行うためのリソースに割当てられるものである、
請求項13に記載のリソース再設定方法。 - 前記仮想タイリング階層を提供する前記仮想タイリングレジスタは、前記外部メモリ階層と前記スクラッチパッドメモリ階層との間に追加され、
前記仮想タイリング階層のタイリングサイズに基づいて関連リソースのタイリングサイズを変換するステップは、
前記タイリングサイズがN(Nは2以上の自然数)個に決定される場合、前記スクラッチパッドメモリ階層のうち1/Nが前記関連リソースのタイリングサイズに変換されて前記ループを行うためのリソースに割当てられるものである、
請求項13に記載のリソース再設定方法。 - リソース再設定システムであって、
スクラッチパッドメモリ階層、レジスタファイルメモリ階層、およびコアの少なくとも1つを含む関連リソースと、仮想タイリングレジスタの値に基づいてタイリングサイズが設定される仮想タイリング階層を提供する前記仮想タイリングレジスタとを含む深層ニューラルネットワーク加速器と、
前記深層ニューラルネットワーク加速器の推論実行中に前記仮想タイリングレジスタの値を設定して関連リソースの活性化の有無を決定するホストシステムと、
を含む、リソース再設定システム。 - 前記関連リソースの使用量は、前記仮想タイリング階層のタイリングサイズに基づいて調整される、
請求項16に記載のリソース再設定システム。 - 前記仮想タイリング階層を提供する前記仮想タイリングレジスタは、前記関連リソースとの階層構造において任意の位置に追加され、前記設定されたタイリングサイズに相応するように、階層構造からタイリングされたデータをロードする、
請求項16に記載のリソース再設定システム。 - 前記ホストシステムは、ソフトウェアインターフェースを介して前記仮想タイリング階層の位置を設定する、
請求項16に記載のリソース再設定システム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210137558 | 2021-10-15 | ||
KR10-2021-0137558 | 2021-10-15 | ||
KR1020220092237A KR20230054259A (ko) | 2021-10-15 | 2022-07-26 | 자원 재설정 가능한 심층신경망 가속기, 시스템 및 방법 |
KR10-2022-0092237 | 2022-07-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023059847A JP2023059847A (ja) | 2023-04-27 |
JP7461433B2 true JP7461433B2 (ja) | 2024-04-03 |
Family
ID=83594379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022163999A Active JP7461433B2 (ja) | 2021-10-15 | 2022-10-12 | リソース再設定可能な深層ニューラルネットワーク加速器、システムおよび方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230121052A1 (ja) |
EP (1) | EP4167143A1 (ja) |
JP (1) | JP7461433B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017526055A (ja) | 2014-08-19 | 2017-09-07 | インテル・コーポレーション | グラフィックスプロセッサ実行リソースの動的スケーリング |
JP2022543331A (ja) | 2019-08-05 | 2022-10-12 | アーム・リミテッド | データ構造処理 |
JP2023518090A (ja) | 2020-03-24 | 2023-04-27 | 日本電気株式会社 | システム、方法およびプログラム |
-
2022
- 2022-10-04 EP EP22199478.3A patent/EP4167143A1/en active Pending
- 2022-10-12 JP JP2022163999A patent/JP7461433B2/ja active Active
- 2022-10-14 US US17/966,469 patent/US20230121052A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017526055A (ja) | 2014-08-19 | 2017-09-07 | インテル・コーポレーション | グラフィックスプロセッサ実行リソースの動的スケーリング |
JP2022543331A (ja) | 2019-08-05 | 2022-10-12 | アーム・リミテッド | データ構造処理 |
JP2023518090A (ja) | 2020-03-24 | 2023-04-27 | 日本電気株式会社 | システム、方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP4167143A1 (en) | 2023-04-19 |
US20230121052A1 (en) | 2023-04-20 |
JP2023059847A (ja) | 2023-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8375390B2 (en) | Scheduling method and scheduling apparatus | |
CN109669772B (zh) | 计算图的并行执行方法和设备 | |
US20110022817A1 (en) | Mapping Processing Logic Having Data-Parallel Threads Across Processors | |
US20160378568A1 (en) | Scriptable Dynamic Load Balancing in Computer Systems | |
US10725824B2 (en) | Thread associated memory allocation and memory architecture aware allocation | |
CN113590508B (zh) | 动态可重构的内存地址映射方法及装置 | |
CN111177984B (zh) | 电子设计自动化中异构计算单元的资源利用 | |
US11954419B2 (en) | Dynamic allocation of computing resources for electronic design automation operations | |
KR20210108749A (ko) | 가속기, 가속기의 동작 방법 및 이를 포함한 가속기 시스템 | |
US8954969B2 (en) | File system object node management | |
CN111666210A (zh) | 一种芯片验证方法及装置 | |
US8863060B2 (en) | Programmable intelligent storage architecture based on application and business requirements | |
US20210200584A1 (en) | Multi-processor system, multi-core processing device, and method of operating the same | |
CN111247512B (zh) | 用于统一内存访问的计算机系统 | |
JP7461433B2 (ja) | リソース再設定可能な深層ニューラルネットワーク加速器、システムおよび方法 | |
EP3401784A1 (en) | Multicore processing system | |
JP6156379B2 (ja) | スケジューリング装置、及び、スケジューリング方法 | |
KR20230054259A (ko) | 자원 재설정 가능한 심층신경망 가속기, 시스템 및 방법 | |
JP2023527770A (ja) | メモリにおける推論 | |
WO2021231848A1 (en) | System and method for creating on-demand virtual filesystem having virtual burst buffers created on the fly | |
KR20210157636A (ko) | 가속기, 가속기의 동작 방법 및 이를 포함한 가속기 시스템 | |
WO2018230444A1 (ja) | アクセラレータ制御装置、アクセラレータ制御方法、及び、アクセラレータ制御プログラムが格納された記録媒体 | |
Kim et al. | FusionFlow: Accelerating Data Preprocessing for Machine Learning with CPU-GPU Cooperation | |
JP6445876B2 (ja) | リソース割当装置、リソース割当システム、および、リソース割当方法 | |
Hollmann et al. | Invasive computing: an application assisted resource management approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231208 |
|
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: 20240305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240322 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7461433 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |