JP5711853B2 - 異種コアの自動カーネル移行 - Google Patents
異種コアの自動カーネル移行 Download PDFInfo
- Publication number
- JP5711853B2 JP5711853B2 JP2014511476A JP2014511476A JP5711853B2 JP 5711853 B2 JP5711853 B2 JP 5711853B2 JP 2014511476 A JP2014511476 A JP 2014511476A JP 2014511476 A JP2014511476 A JP 2014511476A JP 5711853 B2 JP5711853 B2 JP 5711853B2
- Authority
- JP
- Japan
- Prior art keywords
- kernel
- processor core
- code
- microarchitecture
- computational
- 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
- 230000005012 migration Effects 0.000 title claims description 15
- 238000013508 migration Methods 0.000 title claims description 15
- 238000000034 method Methods 0.000 claims description 38
- 230000007704 transition Effects 0.000 claims description 33
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 9
- 230000003068 static effect Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 29
- 238000012360 testing method Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 6
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 238000005206 flow analysis Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005421 electrostatic potential Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000013519 translation Methods 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/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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- 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
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
Description
Claims (18)
- 複数の命令を含む計算カーネル内の位置であって、前記計算カーネルの実行中に前記計算カーネルの実行が移行可能な位置を、前記計算カーネルのコンパイル中に特定するステップと、
前記計算カーネルのコンテキストを維持及び移行するためのデータ構造を作成するステップと、
第1のマイクロアーキテクチャを有する第1のプロセッサコア上で実行するために、前記位置前の前記計算カーネル内のコードをスケジュールするステップと、
移行条件を満たしているという指標を受信したことに応じて、
前記コンテキストを、前記第1のマイクロアーキテクチャとは異なる第2のマイクロアーキテクチャを有する第2のプロセッサコアがアクセス可能な位置に移動させるステップと、
前記位置後の前記計算カーネル内のコードを、前記第2のプロセッサコアにスケジュールするステップと、
を含み、
前記移行条件を満たしていることを判定するために、出口点に到達した前記計算カーネルの並列実行反復回数が所与の閾値を超えているか判定するステップをさらに含む、
方法。 - 前記第1のプロセッサコアに対応する前記計算カーネルの第1のバージョンのコードを生成するステップと、
前記第2のプロセッサコアに対応する前記計算カーネルの第2のバージョンのコードを生成するステップと、をさらに含む、請求項1に記載の方法。 - 前記第1のマイクロアーキテクチャは、単一命令複数データ(SIMD)マイクロアーキテクチャであり、前記第2のマイクロアーキテクチャは、汎用マイクロアーキテクチャである、請求項2に記載の方法。
- プロファイルランタイム情報及び静的情報の少なくとも1つに基づいて前記特定を行うステップをさらに含む、請求項2に記載の方法。
- 前記移行条件を満たしているか否かを判定する命令を用いて、前記第1のプロセッサコアの第1のバージョンのコードを計測するステップと、
前記データ構造によって示された位置でライブ値を検出するとともに実行を開始する命令を用いて、前記第2のプロセッサコアの第2のバージョンのコードを計測するステップと、
をさらに含む、請求項2に記載の方法。 - 前記位置は、条件付き分岐命令の直前である、請求項1に記載の方法。
- 異種マルチコアアーキテクチャを含むコンピューティングシステムであって、
第1のマイクロアーキテクチャを有する第1のプロセッサコアと、
前記第1のマイクロアーキテクチャとは異なる第2のマイクロアーキテクチャを有する第2のプロセッサコアと、
複数の命令を含む計算カーネルであって、前記計算カーネルの実行中に前記計算カーネルの実行が移行可能な位置を含む計算カーネルと、
前記計算カーネルのコンテキストの維持及び移行に使用可能なデータ構造と、
スケジューラを含むオペレーティングシステムと、を備え、
前記スケジューラは、
第1のマイクロアーキテクチャを有する第1のプロセッサコア上で実行するために、前記位置前の前記計算カーネル内のコードをスケジュールし、
移行条件を満たしたという指標を受信したことに応じて、
前記コンテキストを、前記第1のマイクロアーキテクチャとは異なる第2のマイクロアーキテクチャを有する第2のプロセッサコアがアクセス可能な位置に移動させ、
前記位置後の前記計算カーネル内のコードを、前記第2のプロセッサコアにスケジュールするように構成されており、
前記第1のプロセッサコア及び前記第2のプロセッサコアの各々は、前記移行条件を満たしていることを判定するために、出口点に到達した前記計算カーネルの並列実行反復回数が所与の閾値を超えているか判定するように構成されている、
コンピューティングシステム。 - 前記第1のプロセッサコアに対応する前記計算カーネルの第1のバージョンのコードを生成し、前記第2のプロセッサコアに対応する前記計算カーネルの第2のバージョンのコードを生成するように構成されたコンパイラをさらに含む、
請求項7に記載のコンピューティングシステム。 - 前記第1のマイクロアーキテクチャは、単一命令複数データ(SIMD)マイクロアーキテクチャであり、前記第2のマイクロアーキテクチャは、汎用マイクロアーキテクチャである、請求項8に記載のコンピューティングシステム。
- 前記コンパイラは、プロファイルランタイム情報及び静的情報の少なくとも1つに基づいて前記移行可能な位置の特定を行うように構成されている、請求項8に記載のコンピューティングシステム。
- 前記コンパイラは、
前記移行条件を満たしているか否かを判定する命令を用いて、前記第1のプロセッサコアの第1のバージョンのコードを計測し、
前記データ構造によって示された位置でライブ値を検出するとともに実行を開始する命令を用いて、前記第2のプロセッサコアの第2のバージョンのコードを計測するように構成されている、
請求項8に記載のコンピューティングシステム。 - 前記コンパイラは、
前記計算カーネルの後の並列実行反復回数が前記移行条件を満たすという予測に応じて、前記計算カーネルを前記位置で2つの計算サブカーネルに分割し、
前記位置前のコードを含む第1の計算サブカーネルを、前記第1のプロセッサコアにスケジュールし、
前記位置後のコードを含む第2の計算サブカーネルを、前記第2のプロセッサコアにスケジュールするように構成されている、
請求項8に記載のコンピューティングシステム。 - 前記位置は、条件付き分岐命令の直前である、請求項7に記載のコンピューティングシステム。
- プログラム命令を記憶するコンピュータ可読記憶媒体であって、
前記プログラム命令は、
複数の命令を含む計算カーネル内の位置であって、前記計算カーネルの実行中に前記計算カーネルの実行が移行可能な位置を、前記計算カーネルのコンパイル中に特定し、
前記計算カーネルのコンテキストを維持及び移行するためのデータ構造を作成し、
第1のマイクロアーキテクチャを有する第1のプロセッサコア上で実行するために、前記位置前の前記計算カーネル内のコードをスケジュールし、
移行条件を満たしているという指標を受信したことに応じて、
前記コンテキストを、前記第1のマイクロアーキテクチャとは異なる第2のマイクロアーキテクチャを有する第2のプロセッサコアがアクセス可能な位置に移動させ、
前記位置後の前記計算カーネル内のコードを、前記第2のプロセッサコアにスケジュールし、
前記移行条件を満たしていることを判定するために、出口点に到達した前記計算カーネルの並列実行反復回数が所与の閾値を超えているか判定するように実行可能である、
コンピュータ可読記憶媒体。 - 前記プログラム命令は、前記第1のプロセッサコアに対応する前記計算カーネルの第1のバージョンのコードを生成し、前記第2のプロセッサコアに対応する前記計算カーネルの第2のバージョンのコードを生成するように実行可能である、請求項14に記載のコンピュータ可読記憶媒体。
- 前記プログラム命令は、
前記移行条件を満たしているか否かを判定する命令を用いて、前記第1のプロセッサコアの第1のバージョンのコードを前記位置で計測し、
前記データ構造によって示された位置でライブ値を検出するとともに実行を開始する命令を用いて、前記第2のプロセッサコアの第2のバージョンのコードを前記位置で計測するように実行可能である、
請求項14に記載のコンピュータ可読記憶媒体。 - 複数の命令を含む計算カーネル内の位置であって、前記計算カーネルの実行中に前記計算カーネルの実行が移行可能な位置を、前記計算カーネルのコンパイル中に特定するステップと、
前記計算カーネルのコンテキストを維持及び移行するためのデータ構造を作成するステップと、
前記計算カーネルの後の並列実行反復回数が移動条件を満たすという予測に応じて、前記計算カーネルを前記位置で2つの計算サブカーネルに分割するステップと、
前記位置前のコードを含む第1の計算サブカーネルを、第1のプロセッサコアにスケジュールするステップと、
前記位置後のコードを含む第2の計算サブカーネルを、第2のプロセッサコアにスケジュールするステップと、
を含む、方法。 - 異種マルチコアアーキテクチャを含むコンピューティングシステムであって、
第1のマイクロアーキテクチャを有する第1のプロセッサコアと、
前記第1のマイクロアーキテクチャとは異なる第2のマイクロアーキテクチャを有する第2のプロセッサコアと、
複数の命令を含む計算カーネルであって、前記計算カーネルの実行中に前記計算カーネルの実行が移行可能な位置を含む計算カーネルと、
前記計算カーネルのコンテキストの維持及び移行に使用可能なデータ構造と、
前記計算カーネルの後の並列実行反復回数が移動条件を満たすという予測に応じて、前記計算カーネルを前記位置で2つの計算サブカーネルに分割するように構成されたコンパイラと、
スケジューラを含むオペレーティングシステムと、を備え、
前記スケジューラは、
前記位置前のコードを含む第1の計算サブカーネルを、第1のプロセッサコアにスケジュールし、
前記位置後のコードを含む第2の計算サブカーネルを、第2のプロセッサコアにスケジュールする、ように構成されている、
コンピューティングシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/108,438 US8683468B2 (en) | 2011-05-16 | 2011-05-16 | Automatic kernel migration for heterogeneous cores |
US13/108,438 | 2011-05-16 | ||
PCT/US2012/038057 WO2012158753A1 (en) | 2011-05-16 | 2012-05-16 | Automatic kernel migration for heterogeneous cores |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014513853A JP2014513853A (ja) | 2014-06-05 |
JP2014513853A5 JP2014513853A5 (ja) | 2014-11-06 |
JP5711853B2 true JP5711853B2 (ja) | 2015-05-07 |
Family
ID=46147108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014511476A Active JP5711853B2 (ja) | 2011-05-16 | 2012-05-16 | 異種コアの自動カーネル移行 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8683468B2 (ja) |
EP (1) | EP2710467B1 (ja) |
JP (1) | JP5711853B2 (ja) |
KR (1) | KR101559090B1 (ja) |
CN (1) | CN103534686B (ja) |
WO (1) | WO2012158753A1 (ja) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8789063B2 (en) * | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
US9092267B2 (en) * | 2011-06-20 | 2015-07-28 | Qualcomm Incorporated | Memory sharing in graphics processing unit |
US9195501B2 (en) * | 2011-07-12 | 2015-11-24 | Qualcomm Incorporated | Instruction culling in graphics processing unit |
US9378120B2 (en) * | 2011-11-09 | 2016-06-28 | Tata Consultancy Services Limited | Automated test execution plan derivation system and method |
US9430807B2 (en) | 2012-02-27 | 2016-08-30 | Qualcomm Incorporated | Execution model for heterogeneous computing |
US20120222043A1 (en) * | 2012-05-01 | 2012-08-30 | Concurix Corporation | Process Scheduling Using Scheduling Graph to Minimize Managed Elements |
US8595743B2 (en) | 2012-05-01 | 2013-11-26 | Concurix Corporation | Network aware process scheduling |
US8650538B2 (en) | 2012-05-01 | 2014-02-11 | Concurix Corporation | Meta garbage collection for functional code |
US8726255B2 (en) | 2012-05-01 | 2014-05-13 | Concurix Corporation | Recompiling with generic to specific replacement |
US9417935B2 (en) | 2012-05-01 | 2016-08-16 | Microsoft Technology Licensing, Llc | Many-core process scheduling to maximize cache usage |
EP2742425A1 (en) * | 2012-05-29 | 2014-06-18 | Qatar Foundation | Graphics processing unit controller, host system, and methods |
US8700838B2 (en) | 2012-06-19 | 2014-04-15 | Concurix Corporation | Allocating heaps in NUMA systems |
US9047196B2 (en) | 2012-06-19 | 2015-06-02 | Concurix Corporation | Usage aware NUMA process scheduling |
US8707326B2 (en) | 2012-07-17 | 2014-04-22 | Concurix Corporation | Pattern matching process scheduler in message passing environment |
US9575813B2 (en) | 2012-07-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Pattern matching process scheduler with upstream optimization |
US8793669B2 (en) | 2012-07-17 | 2014-07-29 | Concurix Corporation | Pattern extraction from executable code in message passing environments |
US9043788B2 (en) | 2012-08-10 | 2015-05-26 | Concurix Corporation | Experiment manager for manycore systems |
US10187452B2 (en) * | 2012-08-23 | 2019-01-22 | TidalScale, Inc. | Hierarchical dynamic scheduling |
US8656134B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed on executing code |
US8607018B2 (en) | 2012-11-08 | 2013-12-10 | Concurix Corporation | Memory usage configuration based on observations |
US8656135B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed prior to execution |
US10585801B2 (en) | 2012-11-26 | 2020-03-10 | Advanced Micro Devices, Inc. | Prefetch kernels on a graphics processing unit |
US9823927B2 (en) * | 2012-11-30 | 2017-11-21 | Intel Corporation | Range selection for data parallel programming environments |
GB2508433A (en) * | 2012-12-03 | 2014-06-04 | Ibm | Migration of processes in heterogeneous computing environments using emulating and compiling source code on target system |
US20130219372A1 (en) | 2013-03-15 | 2013-08-22 | Concurix Corporation | Runtime Settings Derived from Relationships Identified in Tracer Data |
US9298511B2 (en) * | 2013-03-15 | 2016-03-29 | International Business Machines Corporation | Resolving deployment conflicts in heterogeneous environments |
US9292349B2 (en) * | 2013-03-15 | 2016-03-22 | International Business Machines Corporation | Detecting deployment conflicts in heterogenous environments |
US9479449B2 (en) | 2013-06-03 | 2016-10-25 | Advanced Micro Devices, Inc. | Workload partitioning among heterogeneous processing nodes |
US9170854B2 (en) | 2013-06-04 | 2015-10-27 | Advanced Micro Devices, Inc. | Thread assignment for power and performance efficiency using multiple power states |
CN105531668B (zh) * | 2013-08-08 | 2019-04-23 | 英派尔科技开发有限公司 | 用于执行进程的迁移的方法、迁移器及计算机可读介质 |
CN104254020B (zh) * | 2013-09-25 | 2015-12-02 | 腾讯科技(深圳)有限公司 | 媒体数据的播放方法、装置及终端 |
US20150220340A1 (en) * | 2013-10-04 | 2015-08-06 | Rajkishore Barik | Techniques for heterogeneous core assignment |
JP5946068B2 (ja) * | 2013-12-17 | 2016-07-05 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 演算コア上で複数の演算処理単位が稼働可能なコンピュータ・システムにおける応答性能を評価する計算方法、計算装置、コンピュータ・システムおよびプログラム |
CN104793924B (zh) * | 2014-01-21 | 2019-03-15 | 中兴通讯股份有限公司 | 计算任务的处理方法及装置 |
CN105210059B (zh) * | 2014-04-04 | 2018-12-07 | 华为技术有限公司 | 一种数据处理方法及系统 |
US10133572B2 (en) * | 2014-05-02 | 2018-11-20 | Qualcomm Incorporated | Techniques for serialized execution in a SIMD processing system |
EP3152859A1 (en) * | 2014-06-04 | 2017-04-12 | Giesecke & Devrient GmbH | Method for enhanced security of computational device with multiple cores |
US9880918B2 (en) * | 2014-06-16 | 2018-01-30 | Amazon Technologies, Inc. | Mobile and remote runtime integration |
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 |
US10769175B1 (en) | 2014-06-20 | 2020-09-08 | Amazon Technologies, Inc. | Real-time hosted system analytics |
US10776397B2 (en) * | 2014-06-20 | 2020-09-15 | Amazon Technologies, Inc. | Data interest estimation for n-dimensional cube computations |
US11868372B1 (en) | 2014-06-20 | 2024-01-09 | Amazon Technologies, Inc. | Automated hierarchy detection for cloud-based analytics |
EP3158478B1 (en) | 2014-06-20 | 2023-06-07 | Amazon Technologies, Inc. | Embeddable cloud analytics |
US9898348B2 (en) * | 2014-10-22 | 2018-02-20 | International Business Machines Corporation | Resource mapping in multi-threaded central processor units |
US9286196B1 (en) * | 2015-01-08 | 2016-03-15 | Arm Limited | Program execution optimization using uniform variable identification |
US9400685B1 (en) * | 2015-01-30 | 2016-07-26 | Huawei Technologies Co., Ltd. | Dividing, scheduling, and parallel processing compiled sub-tasks on an asynchronous multi-core processor |
US9529950B1 (en) | 2015-03-18 | 2016-12-27 | Altera Corporation | Systems and methods for performing profile-based circuit optimization using high-level system modeling |
CN104899385B (zh) * | 2015-06-16 | 2018-01-26 | 北京思朗科技有限责任公司 | 异构多核的SoC设计评估系统 |
US9501304B1 (en) | 2015-06-16 | 2016-11-22 | Architecture Technology Corporation | Lightweight application virtualization architecture |
US9983857B2 (en) * | 2015-06-16 | 2018-05-29 | Architecture Technology Corporation | Dynamic computational acceleration using a heterogeneous hardware infrastructure |
US20170052799A1 (en) * | 2015-08-21 | 2017-02-23 | Microchip Technology Incorporated | Integrated Circuit Device With Selectable Processor Core |
WO2017074377A1 (en) * | 2015-10-29 | 2017-05-04 | Intel Corporation | Boosting local memory performance in processor graphics |
US11513805B2 (en) * | 2016-08-19 | 2022-11-29 | Wisconsin Alumni Research Foundation | Computer architecture with synergistic heterogeneous processors |
US10353736B2 (en) | 2016-08-29 | 2019-07-16 | TidalScale, Inc. | Associating working sets and threads |
US10460513B2 (en) * | 2016-09-22 | 2019-10-29 | Advanced Micro Devices, Inc. | Combined world-space pipeline shader stages |
CN107291535B (zh) * | 2017-05-18 | 2020-08-14 | 深圳先进技术研究院 | 多核系统的资源管理方法、资源管理设备及电子设备 |
US10585703B2 (en) * | 2017-06-03 | 2020-03-10 | Apple Inc. | Dynamic operation allocation for neural networks |
US10228972B2 (en) * | 2017-06-22 | 2019-03-12 | Banuba Limited | Computer systems and computer-implemented methods for dynamically adaptive distribution of workload between central processing unit(s) and graphics processing unit(s) |
US11023135B2 (en) | 2017-06-27 | 2021-06-01 | TidalScale, Inc. | Handling frequently accessed pages |
KR20240010541A (ko) * | 2017-07-04 | 2024-01-23 | 삼성전자주식회사 | 다중 코어 변환에 의한 비디오 복호화 방법 및 장치, 다중 코어 변환에 의한 비디오 부호화 방법 및 장치 |
US10628223B2 (en) * | 2017-08-22 | 2020-04-21 | Amrita Vishwa Vidyapeetham | Optimized allocation of tasks in heterogeneous computing systems |
US11119835B2 (en) | 2017-08-30 | 2021-09-14 | Intel Corporation | Technologies for providing efficient reprovisioning in an accelerator device |
US10817347B2 (en) | 2017-08-31 | 2020-10-27 | TidalScale, Inc. | Entanglement of pages and guest threads |
US11334469B2 (en) * | 2018-04-13 | 2022-05-17 | Microsoft Technology Licensing, Llc | Compound conditional reordering for faster short-circuiting |
CN110716750A (zh) * | 2018-07-11 | 2020-01-21 | 超威半导体公司 | 用于部分波前合并的方法和系统 |
CN110968320A (zh) * | 2018-09-30 | 2020-04-07 | 上海登临科技有限公司 | 针对异构硬件架构的联合编译方法和编译系统 |
WO2021117186A1 (ja) * | 2019-12-12 | 2021-06-17 | 三菱電機株式会社 | データ処理実行装置、データ処理実行方法及びデータ処理実行プログラム |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09269903A (ja) | 1996-04-02 | 1997-10-14 | Hitachi Ltd | プロセス管理方式 |
US6345041B1 (en) | 1996-10-24 | 2002-02-05 | Hewlett-Packard Company | Method and apparatus for automatic load-balancing on multisegment devices |
US6480930B1 (en) | 1999-09-15 | 2002-11-12 | Emc Corporation | Mailbox for controlling storage subsystem reconfigurations |
US6560717B1 (en) | 1999-12-10 | 2003-05-06 | Art Technology Group, Inc. | Method and system for load balancing and management |
US7437536B2 (en) * | 2004-05-03 | 2008-10-14 | Sony Computer Entertainment Inc. | Systems and methods for task migration |
US7437581B2 (en) * | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
JP4936517B2 (ja) * | 2006-06-06 | 2012-05-23 | 学校法人早稲田大学 | ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ |
US20080005591A1 (en) * | 2006-06-28 | 2008-01-03 | Trautman Mark A | Method, system, and apparatus for dynamic thermal management |
KR101366075B1 (ko) * | 2007-12-20 | 2014-02-21 | 삼성전자주식회사 | 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치 |
US8615647B2 (en) * | 2008-02-29 | 2013-12-24 | Intel Corporation | Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state |
US9223677B2 (en) * | 2008-06-11 | 2015-12-29 | Arm Limited | Generation of trace data in a multi-processor system |
JP5300005B2 (ja) | 2008-11-28 | 2013-09-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | スレッド実行制御方法、およびシステム |
WO2010067377A2 (en) * | 2008-12-08 | 2010-06-17 | Kpit Cummins Infosystems Ltd. | Method for reorganizing tasks for optimization of resources |
US8528001B2 (en) * | 2008-12-15 | 2013-09-03 | Oracle America, Inc. | Controlling and dynamically varying automatic parallelization |
US8881157B2 (en) * | 2009-09-11 | 2014-11-04 | Empire Technology Development Llc | Allocating threads to cores based on threads falling behind thread completion target deadline |
US9354944B2 (en) * | 2009-07-27 | 2016-05-31 | Advanced Micro Devices, Inc. | Mapping processing logic having data-parallel threads across processors |
US8418187B2 (en) * | 2010-03-01 | 2013-04-09 | Arm Limited | Virtualization software migrating workload between processing circuitries while making architectural states available transparent to operating system |
US9542231B2 (en) * | 2010-04-13 | 2017-01-10 | Et International, Inc. | Efficient execution of parallel computer programs |
CN101923491A (zh) * | 2010-08-11 | 2010-12-22 | 上海交通大学 | 多核环境下线程组地址空间调度和切换线程的方法 |
US20120079501A1 (en) * | 2010-09-27 | 2012-03-29 | Mark Henrik Sandstrom | Application Load Adaptive Processing Resource Allocation |
US8782645B2 (en) * | 2011-05-11 | 2014-07-15 | Advanced Micro Devices, Inc. | Automatic load balancing for heterogeneous cores |
-
2011
- 2011-05-16 US US13/108,438 patent/US8683468B2/en active Active
-
2012
- 2012-05-16 CN CN201280023687.XA patent/CN103534686B/zh active Active
- 2012-05-16 KR KR1020137032393A patent/KR101559090B1/ko active IP Right Grant
- 2012-05-16 WO PCT/US2012/038057 patent/WO2012158753A1/en active Application Filing
- 2012-05-16 JP JP2014511476A patent/JP5711853B2/ja active Active
- 2012-05-16 EP EP12722661.1A patent/EP2710467B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2012158753A1 (en) | 2012-11-22 |
US8683468B2 (en) | 2014-03-25 |
EP2710467B1 (en) | 2017-11-22 |
CN103534686B (zh) | 2017-07-11 |
US20120297163A1 (en) | 2012-11-22 |
KR101559090B1 (ko) | 2015-10-19 |
CN103534686A (zh) | 2014-01-22 |
KR20140029480A (ko) | 2014-03-10 |
EP2710467A1 (en) | 2014-03-26 |
JP2014513853A (ja) | 2014-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5711853B2 (ja) | 異種コアの自動カーネル移行 | |
JP5859639B2 (ja) | 異種コア用の自動負荷バランシング | |
US11954036B2 (en) | Prefetch kernels on data-parallel processors | |
US11847508B2 (en) | Convergence among concurrently executing threads | |
Yan et al. | Alleviating irregularity in graph analytics acceleration: A hardware/software co-design approach | |
JP6159825B2 (ja) | ハードウェアポインタを使用したsimdコア内での分岐ブランチに対するソリューション | |
Ubal et al. | Multi2Sim: A simulation framework for CPU-GPU computing | |
Prabhu et al. | Exposing speculative thread parallelism in SPEC2000 | |
US20120331278A1 (en) | Branch removal by data shuffling | |
Ezudheen et al. | Parallelizing SystemC kernel for fast hardware simulation on SMP machines | |
JP2009259241A (ja) | 汎用プロセッサによるリターゲティングされたグラフィックプロセッサ加速コードの実行 | |
JP6236093B2 (ja) | 並列パイプラインにおいてブランチを分岐するためのハードウェアおよびソフトウェアソリューション | |
Mikushin et al. | KernelGen--The Design and Implementation of a Next Generation Compiler Platform for Accelerating Numerical Models on GPUs | |
US11934867B2 (en) | Techniques for divergent thread group execution scheduling | |
US20090133022A1 (en) | Multiprocessing apparatus, system and method | |
Du et al. | Breaking the interaction wall: A DLPU-centric deep learning computing system | |
Ding et al. | Multicore-aware code co-positioning to reduce WCET on dual-core processors with shared instruction caches | |
Ross et al. | Scaling OpenSHMEM for Massively Parallel Processor Arrays | |
Leupers et al. | Scalable Simulation for MPSoC Software and Architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140919 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140919 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20140919 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20141006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141021 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150120 |
|
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: 20150210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150306 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5711853 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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |