JP7003251B2 - 動的なリソース割り当てによるウェーブ生成制御 - Google Patents
動的なリソース割り当てによるウェーブ生成制御 Download PDFInfo
- Publication number
- JP7003251B2 JP7003251B2 JP2020523297A JP2020523297A JP7003251B2 JP 7003251 B2 JP7003251 B2 JP 7003251B2 JP 2020523297 A JP2020523297 A JP 2020523297A JP 2020523297 A JP2020523297 A JP 2020523297A JP 7003251 B2 JP7003251 B2 JP 7003251B2
- Authority
- JP
- Japan
- Prior art keywords
- wave
- resource allocation
- waves
- footprint
- average
- 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
Images
Classifications
-
- 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/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
- G06F9/505—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 considering the load
-
- 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
- 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/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
- Mobile Radio Communication Systems (AREA)
- Advance Control (AREA)
Description
Claims (20)
- マルチスレッドプロセッサのプロセッサコアによって共有されているリソース内のウェーブのリソース割り当てを、前記プロセッサコアで実行されているウェーブと同時に測定することと、
前記マルチスレッドプロセッサにおいて、前記リソース割り当てを時間間隔に亘って平均化することと、
前記マルチスレッドプロセッサにおいて、前記リソース割り当ての平均に基づいていくつかのウェーブを生成することと、前記マルチスレッドプロセッサで実行するために前記生成されたウェーブをディスパッチすることと、を含む、
方法。 - 前記ウェーブのリソース割り当てを測定することは、前記ウェーブの生成、前記ウェーブへのリソース割り当て、前記ウェーブからのリソース割り当て解除のうち少なくとも1つに対応する時間で、又は、所定の実行サイクル数に対応する時間間隔で、前記ウェーブのリソース割り当てを測定することを含む、
請求項1の方法。 - 前記リソース割り当てを測定することは、前記ウェーブが前記プロセッサコアで実行されている間に、前記ウェーブの最大リソース割り当てを測定することを含む、
請求項1の方法。 - 前記リソース内のウェーブのリソース割り当てを測定することは、基準時間に対するトレーリング期間の間に前記リソース内のウェーブのリソース割り当てを測定することを含む、
請求項1の方法。 - 前記リソース割り当てを時間間隔に亘って平均化することは、前記トレーリング期間に亘って前記リソース割り当ての移動平均を生成することを含む、
請求項4の方法。 - 前記いくつかのウェーブを生成することは、前記トレーリング期間に亘る前記リソース割り当ての移動平均に基づいて、前記基準時間後の前記いくつかのウェーブを生成することを含む、
請求項5の方法。 - 以前のトレーリング期間における以前の移動平均に対する前記移動平均の変化に応じて、実行のためにディスパッチされるウェーブの数を変更することをさらに含む、
請求項6の方法。 - 前記リソース割り当てを平均化することは、前記ウェーブの複数のサブセットに対する複数のリソース割り当ての平均を生成することを含み、
前記いくつかのウェーブを生成することは、前記複数のリソース割り当ての平均に基づいて決定された数のウェーブを生成することを含む、
請求項1の方法。 - 前記ウェーブの複数のサブセットは、単一命令複数データ操作を含む前記ウェーブのサブセット、実行を完了したウェーブのサブセット、及び、前記ウェーブを実行するシェーダのタイプに対応するウェーブのサブセットのうち少なくとも1つを含む、
請求項8の方法。 - 複数のプロセッサコアと、
前記複数のプロセッサコアによって実行されるいくつかのウェーブを生成するように構成されたコントローラであって、前記生成されるウェーブの数は、前記複数のプロセッサコアで実行されているウェーブによって共有されるリソース内のウェーブの測定されたリソース割り当ての平均値を使用して決定される、コントローラと、を備える、
処理システム。 - 前記ウェーブのリソース割り当ては、前記ウェーブの生成、前記ウェーブへのリソース割り当て、前記ウェーブからのリソース割り当て解除のうち少なくとも1つに対応する時間で、又は、所定の実行サイクル数に対応する時間間隔で測定される、
請求項10の処理システム。 - 前記測定されたリソース割り当ては、前記ウェーブが前記複数のプロセッサコアで実行されている間に測定された前記ウェーブの最大リソース割り当てである、
請求項10の処理システム。 - 前記ウェーブのリソース割り当ては、基準時間に対するトレーリング期間の間に測定される、
請求項10の処理システム。 - 前記ウェーブの測定されたリソース割り当ての平均値は、前記トレーリング期間に亘る前記測定されたリソース割り当ての移動平均である、
請求項13の処理システム。 - 前記コントローラは、前記トレーリング期間に亘る前記測定されたリソース割り当ての移動平均に基づいて、前記基準時間後の前記いくつかのウェーブを生成するように構成されている、
請求項14の処理システム。 - 前記コントローラは、以前のトレーリング期間に亘る以前の移動平均に対する前記移動平均の変化に応じて、実行のためにディスパッチされるウェーブの数を変更するように構成されている、
請求項15の処理システム。 - 前記測定されたリソース割り当ての平均値は、前記ウェーブの複数のサブセットに対する測定されたリソース割り当ての複数の平均値を含み、
前記コントローラは、前記測定されたリソース割り当ての複数の平均値に基づいて決定された数のウェーブを生成するように構成されている、
請求項10の処理システム。 - 前記ウェーブの複数のサブセットは、単一命令複数データ操作を含む前記ウェーブのサブセット、実行を完了したウェーブのサブセット、及び、前記ウェーブを実行するシェーダのタイプに対応するウェーブのサブセットのうち少なくとも1つを含む、
請求項17の処理システム。 - マルチスレッドプロセッサにおいて、前記プロセッサで実行されている間にウェーブによって共有されるリソース内の前記ウェーブのリソース割り当ての平均値に基づいて決定されるレートで、前記ウェーブを生成することと、
生成されたウェーブを、前記マルチスレッドプロセッサのプロセッサコアによる実行のためにディスパッチすることと、
前記マルチスレッドプロセッサにおいて、前記ウェーブのリソース割り当ての平均値の変化に応じて、前記ウェーブの生成レートを変更することと、を含む、
方法。 - 前記ウェーブの生成レートを変更することは、前記ウェーブのリソース割り当ての平均値の減少に応じて前記ウェーブの生成レートを増加させることと、前記ウェーブのリソース割り当ての平均値の増加に応じて前記ウェーブの生成レートを減少させることと、を含む、
請求項19の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/794,593 | 2017-10-26 | ||
US15/794,593 US10558499B2 (en) | 2017-10-26 | 2017-10-26 | Wave creation control with dynamic resource allocation |
PCT/US2018/052840 WO2019083672A1 (en) | 2017-10-26 | 2018-09-26 | WAVE CREATION CONTROL WITH DYNAMIC RESOURCE ALLOCATION |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021501409A JP2021501409A (ja) | 2021-01-14 |
JP2021501409A5 JP2021501409A5 (ja) | 2021-11-04 |
JP7003251B2 true JP7003251B2 (ja) | 2022-01-20 |
Family
ID=66242957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020523297A Active JP7003251B2 (ja) | 2017-10-26 | 2018-09-26 | 動的なリソース割り当てによるウェーブ生成制御 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10558499B2 (ja) |
EP (1) | EP3701376A4 (ja) |
JP (1) | JP7003251B2 (ja) |
KR (1) | KR102442080B1 (ja) |
CN (1) | CN111316239B (ja) |
WO (1) | WO2019083672A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020038434A (ja) * | 2018-09-03 | 2020-03-12 | 日本電信電話株式会社 | リソース割当装置、リソース割当方法およびリソース割当プログラム |
US11508124B2 (en) * | 2020-12-15 | 2022-11-22 | Advanced Micro Devices, Inc. | Throttling hull shaders based on tessellation factors in a graphics pipeline |
US11776085B2 (en) | 2020-12-16 | 2023-10-03 | Advanced Micro Devices, Inc. | Throttling shaders based on resource usage in a graphics pipeline |
US11710207B2 (en) | 2021-03-30 | 2023-07-25 | Advanced Micro Devices, Inc. | Wave throttling based on a parameter buffer |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064687A1 (en) | 2004-09-23 | 2006-03-23 | Jan Dostert | Thread-level resource usage measurement |
US20100083273A1 (en) | 2008-09-26 | 2010-04-01 | Sihn Kue-Hwan | Method and memory manager for managing memory |
US20120066683A1 (en) | 2010-09-09 | 2012-03-15 | Srinath Nadig S | Balanced thread creation and task allocation |
US20120131593A1 (en) | 2010-11-18 | 2012-05-24 | Fujitsu Limited | System and method for computing workload metadata generation, analysis, and utilization |
US20130283280A1 (en) | 2012-04-20 | 2013-10-24 | Qualcomm Incorporated | Method to reduce multi-threaded processor power consumption |
WO2016182636A1 (en) | 2015-05-13 | 2016-11-17 | Advanced Micro Devices, Inc. | System and method for determining concurrency factors for dispatch size of parallel processor kernels |
WO2017116517A1 (en) | 2015-12-28 | 2017-07-06 | Advanced Micro Devices, Inc. | Data driven scheduler on multiple computing cores |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7657893B2 (en) | 2003-04-23 | 2010-02-02 | International Business Machines Corporation | Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor |
US7461376B2 (en) | 2003-11-18 | 2008-12-02 | Unisys Corporation | Dynamic resource management system and method for multiprocessor systems |
US7653905B1 (en) * | 2004-09-08 | 2010-01-26 | American Express Travel Related Services Company, Inc. | System and method for management of requests |
CN100495346C (zh) * | 2006-08-21 | 2009-06-03 | 英业达股份有限公司 | 多核多中央处理器的执行线程分配方法 |
US8528001B2 (en) | 2008-12-15 | 2013-09-03 | Oracle America, Inc. | Controlling and dynamically varying automatic parallelization |
US20110055838A1 (en) * | 2009-08-28 | 2011-03-03 | Moyes William A | Optimized thread scheduling via hardware performance monitoring |
US8103769B1 (en) | 2009-09-03 | 2012-01-24 | Amazon Technologies, Inc. | Dynamic isolation of shared resources |
JP2013541748A (ja) * | 2010-07-19 | 2013-11-14 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 多重処理ユニット内のオンチップメモリを用いるデータ処理 |
US8977677B2 (en) * | 2010-12-01 | 2015-03-10 | Microsoft Technology Licensing, Llc | Throttling usage of resources |
CN102929725B (zh) * | 2012-11-12 | 2015-07-08 | 中国人民解放军海军工程大学 | 信号处理并行计算软件的动态重配置方法 |
US9223674B2 (en) | 2013-03-11 | 2015-12-29 | Wisconsin Alumni Research Foundation | Computer system and method for runtime control of parallelism in program execution |
JP6263981B2 (ja) * | 2013-11-20 | 2018-01-24 | 株式会社リコー | 情報処理装置、情報処理装置の起動方法、及び、プログラム |
US9652262B2 (en) * | 2014-10-09 | 2017-05-16 | The Regents Of The University Of Michigan | Operation parameter control based upon queued instruction characteristics |
US9898348B2 (en) * | 2014-10-22 | 2018-02-20 | International Business Machines Corporation | Resource mapping in multi-threaded central processor units |
US10509677B2 (en) * | 2015-09-30 | 2019-12-17 | Lenova (Singapore) Pte. Ltd. | Granular quality of service for computing resources |
CN105653243B (zh) * | 2015-12-23 | 2018-03-30 | 北京大学 | 一种通用图形处理器多任务并发执行的任务派发方法 |
CN106126336B (zh) * | 2016-06-17 | 2019-06-04 | 上海兆芯集成电路有限公司 | 处理器以及调度方法 |
-
2017
- 2017-10-26 US US15/794,593 patent/US10558499B2/en active Active
-
2018
- 2018-09-26 CN CN201880069784.XA patent/CN111316239B/zh active Active
- 2018-09-26 EP EP18869738.7A patent/EP3701376A4/en active Pending
- 2018-09-26 JP JP2020523297A patent/JP7003251B2/ja active Active
- 2018-09-26 WO PCT/US2018/052840 patent/WO2019083672A1/en unknown
- 2018-09-26 KR KR1020207013988A patent/KR102442080B1/ko active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064687A1 (en) | 2004-09-23 | 2006-03-23 | Jan Dostert | Thread-level resource usage measurement |
US20100083273A1 (en) | 2008-09-26 | 2010-04-01 | Sihn Kue-Hwan | Method and memory manager for managing memory |
US20120066683A1 (en) | 2010-09-09 | 2012-03-15 | Srinath Nadig S | Balanced thread creation and task allocation |
US20120131593A1 (en) | 2010-11-18 | 2012-05-24 | Fujitsu Limited | System and method for computing workload metadata generation, analysis, and utilization |
US20130283280A1 (en) | 2012-04-20 | 2013-10-24 | Qualcomm Incorporated | Method to reduce multi-threaded processor power consumption |
WO2016182636A1 (en) | 2015-05-13 | 2016-11-17 | Advanced Micro Devices, Inc. | System and method for determining concurrency factors for dispatch size of parallel processor kernels |
WO2017116517A1 (en) | 2015-12-28 | 2017-07-06 | Advanced Micro Devices, Inc. | Data driven scheduler on multiple computing cores |
Also Published As
Publication number | Publication date |
---|---|
US10558499B2 (en) | 2020-02-11 |
KR20200063238A (ko) | 2020-06-04 |
WO2019083672A1 (en) | 2019-05-02 |
JP2021501409A (ja) | 2021-01-14 |
EP3701376A4 (en) | 2021-07-21 |
US20190129756A1 (en) | 2019-05-02 |
EP3701376A1 (en) | 2020-09-02 |
CN111316239A (zh) | 2020-06-19 |
KR102442080B1 (ko) | 2022-09-08 |
CN111316239B (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7003251B2 (ja) | 動的なリソース割り当てによるウェーブ生成制御 | |
KR101091374B1 (ko) | 테셀레이션을 단일 패스로 수행하기 위한 방법 및 시스템 | |
US9286647B2 (en) | Pixel shader bypass for low power graphics rendering | |
US9418616B2 (en) | Technique for storing shared vertices | |
US11532066B2 (en) | Reduced bandwidth tessellation factors | |
US20230169728A1 (en) | Throttling hull shaders based on tessellation factors in a graphics pipeline | |
US11609791B2 (en) | Precise suspend and resume of workloads in a processing unit | |
US9406101B2 (en) | Technique for improving the performance of a tessellation pipeline | |
US9111360B2 (en) | Technique for improving the performance of a tessellation pipeline | |
US20230205698A1 (en) | Cache blocking for dispatches | |
KR20230125232A (ko) | 그래픽 파이프라인에서 자원 사용에 기초한 셰이더스로틀링 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210927 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210927 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211026 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211117 |
|
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: 20211130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7003251 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |