JP2022544739A - 伝搬レイテンシの短縮 - Google Patents
伝搬レイテンシの短縮 Download PDFInfo
- Publication number
- JP2022544739A JP2022544739A JP2021577625A JP2021577625A JP2022544739A JP 2022544739 A JP2022544739 A JP 2022544739A JP 2021577625 A JP2021577625 A JP 2021577625A JP 2021577625 A JP2021577625 A JP 2021577625A JP 2022544739 A JP2022544739 A JP 2022544739A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- layer
- tile
- cycle
- tiles
- 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
- 239000011159 matrix material Substances 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims description 76
- 238000004590 computer program Methods 0.000 abstract description 15
- 238000004891 communication Methods 0.000 description 39
- 230000015654 memory Effects 0.000 description 33
- 238000012546 transfer Methods 0.000 description 20
- 230000004913 activation Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000010801 machine learning Methods 0.000 description 10
- 238000003491 array Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000007 visual effect 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/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Neurology (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Multi Processors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
Description
Wi×Hi≧Li-1+LiWi
はブロック数で表現したマトリクスの幅であり、Hiはブロック数で表現したマトリクスの高さである。ブロックサイズはタイルのハードウェアによって決定され得る。
Wi×Hi≧max(Li-1-Si-1,0)+max(Li-Si,0)。
Ti=max(Li-1-Si-1,0)
Wi×Hi-max(Li-Si,0)≧0
かつ
Si-1≧Li-1+max(Li-Si,0)-Wi×Hi
マトリクス演算を少なくとも部分的に並列で実行するように構成されたアクセラレータによって実行されるプログラムの最初の層に対するスケジュールを生成するようにとの要求を受け取るステップであって、プログラムが、最初の層を含む複数の層を定義し、プログラムの各層が、値のそれぞれのマトリクスを使用して実行されるマトリクス演算を定義する、ステップと、
初期の割り当て方向に従って、スケジュールの複数の初期のブロックを割り当てるステップであって、初期の割り当て方向が、複数の初期のブロックが実行される最初の層に対する最初のマトリクスの最初の次元を指定する、ステップと、
次の層の処理を開始する前に必要な、マトリクスの最後のブロックの処理のために、特定のサイクルを選択するステップと、
選択された特定のサイクルの後に処理されるブロックが、最初のマトリクスの別の第2の次元に沿って処理されるように、割り当て方向を切り換えるステップと、
切り換えられた割り当て方向に従って、残るすべての割り当てられていないブロックを割り当てるステップと
を含む方法である。
前の層の伝搬レイテンシを計算するステップと、
前の層の伝搬レイテンシに基づいて特定のサイクルを割り当てるステップと
を含む、方法である。
前の層の伝搬レイテンシを計算するステップと、
前の層のアイドルサイクル数を計算するステップと、
前の層の伝搬レイテンシと前の層のアイドルサイクル数との間の最大値を選択するステップと
を含む、方法である。
104 第2の層
106 第1のスケジュール
107 第1のスケジュール
108 第2のスケジュール
109 第2のスケジュール
110 第1の重みマトリクス
111 マトリクス
115 入力ベクトル
117 出力ベクトル
119 出力ベクトル
120 第2の重みマトリクス
121 マトリクス
500 ASIC
501 第1の次元
502 タイル
503 第2の次元
504 ベクトル処理ユニット
506 セグメント
508 通信インターフェース
508a 通信インターフェース
508b 通信インターフェース
510a セクション
510b セクション
510c セクション
510d セクション
600 タイル
602 ローカルメモリ
604 計算配列
606 セル
610a バスライン
610b バスライン
610c バスライン
610d バスライン
620 部分和バスライン
620a 部分和
620b 部分和
621 制御要素
Claims (12)
- マトリクス演算を少なくとも部分的に並列で実行するように構成されたアクセラレータによって実行されるプログラムの最初の層に対するスケジュールを生成するようにとの要求を受け取るステップであって、前記プログラムが、前記最初の層を含む複数の層を定義し、前記プログラムの各層が、値のそれぞれのマトリクスを使用して実行されるマトリクス演算を定義する、ステップと、
初期の割り当て方向に従って、前記スケジュールの複数の初期のブロックを割り当てるステップであって、前記初期の割り当て方向が、前記複数の初期のブロックが実行される前記最初の層に対する最初のマトリクスの最初の次元を指定する、ステップと、
次の層の処理を開始する前に必要な、マトリクスの最後のブロックの処理のために、特定のサイクルを選択するステップと、
前記選択された特定のサイクルの後に処理されるブロックが、前記最初のマトリクスの別の第2の次元に沿って処理されるように、前記割り当て方向を切り換えるステップと、
前記切り換えられた割り当て方向に従って、残るすべての割り当てられていないブロックを割り当てるステップと
を含むコンピュータ実施方法。 - 前記特定のサイクルを選択するステップが、
前の層の前記伝搬レイテンシを計算するステップと、
前記前の層の前記伝搬レイテンシに基づいて前記特定のサイクルを割り当てるステップと
を含む、請求項1に記載の方法。 - 前記特定のサイクルを選択するステップが、
前の層の前記伝搬レイテンシを計算するステップと、
前記前の層のアイドルサイクル数を計算するステップと、
前記前の層の前記伝搬レイテンシと前記前の層の前記アイドルサイクル数との間の最大値を選択するステップと
を含む、請求項1に記載の方法。 - 前記スケジュールが前記複数の初期のブロックを行優先順で割り当て、残るすべての割り当てられていないブロックを割り当てるステップが列優先順序でブロックを割り当てる、請求項1に記載の方法。
- スケジューリングされていない行の数が現在のサイクルと前記選択された特定のサイクルとの間の差に等しいサイクルを選択するステップを含む、前記割り当て方向を切り換えるサイクルを選択するステップをさらに含む、請求項4に記載の方法。
- 前記スケジュールが前記マトリクスの部分的な行のみに沿って前記複数の初期のブロックを割り当てる、請求項4に記載の方法。
- 前記スケジュールが、初期の複数の部分的な行と、前記初期の部分的な行よりも小さい後続の複数の部分的な行とを割り当てる、請求項6に記載の方法。
- 前記初期の部分的な行が、ceiling(N)によって与えられる長さを有し、前記後続の部分的な行が、floor(N)によって与えられる長さを有し、Nは、前記選択されたサイクルを前の層におけるマトリクスのブロック高さで割ることによって与えられる、請求項7に記載の方法。
- 前記スケジュールが、前記マトリクスの対角線によって定義された空間を満たすために、前記行優先順で前記初期のブロックを割り当てる、請求項4に記載の方法。
- 前記割り当て方向を切り換えるステップが前記特定の選択されたサイクルで生じる、請求項9に記載の方法。
- 前記アクセラレータが複数のタイルを有し、各層が前記複数のタイルのそれぞれのタイルによって計算される、請求項1に記載の方法。
- 前記アクセラレータが、両方の層の動作を実行する単一のタイルを有する、請求項1に記載の方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023126257A JP2023145676A (ja) | 2019-08-22 | 2023-08-02 | 伝搬レイテンシの短縮 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962890351P | 2019-08-22 | 2019-08-22 | |
US62/890,351 | 2019-08-22 | ||
PCT/US2020/047254 WO2021035079A1 (en) | 2019-08-22 | 2020-08-20 | Propagation latency reduction |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023126257A Division JP2023145676A (ja) | 2019-08-22 | 2023-08-02 | 伝搬レイテンシの短縮 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022544739A true JP2022544739A (ja) | 2022-10-21 |
JP7326501B2 JP7326501B2 (ja) | 2023-08-15 |
Family
ID=72428336
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021577625A Active JP7326501B2 (ja) | 2019-08-22 | 2020-08-20 | 伝搬レイテンシの短縮 |
JP2023126257A Pending JP2023145676A (ja) | 2019-08-22 | 2023-08-02 | 伝搬レイテンシの短縮 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023126257A Pending JP2023145676A (ja) | 2019-08-22 | 2023-08-02 | 伝搬レイテンシの短縮 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220318638A1 (ja) |
EP (1) | EP3973394A1 (ja) |
JP (2) | JP7326501B2 (ja) |
CN (1) | CN114026543A (ja) |
TW (2) | TWI817490B (ja) |
WO (1) | WO2021035079A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469631B (zh) * | 2021-09-03 | 2021-12-10 | 浙江凯乐士科技集团股份有限公司 | 拣选调度方法、设备及矩阵分拣系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190026078A1 (en) * | 2017-07-24 | 2019-01-24 | Tesla, Inc. | Accelerated mathematical engine |
WO2019078885A1 (en) * | 2017-10-20 | 2019-04-25 | Google Llc | PARALLEL EXECUTION OF OPERATIONS OF ACTIVATION UNITS WITH RELEASE |
JP2019079505A (ja) * | 2017-09-29 | 2019-05-23 | インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag | 畳み込みニューラルネットワーク計算スループットの加速化 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814297B2 (en) * | 2005-07-26 | 2010-10-12 | Arm Limited | Algebraic single instruction multiple data processing |
US8181003B2 (en) * | 2008-05-29 | 2012-05-15 | Axis Semiconductor, Inc. | Instruction set design, control and communication in programmable microprocessor cores and the like |
US8766666B2 (en) * | 2010-06-10 | 2014-07-01 | Micron Technology, Inc. | Programmable device, hierarchical parallel machines, and methods for providing state information |
US9378065B2 (en) * | 2013-03-15 | 2016-06-28 | Advanced Elemental Technologies, Inc. | Purposeful computing |
US9501325B2 (en) * | 2014-04-11 | 2016-11-22 | Maxeler Technologies Ltd. | System and method for shared utilization of virtualized computing resources |
CN107113719B (zh) * | 2014-10-08 | 2020-06-23 | 美国亚德诺半导体公司 | 可配置的预处理阵列器 |
CN107168683B (zh) * | 2017-05-05 | 2020-06-09 | 中国科学院软件研究所 | 申威26010众核cpu上gemm稠密矩阵乘高性能实现方法 |
CN108462495A (zh) * | 2018-04-03 | 2018-08-28 | 北京航空航天大学 | 一种基于gpu的多元ldpc码高速并行译码器及其译码方法 |
-
2020
- 2020-08-20 WO PCT/US2020/047254 patent/WO2021035079A1/en unknown
- 2020-08-20 US US17/636,662 patent/US20220318638A1/en active Pending
- 2020-08-20 CN CN202080047574.8A patent/CN114026543A/zh active Pending
- 2020-08-20 JP JP2021577625A patent/JP7326501B2/ja active Active
- 2020-08-20 EP EP20768427.5A patent/EP3973394A1/en active Pending
- 2020-08-21 TW TW111117324A patent/TWI817490B/zh active
- 2020-08-21 TW TW109128654A patent/TWI767303B/zh active
-
2023
- 2023-08-02 JP JP2023126257A patent/JP2023145676A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190026078A1 (en) * | 2017-07-24 | 2019-01-24 | Tesla, Inc. | Accelerated mathematical engine |
JP2019079505A (ja) * | 2017-09-29 | 2019-05-23 | インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag | 畳み込みニューラルネットワーク計算スループットの加速化 |
WO2019078885A1 (en) * | 2017-10-20 | 2019-04-25 | Google Llc | PARALLEL EXECUTION OF OPERATIONS OF ACTIVATION UNITS WITH RELEASE |
Also Published As
Publication number | Publication date |
---|---|
WO2021035079A1 (en) | 2021-02-25 |
TW202109341A (zh) | 2021-03-01 |
JP7326501B2 (ja) | 2023-08-15 |
TWI817490B (zh) | 2023-10-01 |
TWI767303B (zh) | 2022-06-11 |
EP3973394A1 (en) | 2022-03-30 |
JP2023145676A (ja) | 2023-10-11 |
CN114026543A (zh) | 2022-02-08 |
KR20220011740A (ko) | 2022-01-28 |
US20220318638A1 (en) | 2022-10-06 |
TW202301172A (zh) | 2023-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7071577B2 (ja) | ニューラルネットワークプロセッサで使用される重みのプリフェッチ | |
TWI767310B (zh) | 處理器、運算方法及電腦程式產品 | |
Yang et al. | UMR: A multi-round algorithm for scheduling divisible workloads | |
JP2018518730A (ja) | ニューラルネットワークプロセッサにおけるバッチ処理 | |
US20240104012A1 (en) | Topological scheduling | |
JP7476299B2 (ja) | 同期プロセッサのためのコンパイル | |
JP2023145676A (ja) | 伝搬レイテンシの短縮 | |
KR102670905B1 (ko) | 전파 지연 감소 | |
JP2024040198A (ja) | 同期プロセッサのためのシャーディング | |
US20220413721A1 (en) | Control of machine-learning systems | |
TW202316365A (zh) | 用於實施分組卷積之神經網路架構 | |
Hazari et al. | On the Use of Simple Electrical Circuit Techniques for Performance Modeling and Optimization in VLSI Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230324 |
|
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: 20230703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230802 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7326501 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |