JP2014508982A - 異種処理デバイスの動的ワークパーティション - Google Patents
異種処理デバイスの動的ワークパーティション Download PDFInfo
- Publication number
- JP2014508982A JP2014508982A JP2013544627A JP2013544627A JP2014508982A JP 2014508982 A JP2014508982 A JP 2014508982A JP 2013544627 A JP2013544627 A JP 2013544627A JP 2013544627 A JP2013544627 A JP 2013544627A JP 2014508982 A JP2014508982 A JP 2014508982A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- apd
- task
- cpu
- dequeuing
- 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 96
- 238000005192 partition Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 53
- 239000013256 coordination polymer Substances 0.000 description 46
- 230000008569 process Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000000098 azimuthal photoelectron diffraction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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/5044—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 hardware capabilities
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Advance Control (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
- Multi Processors (AREA)
Abstract
【選択図】図1A
Description
struct MyTask {
MyPtr myCodePtr
myCPUCodePtr : pointer to code (x86 binary format)
myAPDCodePtr :
//Pointer to code (shader binary format)
MyPtr myDataPtr :
myExecRange:
//Global grid dimensions
//Local grid dimensions
myArgSize
myArgs {(variable size)}
MyNotification
//Pointer to notification mechanism
MyAffinity
//processing preference
}
Claims (23)
- 異種の処理デバイスにおいてワークロードのバランスをとるための方法であって、
ある種類のプロセッサの記憶装置に対して、別の種類のプロセッサに関連するデキューイング実体がアクセスするステップと、
前記別の種類のプロセッサによって処理可能なタスクを、前記記憶装置内の複数のタスクから識別するステップと、
前記記憶装置にアクセス可能な複数のデキューイング実体を同期するステップと、
前記記憶装置から前記タスクを取り出すステップと、
を含む、方法。 - 前記アクセスするステップは、前記別の種類のプロセッサからの要求に応じて行われる、
請求項1に記載の方法。 - 前記プロセッサは、中央処置装置(CPU)およびアクセラレーテッドプロセッシングデバイス(APD)を含む、
請求項1に記載の方法。 - 前記APDに関連する前記デキューイング実体は、ハードウェアデバイスである、
請求項3に記載の方法。 - 前記CPUに関連する前記デキューイング実体は、ソフトウェアモジュールである、
請求項3に記載の方法。 - 前記識別するステップは、タスクパラメータにアクセスするステップを含む、
請求項1に記載の方法。 - 前記記憶装置はキューである、
請求項1に記載の方法。 - 前記デキューイング実体が取り出すタスクの数は、前記プロセッサの種類に関連している、
請求項1に記載の方法。 - 異種の処理デバイスにおいてワークロードのバランスをとるためのシステムであって、
複数のタスクを記憶するように構成されたある種類のプロセッサに関連する記憶装置と、
別の種類のプロセッサに関連するデキューイング実体であって、前記別の種類のプロセッサによって処理可能なタスクを、前記複数のタスクから識別するように構成されたデキューイング実体と、
前記デキューイング実体が前記タスクを前記記憶装置から取り出す場合に、前記複数のデキューイング実体を同期するように構成された同期化構成要素と、
を含む、システム。 - 前記アクセスは、前記別の種類のプロセッサからの要求に応じて行われる、
請求項9に記載のシステム。 - 前記プロセッサは、中央処理装置(CPU)およびアクセラレーテッドプロセッシングデバイス(APD)を含む、
請求項9に記載のシステム。 - 前記APDに関連するデキューイング実体は、ハードウェアデバイスである、
請求項9に記載のシステム。 - 前記識別は、タスクパラメータにアクセスすることを含む、
請求項9に記載のシステム。 - 前記記憶装置はキューである、
請求項9に記載のシステム。 - 前記デキューイング実体が取り出すタスクの数は、前記プロセッサの種類に関連している、
請求項9に記載のシステム。 - コンピュータ可読媒体を含む製品であって、前記コンピュータ可読媒体に記憶される命令を有し、前記命令が処理デバイスにより実行されると、
ある種類のプロセッサの記憶装置に、別の種類のプロセッサに関連するデキューイング実体がアクセスすることと、
前記別の種類のプロセッサによって処理可能なタスクを、前記記憶装置内の複数のタスクから識別することと、
前記記憶装置にアクセス可能な複数のデキューイング実体を同期することと、
前記記憶装置から前記タスクを取り出すことと、
を前記処理デバイスに行わせることにより、前記処理デバイスに、異種の処理デバイスにおいてワークロードのバランスをとらせる、
製品。 - 前記アクセスは、前記別の種類のプロセッサからの要求に応じて行われる、
請求項16に記載の製品。 - 前記プロセッサは、中央処理装置(CPU)およびアクセラレーテッドプロセッシングデバイス(APD)を含む、
請求項16に記載の製品。 - APDに関連する前記デキューイング実体は、ハードウェアデバイスである、
請求項16に記載の製品。 - 命令が記憶されたコンピュータ可読媒体であって、前記命令がコンピューティングデバイスにより実行されると、
キューの分析に応じて、ある種類のプロセッサの記憶装置に、別の種類のプロセッサに関連するデキューイング実体がアクセスすることと、
前記別の種類のプロセッサによって処理可能なタスクを、前記記憶装置内の複数のタスクから識別することと、
前記記憶装置にアクセス可能な複数のデキューイング実体を同期することと、
前記記憶装置から前記タスクを取り出すことと、
を、前記コンピュータデバイスに実行させる、
コンピュータ可読媒体。 - 前記アクセスは、前記別の種類のプロセッサからの要求に応じて行われる、
請求項20に記載のコンピュータ可読媒体。 - 前記プロセッサは、中央処理装置(CPU)およびアクセラレーテッドプロセッシングデバイス(APD)を含む、
請求項20に記載のコンピュータ可読媒体。 - APDに関連する前記デキューイング実体は、ハードウェアデバイスである、
請求項20に記載のコンピュータ可読媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42346510P | 2010-12-15 | 2010-12-15 | |
US61/423,465 | 2010-12-15 | ||
US13/287,418 | 2011-11-02 | ||
US13/287,418 US9645854B2 (en) | 2010-12-15 | 2011-11-02 | Dynamic work partitioning on heterogeneous processing devices |
PCT/US2011/064172 WO2012082557A2 (en) | 2010-12-15 | 2011-12-09 | Dynamic work partitioning on heterogeneous processing devices |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014508982A true JP2014508982A (ja) | 2014-04-10 |
JP2014508982A5 JP2014508982A5 (ja) | 2015-01-29 |
JP6373586B2 JP6373586B2 (ja) | 2018-08-15 |
Family
ID=46245295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013544627A Active JP6373586B2 (ja) | 2010-12-15 | 2011-12-09 | 異種処理デバイスの動的ワークパーティション |
Country Status (6)
Country | Link |
---|---|
US (1) | US9645854B2 (ja) |
EP (1) | EP2652617B1 (ja) |
JP (1) | JP6373586B2 (ja) |
KR (1) | KR101961396B1 (ja) |
CN (1) | CN103608776B (ja) |
WO (1) | WO2012082557A2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012052774A2 (en) * | 2010-10-21 | 2012-04-26 | Bluwireless Technology Limited | Data processing units |
US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US20130145202A1 (en) * | 2011-12-06 | 2013-06-06 | Advanced Micro Devices, Inc. | Handling Virtual-to-Physical Address Translation Failures |
US20130141446A1 (en) * | 2011-12-06 | 2013-06-06 | Advanced Micro Devices, Inc. | Method and Apparatus for Servicing Page Fault Exceptions |
US8842122B2 (en) * | 2011-12-15 | 2014-09-23 | Qualcomm Incorporated | Graphics processing unit with command processor |
EP2972907B1 (en) * | 2013-03-15 | 2019-09-25 | Intel Corporation | Work stealing in heterogeneous computing systems |
US10360652B2 (en) * | 2014-06-13 | 2019-07-23 | Advanced Micro Devices, Inc. | Wavefront resource virtualization |
US9959142B2 (en) * | 2014-06-17 | 2018-05-01 | Mediatek Inc. | Dynamic task scheduling method for dispatching sub-tasks to computing devices of heterogeneous computing system and related computer readable medium |
US9678806B2 (en) * | 2015-06-26 | 2017-06-13 | Advanced Micro Devices, Inc. | Method and apparatus for distributing processing core workloads among processing cores |
US9703605B2 (en) * | 2015-09-04 | 2017-07-11 | Mediatek, Inc. | Fine-grained heterogeneous computing |
US10528613B2 (en) * | 2015-11-23 | 2020-01-07 | Advanced Micro Devices, Inc. | Method and apparatus for performing a parallel search operation |
US10223436B2 (en) * | 2016-04-27 | 2019-03-05 | Qualcomm Incorporated | Inter-subgroup data sharing |
US10725667B2 (en) | 2017-01-19 | 2020-07-28 | Seoul National University R&Db Foundation | Method of transferring data in parallel system, and parallel system for performing the same |
KR102066212B1 (ko) * | 2017-01-19 | 2020-01-14 | 서울대학교산학협력단 | 병렬 시스템에서의 데이터 복사 방법 및 이를 수행하기 위한 병렬 시스템 |
US10990436B2 (en) * | 2018-01-24 | 2021-04-27 | Dell Products L.P. | System and method to handle I/O page faults in an I/O memory management unit |
US10908940B1 (en) * | 2018-02-26 | 2021-02-02 | Amazon Technologies, Inc. | Dynamically managed virtual server system |
US11720408B2 (en) * | 2018-05-08 | 2023-08-08 | Vmware, Inc. | Method and system for assigning a virtual machine in virtual GPU enabled systems |
US10963300B2 (en) | 2018-12-06 | 2021-03-30 | Raytheon Company | Accelerating dataflow signal processing applications across heterogeneous CPU/GPU systems |
US11340942B2 (en) * | 2020-03-19 | 2022-05-24 | Raytheon Company | Cooperative work-stealing scheduler |
KR102441045B1 (ko) * | 2020-12-14 | 2022-09-05 | 현대오토에버 주식회사 | 멀티 코어 구조의 전자 제어 유닛에서 수행되는 방법, 그리고 이를 구현하기 위한 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1055284A (ja) * | 1996-05-06 | 1998-02-24 | Sun Microsyst Inc | スレッドをスケジュールする方法及びそのシステム |
JP2003167726A (ja) * | 2001-11-22 | 2003-06-13 | Univ Of Washington | コプロセッサ装置およびデータ転送を容易にするための方法 |
JP2009510613A (ja) * | 2005-09-27 | 2009-03-12 | 株式会社ソニー・コンピュータエンタテインメント | セルプロセッサのためのspuタスクマネージャ |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7233998B2 (en) * | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US7167916B2 (en) * | 2002-08-30 | 2007-01-23 | Unisys Corporation | Computer OS dispatcher operation with virtual switching queue and IP queues |
US7159221B1 (en) | 2002-08-30 | 2007-01-02 | Unisys Corporation | Computer OS dispatcher operation with user controllable dedication |
US7015915B1 (en) * | 2003-08-12 | 2006-03-21 | Nvidia Corporation | Programming multiple chips from a command buffer |
US7650601B2 (en) * | 2003-12-04 | 2010-01-19 | International Business Machines Corporation | Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment |
US7898545B1 (en) * | 2004-12-14 | 2011-03-01 | Nvidia Corporation | Apparatus, system, and method for integrated heterogeneous processors |
US8149242B2 (en) * | 2006-11-10 | 2012-04-03 | Sony Computer Entertainment Inc. | Graphics processing apparatus, graphics library module and graphics processing method |
US8286196B2 (en) | 2007-05-03 | 2012-10-09 | Apple Inc. | Parallel runtime execution on multiple processors |
CN101706741B (zh) | 2009-12-11 | 2012-10-24 | 中国人民解放军国防科学技术大学 | 一种基于负载平衡的cpu和gpu两级动态任务划分方法 |
US8819690B2 (en) * | 2009-12-30 | 2014-08-26 | International Business Machines Corporation | System for reducing data transfer latency to a global queue by generating bit mask to identify selected processing nodes/units in multi-node data processing system |
-
2011
- 2011-11-02 US US13/287,418 patent/US9645854B2/en active Active
- 2011-12-09 KR KR1020137017356A patent/KR101961396B1/ko active IP Right Grant
- 2011-12-09 CN CN201180060199.1A patent/CN103608776B/zh active Active
- 2011-12-09 WO PCT/US2011/064172 patent/WO2012082557A2/en active Application Filing
- 2011-12-09 JP JP2013544627A patent/JP6373586B2/ja active Active
- 2011-12-09 EP EP11848733.9A patent/EP2652617B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1055284A (ja) * | 1996-05-06 | 1998-02-24 | Sun Microsyst Inc | スレッドをスケジュールする方法及びそのシステム |
JP2003167726A (ja) * | 2001-11-22 | 2003-06-13 | Univ Of Washington | コプロセッサ装置およびデータ転送を容易にするための方法 |
JP2009510613A (ja) * | 2005-09-27 | 2009-03-12 | 株式会社ソニー・コンピュータエンタテインメント | セルプロセッサのためのspuタスクマネージャ |
Also Published As
Publication number | Publication date |
---|---|
CN103608776B (zh) | 2017-09-05 |
EP2652617A2 (en) | 2013-10-23 |
WO2012082557A3 (en) | 2013-12-27 |
US20120192201A1 (en) | 2012-07-26 |
KR101961396B1 (ko) | 2019-03-22 |
CN103608776A (zh) | 2014-02-26 |
US9645854B2 (en) | 2017-05-09 |
KR20130127480A (ko) | 2013-11-22 |
WO2012082557A2 (en) | 2012-06-21 |
EP2652617B1 (en) | 2019-10-09 |
EP2652617A4 (en) | 2017-06-14 |
JP6373586B2 (ja) | 2018-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6373586B2 (ja) | 異種処理デバイスの動的ワークパーティション | |
JP6381734B2 (ja) | グラフィックス計算プロセススケジューリング | |
JP6228459B2 (ja) | システムコール要求の通信の最適化 | |
EP2652614B1 (en) | Graphics processing dispatch from user mode | |
US20120179851A1 (en) | Computer System Interrupt Handling | |
US20120229481A1 (en) | Accessibility of graphics processing compute resources | |
US10146575B2 (en) | Heterogeneous enqueuing and dequeuing mechanism for task scheduling | |
JP5805783B2 (ja) | コンピュータシステムインタラプト処理 | |
US20120194526A1 (en) | Task Scheduling | |
JP2014503898A (ja) | 処理装置の同期動作のための方法およびシステム | |
WO2012082777A1 (en) | Managed task scheduling on an accelerated processing device (apd) | |
US20130155074A1 (en) | Syscall mechanism for processor to processor calls |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141208 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160425 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160920 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170118 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20170207 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20170224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180309 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180718 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6373586 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |