JP2014513853A - 異種コアの自動カーネル移行 - Google Patents
異種コアの自動カーネル移行 Download PDFInfo
- Publication number
- JP2014513853A JP2014513853A JP2014511476A JP2014511476A JP2014513853A JP 2014513853 A JP2014513853 A JP 2014513853A JP 2014511476 A JP2014511476 A JP 2014511476A JP 2014511476 A JP2014511476 A JP 2014511476A JP 2014513853 A JP2014513853 A JP 2014513853A
- Authority
- JP
- Japan
- Prior art keywords
- processor core
- kernel
- code
- microarchitecture
- execution
- 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
- 230000005012 migration Effects 0.000 title claims description 16
- 238000013508 migration Methods 0.000 title claims description 16
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000007704 transition Effects 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000003860 storage Methods 0.000 claims description 18
- 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
- 238000004364 calculation method Methods 0.000 description 17
- 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
- 230000006399 behavior Effects 0.000 description 4
- 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
- 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
- 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)
Abstract
【選択図】図4
Description
Claims (20)
- 複数の命令を含む計算カーネル内の位置であって、前記計算カーネルの実行中に前記計算カーネルの実行が移行可能な位置を特定するステップと、
前記計算カーネルのコンテキストを維持し且つ移行させるように、データ構造を作成するステップと、
第1のマイクロアーキテクチャを有する第1のプロセッサコア上で実行するために、前記位置前の前記計算カーネル内のコードをスケジュールするステップと、
移行条件を満たしているという指標を受信したことに応じて、
前記コンテキストを、前記第1のマイクロアーキテクチャとは異なる第2のマイクロアーキテクチャを有する第2のプロセッサコアがアクセス可能な位置に移動させるステップと、
前記位置後の前記計算カーネル内のコードを、前記第2のプロセッサコアにスケジュールするステップと、
を含む、方法。 - 前記第1のプロセッサコアに対応する前記計算カーネルの第1のバージョンのコードを生成するステップと、
前記第2のプロセッサコアに対応する前記計算カーネルの第2のバージョンのコードを生成するステップと、をさらに含む、請求項1に記載の方法。 - 前記第1のマイクロアーキテクチャは、単一命令複数データ(SIMD)マイクロアーキテクチャであり、前記第2のマイクロアーキテクチャは、汎用マイクロアーキテクチャである、請求項2に記載の方法。
- プロファイルランタイム情報および静的情報の少なくとも1つに基づいて前記特定を行うステップをさらに含む、請求項2に記載の方法。
- 前記移行条件を満たしているか否かを判定する命令を用いて、前記第1のプロセッサコアの第1のバージョンのコードを計測するステップと、
前記データ構造によって示された位置でライブ値を検出するとともに実行を開始する命令を用いて、前記第2のプロセッサコアの第2のバージョンのコードを計測するステップと、
をさらに含む、請求項2に記載の方法。 - 移行条件を満たしていることを判定するために、出口点に到達した前記計算カーネルの並列実行反復回数が所与の閾値を超えているか判定するステップをさらに含む、請求項5に記載の方法。
- 前記計算カーネルの後の並列実行反復回数が前記移動条件を満たすという予測に応じて、前記計算カーネルを前記位置で2つの計算サブカーネルに分割するステップと、
前記所与の位置前のコードを含む第1の計算サブカーネルを、前記第1のプロセッサコアにスケジュールするステップと、
前記所与の位置後のコードを含む第2の計算サブカーネルを、前記第2のプロセッサコアにスケジュールするステップと、
をさらに含む、請求項5に記載の方法。 - 前記位置は、条件付き分岐命令の直前である、請求項6に記載の方法。
- 異種マルチコアアーキテクチャを含むコンピューティングシステムであって、
第1のマイクロアーキテクチャを有する第1のプロセッサコアと、
前記第1のマイクロアーキテクチャとは異なる第2のマイクロアーキテクチャを有する第2のプロセッサコアと、
スケジューラを含むオペレーティングシステムと、を備え、
前記スケジューラは、
第1のマイクロアーキテクチャを有する第1のプロセッサコア上で実行するために、位置前の計算カーネル内のコードをスケジュールし、
移行条件を満たしたという指標を受信したことに応じて、
前記計算カーネルのコンテキストを、前記第1のマイクロアーキテクチャとは異なる第2のマイクロアーキテクチャを有する第2のプロセッサコアがアクセス可能な位置に移動させ、
前記位置後の前記計算カーネル内のコードを、前記第2のプロセッサコアにスケジュールするように構成されている、
コンピューティングシステム。 - 複数の命令を含む計算カーネル内の前記位置を、前記計算カーネルの実行中に前記計算カーネルの実行が移行可能な位置として特定し、
前記計算カーネルのコンテキストを維持し且つ移行させるように、データ構造を作成するように構成されたコンパイラをさらに含む、
請求項9に記載のコンピューティングシステム。 - 前記第1のマイクロアーキテクチャは、単一命令複数データ(SIMD)マイクロアーキテクチャであり、前記第2のマイクロアーキテクチャは、汎用マイクロアーキテクチャである、請求項10に記載のコンピューティングシステム。
- 前記コンパイラは、プロファイルランタイム情報および静的情報の少なくとも1つに基づいて前記特定を行うように構成されている、請求項10に記載のコンピューティングシステム。
- 前記コンパイラは、
前記移行条件を満たしているか否かを判定する命令を用いて、前記第1のプロセッサコアの第1のバージョンのコードを計測し、
前記データ構造によって示された位置でライブ値を検出するとともに実行を開始する命令を用いて、前記第2のプロセッサコアの第2のバージョンのコードを計測するように構成されている、
請求項10に記載のコンピューティングシステム。 - 移行条件を満たしていることを判定するために、前記第1のプロセッサコアおよび前記第2のプロセッサコアの各々は、出口点に到達した前記計算カーネルの並列実行反復回数が所与の閾値を超えているか判定するように構成されている、請求項13に記載のコンピューティングシステム。
- 前記コンパイラは、
前記計算カーネルの後の並列実行反復回数が前記移動条件を満たすという予測に応じて、前記計算カーネルを前記位置で2つの計算サブカーネルに分割し、
前記位置前のコードを含む第1の計算サブカーネルを、前記第1のプロセッサコアにスケジュールし、
前記位置後のコードを含む第2の計算サブカーネルを、前記第2のプロセッサコアにスケジュールするように構成されている、
請求項13に記載のコンピューティングシステム。 - 前記位置は、条件付き分岐命令の直前である、請求項14に記載のコンピューティングシステム。
- プログラム命令を記憶するコンピュータ可読記憶媒体であって、
前記プログラム命令は、
複数の命令を含む計算カーネル内の位置であって、前記計算カーネルの実行中に前記計算カーネルの実行が移行可能な位置を特定し、
前記計算カーネルのコンテキストを維持し且つ移行させるように、データ構造を作成し、
第1のマイクロアーキテクチャを有する第1のプロセッサコア上で実行するために、前記位置前の前記計算カーネル内のコードをスケジュールし、
移行条件を満たしているという指標を受信したことに応じて、
前記コンテキストを、前記第1のマイクロアーキテクチャとは異なる第2のマイクロアーキテクチャを有する第2のプロセッサコアがアクセス可能な位置に移動させ、
前記位置後の前記計算カーネル内のコードを、前記第2のプロセッサコアにスケジュールするように実行可能である、
コンピュータ可読記憶媒体。 - 前記プログラム命令は、前記第1のプロセッサコアに対応する前記計算カーネルの第1のバージョンのコードを生成し、前記第2のプロセッサコアに対応する前記計算カーネルの第2のバージョンのコードを生成するように実行可能である、請求項17に記載のコンピュータ可読記憶媒体。
- 前記プログラム命令は、
前記移行条件を満たしているか否かを判定する命令を用いて、前記第1のプロセッサコアの第1のバージョンのコードを前記位置で計測し、
前記データ構造によって示された位置でライブ値を検出するとともに実行を開始する命令を用いて、前記第2のプロセッサコアの第2のバージョンのコードを前記位置で計測するように実行可能である、
請求項17に記載のコンピュータ可読記憶媒体。 - 移行条件を満たしていることを判定するために、前記プログラム命令は、出口点に到達した前記計算カーネルの並列実行反復回数が所与の閾値を超えているか判定するように実行可能である、請求項19に記載のコンピュータ可読記憶媒体。
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 true JP2014513853A (ja) | 2014-06-05 |
JP2014513853A5 JP2014513853A5 (ja) | 2014-11-06 |
JP5711853B2 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 |
US9417935B2 (en) | 2012-05-01 | 2016-08-16 | Microsoft Technology Licensing, Llc | Many-core process scheduling to maximize cache usage |
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 |
EP2742425A1 (en) * | 2012-05-29 | 2014-06-18 | Qatar Foundation | Graphics processing unit controller, host system, and methods |
US9047196B2 (en) | 2012-06-19 | 2015-06-02 | Concurix Corporation | Usage aware NUMA process scheduling |
US8700838B2 (en) | 2012-06-19 | 2014-04-15 | Concurix Corporation | Allocating heaps in NUMA systems |
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 |
US8707326B2 (en) | 2012-07-17 | 2014-04-22 | Concurix Corporation | Pattern matching process scheduler in message passing environment |
US9043788B2 (en) | 2012-08-10 | 2015-05-26 | Concurix Corporation | Experiment manager for manycore systems |
US9191435B2 (en) * | 2012-08-23 | 2015-11-17 | TidalScale, Inc. | Selective data migration or remapping of virtual processors to provide required data accessibility to processor cores |
US8607018B2 (en) | 2012-11-08 | 2013-12-10 | Concurix Corporation | Memory usage configuration based on observations |
US8656134B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed on executing code |
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 |
US9298511B2 (en) | 2013-03-15 | 2016-03-29 | International Business Machines Corporation | Resolving deployment conflicts in heterogeneous environments |
US20130227529A1 (en) | 2013-03-15 | 2013-08-29 | Concurix Corporation | Runtime Memory Settings Derived from Trace Data |
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 |
WO2015020655A1 (en) * | 2013-08-08 | 2015-02-12 | Empire Technology Development Llc | Migration of executing processes |
CN104254020B (zh) * | 2013-09-25 | 2015-12-02 | 腾讯科技(深圳)有限公司 | 媒体数据的播放方法、装置及终端 |
CN105765524B (zh) * | 2013-10-04 | 2019-10-18 | 英特尔公司 | 用于非均匀核分配的技术 |
JP5946068B2 (ja) * | 2013-12-17 | 2016-07-05 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 演算コア上で複数の演算処理単位が稼働可能なコンピュータ・システムにおける応答性能を評価する計算方法、計算装置、コンピュータ・システムおよびプログラム |
CN104793924B (zh) * | 2014-01-21 | 2019-03-15 | 中兴通讯股份有限公司 | 计算任务的处理方法及装置 |
WO2015149350A1 (zh) * | 2014-04-04 | 2015-10-08 | 华为技术有限公司 | 一种数据处理方法及系统 |
US10133572B2 (en) * | 2014-05-02 | 2018-11-20 | Qualcomm Incorporated | Techniques for serialized execution in a SIMD processing system |
US10291391B2 (en) * | 2014-06-04 | 2019-05-14 | Giesecke+Devrient Mobile Security 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 |
US20150370882A1 (en) * | 2014-06-20 | 2015-12-24 | Amazon Technologies, Inc. | Use of dependency graphs to dynamically update n-dimensional cubes |
US10769175B1 (en) | 2014-06-20 | 2020-09-08 | Amazon Technologies, Inc. | Real-time hosted system analytics |
EP3158478B1 (en) | 2014-06-20 | 2023-06-07 | Amazon Technologies, Inc. | Embeddable cloud analytics |
US11868372B1 (en) | 2014-06-20 | 2024-01-09 | Amazon Technologies, Inc. | Automated hierarchy detection for cloud-based 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 |
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 |
CN104899385B (zh) * | 2015-06-16 | 2018-01-26 | 北京思朗科技有限责任公司 | 异构多核的SoC设计评估系统 |
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 |
US10620992B2 (en) | 2016-08-29 | 2020-04-14 | TidalScale, Inc. | Resource migration negotiation |
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 |
WO2018234869A2 (en) * | 2017-06-22 | 2018-12-27 | Banuba Limited | ENHANCING THE FUNCTIONING OF COMPUTER DEVICES USING AN ADAPTIVE DYNAMIC WORK LOAD DISTRIBUTION BETWEEN ONE OR MORE CENTRAL PROCESSING UNITS AND ONE OR MORE GRAPHIC PROCESSING UNITS, AND COMPUTER SYSTEMS AND COMPUTER-IMPLEMENTED METHODS BASED ON THE SAME -THIS |
US10579274B2 (en) | 2017-06-27 | 2020-03-03 | TidalScale, Inc. | Hierarchical stalling strategies for handling stalling events in a virtualized environment |
CN114449272B (zh) * | 2017-07-04 | 2023-09-26 | 三星电子株式会社 | 使用多核变换的视频解码/编码方法和设备 |
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 | 三菱電機株式会社 | データ処理実行装置、データ処理実行方法及びデータ処理実行プログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008513912A (ja) * | 2004-09-28 | 2008-05-01 | インテル・コーポレーション | 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置 |
US20090222654A1 (en) * | 2008-02-29 | 2009-09-03 | Herbert Hum | Distribution of tasks among asymmetric processing elements |
JP2010128895A (ja) * | 2008-11-28 | 2010-06-10 | Internatl Business Mach Corp <Ibm> | スレッド実行制御方法、およびシステム |
WO2011017026A1 (en) * | 2009-07-27 | 2011-02-10 | Advanced Micro Devices, Inc. | Mapping processing logic having data parallel threads across processors |
Family Cites Families (17)
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 |
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 | 삼성전자주식회사 | 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치 |
US9223677B2 (en) * | 2008-06-11 | 2015-12-29 | Arm Limited | Generation of trace data in a multi-processor system |
US8732714B2 (en) * | 2008-12-08 | 2014-05-20 | Kpit Technologies Limited | 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 |
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 |
CA2793537A1 (en) * | 2010-04-13 | 2011-10-20 | Et International, Inc. | Runspace method, system and apparatus |
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 WO PCT/US2012/038057 patent/WO2012158753A1/en active Application Filing
- 2012-05-16 KR KR1020137032393A patent/KR101559090B1/ko active IP Right Grant
- 2012-05-16 JP JP2014511476A patent/JP5711853B2/ja active Active
- 2012-05-16 CN CN201280023687.XA patent/CN103534686B/zh active Active
- 2012-05-16 EP EP12722661.1A patent/EP2710467B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008513912A (ja) * | 2004-09-28 | 2008-05-01 | インテル・コーポレーション | 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置 |
US20090222654A1 (en) * | 2008-02-29 | 2009-09-03 | Herbert Hum | Distribution of tasks among asymmetric processing elements |
JP2010128895A (ja) * | 2008-11-28 | 2010-06-10 | Internatl Business Mach Corp <Ibm> | スレッド実行制御方法、およびシステム |
WO2011017026A1 (en) * | 2009-07-27 | 2011-02-10 | Advanced Micro Devices, Inc. | Mapping processing logic having data parallel threads across processors |
Also Published As
Publication number | Publication date |
---|---|
JP5711853B2 (ja) | 2015-05-07 |
EP2710467B1 (en) | 2017-11-22 |
KR20140029480A (ko) | 2014-03-10 |
EP2710467A1 (en) | 2014-03-26 |
WO2012158753A1 (en) | 2012-11-22 |
US20120297163A1 (en) | 2012-11-22 |
KR101559090B1 (ko) | 2015-10-19 |
CN103534686B (zh) | 2017-07-11 |
US8683468B2 (en) | 2014-03-25 |
CN103534686A (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5711853B2 (ja) | 異種コアの自動カーネル移行 | |
JP5859639B2 (ja) | 異種コア用の自動負荷バランシング | |
US11954036B2 (en) | Prefetch kernels on data-parallel processors | |
Yan et al. | Alleviating irregularity in graph analytics acceleration: A hardware/software co-design approach | |
US11442795B2 (en) | Convergence among concurrently executing threads | |
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) | 汎用プロセッサによるリターゲティングされたグラフィックプロセッサ加速コードの実行 | |
CN105074657B (zh) | 并行管道中的发散分支的硬件和软件解决方案 | |
JP2021501949A (ja) | マルチ・プロセッサ・システム用プログラミングの流れ | |
US11934867B2 (en) | Techniques for divergent thread group execution scheduling | |
US20090133022A1 (en) | Multiprocessing apparatus, system and method | |
Mattheakis et al. | Significantly reducing MPI intercommunication latency and power overhead in both embedded and HPC systems | |
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 | |
Loew et al. | A co-processor approach for accelerating data-structure intensive algorithms | |
Leupers et al. | Scalable Simulation for MPSoC Software and Architectures | |
Yan et al. | An Interference Matrix Based Approach to Bounding Worst-Case Inter-Thread Cache Interferences and WCET for Multi-Core Processors |
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 |