JP6373586B2 - 異種処理デバイスの動的ワークパーティション - Google Patents
異種処理デバイスの動的ワークパーティション Download PDFInfo
- Publication number
- JP6373586B2 JP6373586B2 JP2013544627A JP2013544627A JP6373586B2 JP 6373586 B2 JP6373586 B2 JP 6373586B2 JP 2013544627 A JP2013544627 A JP 2013544627A JP 2013544627 A JP2013544627 A JP 2013544627A JP 6373586 B2 JP6373586 B2 JP 6373586B2
- Authority
- JP
- Japan
- Prior art keywords
- processors
- module
- dequeuing
- tasks
- task
- 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
- 238000012545 processing Methods 0.000 title claims description 106
- 238000005192 partition Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims description 51
- 230000001419 dependent effect Effects 0.000 claims description 6
- 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
- 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)
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 (22)
- 異種の処理デバイスにおいてワークロードのバランスをとるための方法であって、
複数のタスクを、第1の種類の1つ以上の第1のプロセッサ及び第2の種類の1つ以上の第2のプロセッサと通信可能に接続された共有キューに記憶するステップであって、前記複数のタスクの各々は、前記1つ以上の第1のプロセッサ上での実行のためのマイクロコードへの第1のポインタと、前記1つ以上の第2のプロセッサ上での実行のためのコンパイルされたコードへの第2のポインタと、を含み、前記1つ以上の第1のプロセッサの各々は、第1のデキューイングモジュールと、1つ以上の第1の処理コアと、を含み、前記1つ以上の第2のプロセッサの各々は、同期化モジュールと、第2のデキューイングモジュールと、1つ以上の第2の処理コアと、を含む、ステップと、
前記1つ以上の第2のプロセッサの少なくとも1つの同期化モジュールが、前記1つ以上の第1のプロセッサの各々の第1のデキューイングモジュール及び前記1つ以上の第2のプロセッサの各々の第2のデキューイングモジュールによる前記共有キューへのアクセスを、同期化のための不可分操作を用いて同期するステップと、
前記1つ以上の第2のプロセッサの少なくとも1つの第2のデキューイングモジュールが、前記複数のタスクの中から特定のタスクをパラメータにより識別するステップと、
前記1つ以上の第2のプロセッサの少なくとも1つの第2のデキューイングモジュールが、前記1つ以上の第2のプロセッサで前記特定のタスクを実行するのに適切な状態において、前記共有キューから前記特定のタスクをデキューイングするステップと、
前記1つ以上の第2のプロセッサの少なくとも1つの第2のデキューイングモジュールが、前記第2のポインタによってポイントされた、前記コンパイルされたコードを実行するように、前記1つ以上の第2の処理コアに命令するステップと、
を含む、方法。 - 前記1つ以上の第2のプロセッサは、中央処置装置(CPU)を含み、前記1つ以上の第1のプロセッサは、アクセラレーテッドプロセッシングデバイス(APD)を含む、
請求項1に記載の方法。 - 前記1つ以上の第1のプロセッサの第1のデキューイングモジュールは、ハードウェアデバイスである、
請求項2に記載の方法。 - 前記1つ以上の第2のプロセッサの第2のデキューイングモジュールは、ソフトウェアモジュールである、
請求項2に記載の方法。 - 前記特定のタスクは、前記1つ以上の第2のプロセッサで実行するのに適切となるように、前記共有キューに記憶されたタスクパラメータに基づいて決められる、
請求項1に記載の方法。 - 前記1つ以上の第2のプロセッサの第2のデキューイングモジュールが取り出すタスクの数は、前記1つ以上の第2のプロセッサの種類に基づいている、
請求項1に記載の方法。 - 異種の処理デバイスにおいてワークロードのバランスをとるためのシステムであって、
第1の種類の1つ以上の第1のプロセッサと、
第2の種類の1つ以上の第2のプロセッサと、
前記1つ以上の第1のプロセッサ及び前記1つ以上の第2のプロセッサと通信可能に接続された共有キューと、を備え、
前記1つ以上の第1のプロセッサの各々は、第1のデキューイングモジュールと、1つ以上の第1の処理コアと、を含み、
前記1つ以上の第2のプロセッサの各々は、同期化モジュールと、第2のデキューイングモジュールと、1つ以上の第2の処理コアと、を含み、
前記共有キューは、複数のタスクを記憶し、前記複数のタスクの各々は、前記1つ以上の第1のプロセッサ上での実行のためのマイクロコードへの第1のポインタと、前記1つ以上の第2のプロセッサ上での実行のためのコンパイルされたコードへの第2のポインタと、を含み、
前記1つ以上の第2のプロセッサの各々の同期化モジュールは、特定のタスクを前記共有キューから取り出す前に、前記1つ以上の第1のプロセッサの各々の第1のデキューイングモジュール及び前記1つ以上の第2のプロセッサの各々の第2のデキューイングモジュールによる前記共有キューへのアクセスを、同期化のための不可分操作を用いて同期し、
前記1つ以上の第2のプロセッサの各々の第2のデキューイングモジュールは、前記複数のタスクの中から前記特定のタスクをパラメータにより識別し、前記1つ以上の第2のプロセッサで前記特定のタスクを実行するのに適切な状態において、前記共有キューから前記特定のタスクをデキューイングし、前記第2のポインタによってポイントされた、前記コンパイルされたコードを実行するように、前記1つ以上の第2の処理コアに命令する、
システム。 - 前記1つ以上の第2のプロセッサは、中央処理装置(CPU)を含み、前記1つ以上の第1のプロセッサは、アクセラレーテッドプロセッシングデバイス(APD)を含む、
請求項7に記載のシステム。 - 前記1つ以上の第1のプロセッサの第1のデキューイングモジュールは、ハードウェアデバイスである、
請求項7に記載のシステム。 - 前記特定のタスクは、前記1つ以上の第2のプロセッサで実行するのに適切となるように、前記共有キューに記憶されたタスクパラメータに基づいて決められる、
請求項7に記載のシステム。 - 少なくとも1つの前記第2のプロセッサの第2のデキューイングモジュールが取り出すタスクの数は、前記1つ以上の第2のプロセッサの種類に基づいている、
請求項7に記載のシステム。 - 命令が記憶されたコンピュータ可読記憶媒体であって、前記命令がコンピューティングデバイスにより実行されると、
複数のタスクを、第1の種類の1つ以上の第1のプロセッサ及び第2の種類の1つ以上の第2のプロセッサと通信可能に接続された共有キューに記憶することであって、前記複数のタスクの各々は、前記1つ以上の第1のプロセッサ上での実行のためのマイクロコードへの第1のポインタと、前記1つ以上の第2のプロセッサ上での実行のためのコンパイルされたコードへの第2のポインタと、を含み、前記1つ以上の第1のプロセッサの各々は、第1のデキューイングモジュールと、1つ以上の第1の処理コアと、を含み、前記1つ以上の第2のプロセッサの各々は、同期化モジュールと、第2のデキューイングモジュールと、1つ以上の第2の処理コアと、を含む、ことと、
少なくとも1つの同期化モジュールが、前記1つ以上の第1のプロセッサの各々の第1のデキューイングモジュール及び前記1つ以上の第2のプロセッサの各々の第2のデキューイングモジュールによる前記共有キューへのアクセスを、同期化のための不可分操作を用いて同期することと、
前記1つ以上の第2のプロセッサの少なくとも1つの第2のデキューイングモジュールが、前記複数のタスクの中から特定のタスクをパラメータにより識別することと、
前記1つ以上の第2のプロセッサの少なくとも1つの第2のデキューイングモジュールが、前記1つ以上の第2のプロセッサで前記特定のタスクを実行するのに適切な状態において、前記共有キューから前記特定のタスクをデキューイングすることと、
前記1つ以上の第2のプロセッサの少なくとも1つの第2のデキューイングモジュールが、前記第2のポインタによってポイントされた、前記コンパイルされたコードを実行するように、前記1つ以上の第2の処理コアに命令することと、
を、前記コンピュータデバイスに実行させる、
コンピュータ可読記憶媒体。 - 前記1つ以上の第2のプロセッサは、中央処理装置(CPU)を含み、前記1つ以上の第1のプロセッサは、アクセラレーテッドプロセッシングデバイス(APD)を含む、
請求項12に記載のコンピュータ可読記憶媒体。 - 前記1つ以上の第1のプロセッサの第1のデキューイングモジュールは、ハードウェアデバイスである、
請求項12に記載のコンピュータ可読記憶媒体。 - 異種の処理デバイスにおいてワークロードのバランスをとるためのシステムであって、
第1の種類の1つ以上の第1のプロセッサと、
第2の種類の1つ以上の第2のプロセッサと、
前記1つ以上の第1のプロセッサ及び前記1つ以上の第2のプロセッサと通信可能に接続された共有キューと、を備え、
前記1つ以上の第1のプロセッサの各々は、第1のデキューイングモジュールと、1つ以上の第1の処理コアと、を含み、
前記1つ以上の第2のプロセッサの各々は、同期化モジュールと、第2のデキューイングモジュールと、1つ以上の第2の処理コアと、を含み、
前記共有キューは、複数のタスクを記憶し、前記複数のタスクの各々は、前記1つ以上の第1のプロセッサ上での実行のためのマイクロコードへの第1のポインタと、前記1つ以上の第2のプロセッサ上での実行のためのコンパイルされたコードへの第2のポインタと、を含み、
前記1つ以上の第2のプロセッサの各々の同期化モジュールは、特定のタスクを前記共有キューから取り出す前に、前記1つ以上の第1のプロセッサの各々の第1のデキューイングモジュール及び前記1つ以上の第2のプロセッサの各々の第2のデキューイングモジュールによる前記共有キューへのアクセスを、同期化のための不可分操作を用いて同期し、
前記1つ以上の第1のプロセッサの各々の第1のデキューイングモジュールは、前記複数のタスクの中から前記特定のタスクをパラメータにより識別し、前記1つ以上の第1のプロセッサで前記特定のタスクを実行するのに適切な状態において、前記共有キューから前記特定のタスクをデキューイングし、前記第1のポインタによってポイントされた前記マイクロコードを実行するように、前記1つ以上の第1の処理コアに命令する、
システム。 - 前記1つ以上の第1のプロセッサの少なくとも1つの第1のデキューイングモジュールが、前記複数のタスクの中から他の特定のタスクをパラメータにより識別するステップと、
前記少なくとも1つの第1のデキューイングモジュールが、前記1つ以上の第1のプロセッサで前記他の特定のタスクを実行するのに適切な状態において、前記共有キューから前記他の特定のタスクをデキューイングするステップと、
前記少なくとも1つの第1のデキューイングモジュールが、前記第1のポインタによってポイントされた前記マイクロコードを実行するように、前記1つ以上の第1の処理コアに命令するステップと、を含む、
請求項1に記載の方法。 - 前記複数のタスクの各々は、所定のイベントの発生後に実行可能となる従属情報を含む中間言語表現への第3のポイントを含む、
請求項1に記載の方法。 - 前記1つ以上の第1のプロセッサの各々の第1のデキューイングモジュールは、前記複数のタスクの中から他の特定のタスクをパラメータにより識別し、前記1つ以上の第1のプロセッサで前記他の特定のタスクを実行するのに適切な状態において、前記共有キューから前記他の特定のタスクをデキューイングし、前記第1のポインタによってポイントされた前記マイクロコードを実行するように、前記1つ以上の第1の処理コアに命令する、
請求項7に記載のシステム。 - 前記複数のタスクの各々は、所定のイベントの発生後に実行可能となる従属情報を含む中間言語表現への第3のポイントを含む、
請求項7に記載のシステム。 - 前記1つ以上の第1のプロセッサの少なくとも1つの第1のデキューイングモジュールが、前記複数のタスクの中から他の特定のタスクをパラメータにより識別することと、
前記少なくとも1つの第1のデキューイングモジュールが、前記1つ以上の第1のプロセッサで前記他の特定のタスクを実行するのに適切な状態において、前記共有キューから前記他の特定のタスクをデキューイングすることと、
前記少なくとも1つの第1のデキューイングモジュールが、前記第1のポインタによってポイントされた前記マイクロコードを実行するように、前記1つ以上の第1の処理コアに命令することと、
を、前記コンピュータデバイスに実行させる、
請求項12に記載のコンピュータ可読記憶媒体。 - 前記複数のタスクの各々は、所定のイベントの発生後に実行可能となる従属情報を含む中間言語表現への第3のポイントを含む、
請求項12に記載のコンピュータ可読記憶媒体。 - 前記複数のタスクの各々は、所定のイベントの発生後に実行可能となる従属情報を含む中間言語表現への第3のポイントを含む、
請求項15に記載のシステム。
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 US9645854B2 (en) | 2010-12-15 | 2011-11-02 | Dynamic work partitioning on heterogeneous processing devices |
US13/287,418 | 2011-11-02 | ||
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 JP2014508982A (ja) | 2014-04-10 |
JP2014508982A5 JP2014508982A5 (ja) | 2015-01-29 |
JP6373586B2 true 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 |
US20130141446A1 (en) * | 2011-12-06 | 2013-06-06 | Advanced Micro Devices, Inc. | Method and Apparatus for Servicing Page Fault Exceptions |
US20130145202A1 (en) * | 2011-12-06 | 2013-06-06 | Advanced Micro Devices, Inc. | Handling Virtual-to-Physical Address Translation Failures |
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 | 현대오토에버 주식회사 | 멀티 코어 구조의 전자 제어 유닛에서 수행되는 방법, 그리고 이를 구현하기 위한 장치 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826081A (en) * | 1996-05-06 | 1998-10-20 | Sun Microsystems, Inc. | Real time thread dispatcher for multiprocessor applications |
US7233998B2 (en) * | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
JP4384828B2 (ja) | 2001-11-22 | 2009-12-16 | ユニヴァーシティ オブ ワシントン | コプロセッサ装置およびデータ転送を容易にするための方法 |
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 |
US8037474B2 (en) | 2005-09-27 | 2011-10-11 | Sony Computer Entertainment Inc. | Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution |
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 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
- 2011-12-09 KR KR1020137017356A patent/KR101961396B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
CN103608776B (zh) | 2017-09-05 |
KR20130127480A (ko) | 2013-11-22 |
CN103608776A (zh) | 2014-02-26 |
KR101961396B1 (ko) | 2019-03-22 |
US9645854B2 (en) | 2017-05-09 |
EP2652617A2 (en) | 2013-10-23 |
EP2652617B1 (en) | 2019-10-09 |
US20120192201A1 (en) | 2012-07-26 |
JP2014508982A (ja) | 2014-04-10 |
WO2012082557A3 (en) | 2013-12-27 |
WO2012082557A2 (en) | 2012-06-21 |
EP2652617A4 (en) | 2017-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6373586B2 (ja) | 異種処理デバイスの動的ワークパーティション | |
JP6381734B2 (ja) | グラフィックス計算プロセススケジューリング | |
JP6228459B2 (ja) | システムコール要求の通信の最適化 | |
JP6086868B2 (ja) | ユーザモードからのグラフィックス処理ディスパッチ | |
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 |