KR20140029480A - 이종 코어를 위한 자동 커널 마이그레이션 - Google Patents
이종 코어를 위한 자동 커널 마이그레이션 Download PDFInfo
- Publication number
- KR20140029480A KR20140029480A KR1020137032393A KR20137032393A KR20140029480A KR 20140029480 A KR20140029480 A KR 20140029480A KR 1020137032393 A KR1020137032393 A KR 1020137032393A KR 20137032393 A KR20137032393 A KR 20137032393A KR 20140029480 A KR20140029480 A KR 20140029480A
- Authority
- KR
- South Korea
- Prior art keywords
- processor core
- compute
- architecture
- location
- code
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
Description
도 2는 컴퓨트 커널을 이용하는 소스 코드의 일 실시예의 일반화된 블록도;
도 3은 조건부 선언문(conditional statement)을 구비하는 컴퓨트 커널을 한정하는 소스 코드의 일 실시예의 일반화된 블록도;
도 4는 하드웨어 자원 및 컴퓨트 커널 사이에 스케줄링된 할당의 일 실시예의 일반화된 블록도;
도 5는 2개의 유형의 프로세서 코어에 대한 마이크로-아키텍처의 논리적 레이아웃의 일 실시예의 일반화된 블록도;
도 6은 일반 목적 파이프라인 실행 흐름의 일 실시예의 일반화된 블록도;
도 7a는 SIMD 파이프라인 실행 흐름의 일 실시예의 일반화된 블록도;
도 7b는 SIMD 파이프라인 실행 흐름의 일 실시예의 또 다른 일반화된 블록도;
도 8은 마이그레이션 태그된 브랜치를 구비하는 프로그램 코드의 일 실시예의 일반화된 블록도;
도 9는 컴퓨트 커널 마이그레이션을 위한 코드를 설치(instrument)하는 방법의 일 실시예를 도시한 일반화된 흐름도;
도 10은 프로그램 실행 동안 컴퓨트 커널을 마이그레이션하는 방법의 일 실시예를 도시한 일반화된 흐름도.
본 발명은 여러 변형 및 대안적인 형상을 취할 수 있으나, 특정 실시예만이 도면에 예로서 도시되고 본 명세서에 상세히 설명된다. 그러나, 도면 및 이에 대한 상세한 설명은 개시된 특정 형태로 본 발명을 제한하려는 것이 전혀 아니고, 오히려 본 발명은 첨부된 청구범위에 의해 한정된 본 발명의 사상과 범위 내에 있는 모든 변형, 균등물 및 대안을 포함하려는 것으로 이해된다.
Claims (20)
- 방법으로서,
컴퓨트 커널(compute kernel)의 실행 동안 해당 컴퓨트 커널의 실행이 마이그레이션(migrate)될 수 있는 복수의 명령을 포함하는 컴퓨트 커널 내 위치를 식별하는 단계;
상기 컴퓨트 커널의 컨텍스트(context)를 유지하고 마이그레이션하는 데이터 구조를 생성하는 단계;
제1 마이크로-아키텍처를 구비하는 제1 프로세서 코어에서 실행하기 위한 상기 위치 전의 상기 컴퓨트 커널의 코드를 스케줄링하는 단계;
마이그레이션 조건이 만족된 것을 나타내는 지시를 수신한 것에 응답하여:
상기 제1 마이크로-아키텍처와는 상이한 제2 마이크로-아키텍처를 구비하는 제2 프로세서 코어에 의해 액세스가능한 위치로 상기 컨텍스트를 이동시키는 단계; 및
상기 위치 후의 상기 컴퓨트 커널의 코드를 상기 제2 프로세서 코어로 스케줄링하는 단계를 포함하는 방법. - 제1항에 있어서, 상기 제1 프로세서 코어에 대응하는 컴퓨트 커널을 위한 코드의 제1 버전을 생성하는 단계, 및 상기 제2 프로세서 코어에 대응하는 컴퓨트 커널을 위한 코드의 제2 버전을 생성하는 단계를 더 포함하는 방법.
- 제2항에 있어서, 상기 제1 마이크로-아키텍처는 단일 명령 다중 데이터(single instruction multiple data: SIMD) 마이크로-아키텍처이고, 상기 제2 마이크로-아키텍처는 일반 목적 마이크로-아키텍처인 것인 방법.
- 제2항에 있어서, 프로파일 실행시간 정보 및 정적 정보 중 하나에 적어도 기초하여 상기 식별을 수행하는 단계를 더 포함하는 방법.
- 제2항에 있어서,
마이그레이션 조건이 만족되었는지의 여부를 결정하는 명령을 구비하는 상기 제1 프로세서 코어를 위한 코드의 제1 버전을 설치하는 단계; 및
상기 데이터 구조에 의해 지시된 위치에서 라이브 값을 찾아 실행을 시작하는 명령을 구비하는 상기 제2 프로세서 코어를 위한 코드의 제2 버전을 설치하는 단계를 더 포함하는 방법. - 제5항에 있어서, 마이그레이션 조건이 만족되었는지를 결정하기 위해, 상기 방법은, 출구 점에 도달한 상기 컴퓨트 커널의 병렬 실행 반복의 수가 주어진 임계값을 초과하는지를 결정하는 단계를 더 포함하는 것인 방법.
- 제5항에 있어서,
상기 컴퓨트 커널의 차후 병렬 실행 반복의 수가 마이그레이션 조건을 만족하는 것으로 예측된 것에 응답하여, 상기 위치에서 상기 컴퓨트 커널을 2개의 컴퓨트 서브 커널로 분할하는 단계;
제1 컴퓨트 서브 커널을 상기 제1 프로세서 코어로 스케줄링하는 단계; 및
제2 컴퓨트 서브 커널을 상기 제2 프로세서 코어로 스케줄링하는 단계를 더 포함하되,
상기 제1 컴퓨트 서브 커널은 상기 주어진 위치 전의 코드를 포함하고, 상기 제2 컴퓨트 서브 커널은 상기 주어진 위치 후의 코드를 포함하는 것인 방법. - 제6항에 있어서, 상기 위치는 조건부 브랜치 명령 바로 전에 있는 것인 방법.
- 이종 멀티-코어 아키텍처를 포함하는 컴퓨팅 시스템으로서,
제1 마이크로-아키텍처를 구비하는 제1 프로세서 코어;
상기 제1 마이크로-아키텍처와는 상이한 제2 마이크로-아키텍처를 구비하는 제2 프로세서 코어; 및
스케줄러를 구비하는 운영 시스템을 포함하되,
상기 스케줄러는,
제1 마이크로-아키텍처를 구비하는 제1 프로세서 코어에서 실행하기 위한 위치 전의 컴퓨트 커널 내 코드를 스케줄링하는 동작; 및
마이그레이션 조건이 만족되는 것을 나타내는 지시를 수신한 것에 응답하여:
상기 제1 마이크로-아키텍처와는 상이한 제2 마이크로-아키텍처를 구비하는 제2 프로세서 코어에 의해 액세스가능한 위치로 상기 컴퓨트 커널의 컨텍스트를 이동시키는 동작; 및
상기 위치 후의 상기 컴퓨트 커널의 코드를 상기 제2 프로세서 코어로 스케줄링하는 동작을 수행하도록 구성된 것인 컴퓨팅 시스템. - 제9항에 있어서, 컴파일러를 더 포함하되, 상기 컴파일러는,
복수의 명령을 포함하는 컴퓨트 커널 내 위치를, 상기 컴퓨트 커널의 실행 동안 상기 컴퓨트 커널의 실행이 마이그레이션될 수 있는 위치로서 식별하는 동작; 및
상기 컴퓨트 커널의 컨텍스트를 유지하고 마이그레이션하는 데이터 구조를 생성하는 동작을 수행하도록 구성된 것인 컴퓨팅 시스템. - 제10항에 있어서, 상기 제1 마이크로-아키텍처는 단일 명령 다중 데이터(SIMD) 마이크로-아키텍처이고, 상기 제2 마이크로-아키텍처는 일반 목적 마이크로-아키텍처인 것인 컴퓨팅 시스템.
- 제10항에 있어서, 상기 컴파일러는 프로파일 실행시간 정보 및 정적 정보 중 적어도 하나에 기초하여 상기 식별하는 동작을 수행하도록 더 구성된 것인 컴퓨팅 시스템.
- 제10항에 있어서, 상기 컴파일러는,
마이그레이션 조건이 만족되었는지의 여부를 결정하는 명령을 구비하는 상기 제1 프로세서 코어를 위한 코드의 제1 버전을 설치하는 동작; 및
상기 데이터 구조에 의해 지시된 위치에서 라이브 값을 찾고 실행을 시작하는 명령을 구비하는 상기 제2 프로세서 코어를 위한 코드의 제2 버전을 설치하는 동작을 수행하도록 더 구성된 것인 컴퓨팅 시스템. - 제13항에 있어서, 마이그레이션 조건이 만족되었는지를 결정하기 위해, 상기 제1 및 상기 제2 프로세서 코어 각각은 출구 점에 도달한 컴퓨터 커널의 병렬 실행 반복의 수가 주어진 임계값을 초과하는지를 결정하도록 구성된 것인 컴퓨팅 시스템.
- 제13항에 있어서, 상기 컴파일러는,
상기 컴퓨트 커널의 차후 병렬 실행 반복의 수가 상기 마이그레이션 조건을 만족하는 것으로 예측된 것에 응답하여, 주어진 위치에서 상기 컴퓨트 커널을 2개의 컴퓨트 서브 커널로 분할하는 동작;
제1 컴퓨트 서브 커널을 상기 제1 프로세서 코어로 스케줄링하는 동작; 및
제2 컴퓨트 서브 커널을 상기 제2 프로세서 코어로 스케줄링하는 동작을 수행하도록 더 구성되고,
상기 제1 컴퓨트 서브 커널은 상기 위치 전의 코드를 포함하며, 상기 제2 컴퓨트 서브 커널은 상기 위치 후의 코드를 포함하는 것인 컴퓨팅 시스템. - 제14항에 있어서, 상기 위치는 조건부 브랜치 명령 바로 전에 있는 것인 컴퓨팅 시스템.
- 프로그램 명령을 저장하는 컴퓨터 판독가능한 저장 매체로서, 상기 프로그램 명령은,
컴퓨트 커널의 실행 동안 해당 컴퓨트 커널의 실행이 마이그레이션될 수 있는 복수의 명령을 포함하는 컴퓨트 커널 내 위치를 식별하는 동작;
상기 컴퓨트 커널의 컨텍스트를 유지하고 마이그레이션하는 데이터 구조를 생성하는 동작;
제1 마이크로-아키텍처를 구비하는 제1 프로세서 코어에서 실행하기 위한 상기 위치 전의 상기 컴퓨트 커널의 코드를 스케줄링하는 동작;
마이그레이션 조건이 만족된 것을 나타내는 지시를 수신한 것에 응답하여:
상기 제1 마이크로-아키텍처와는 상이한 제2 마이크로-아키텍처를 구비하는 제2 프로세서 코어에 의해 액세스가능한 위치로 상기 컨텍스트를 이동시키는 동작; 및
상기 위치 후의 상기 컴퓨트 커널의 코드를 상기 제2 프로세서 코어로 스케줄링하는 동작을 수행하도록 실행가능한 것인 컴퓨터 판독가능한 저장 매체. - 제17항에 있어서, 상기 프로그램 명령은 상기 제1 프로세서 코어에 대응하는 상기 컴퓨트 커널을 위한 코드의 제1 버전을 생성하는 동작, 및 상기 제2 프로세서 코어에 대응하는 상기 컴퓨트 커널을 위한 코드의 제2 버전을 생성하는 동작을 수행하도록 더 실행가능한 것인 컴퓨터 판독가능한 저장 매체.
- 제17항에 있어서, 상기 프로그램 명령은,
마이그레이션 조건이 만족되었는지의 여부를 결정하는 명령을 구비하는 상기 위치에 제1 프로세서 코어를 위한 코드의 제1 버전을 설치하는 동작; 및
상기 데이터 구조에 의해 지시된 위치에서 라이브 값을 찾고 실행을 시작하는 명령을 구비하는 상기 위치에 제2 프로세서 코어를 위한 코드의 제2 버전을 설치하는 동작을 수행하도록 더 실행가능한 것인 컴퓨터 판독가능한 저장 매체. - 제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 (2)
| Publication Number | Publication Date |
|---|---|
| KR20140029480A true KR20140029480A (ko) | 2014-03-10 |
| KR101559090B1 KR101559090B1 (ko) | 2015-10-19 |
Family
ID=46147108
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020137032393A Active KR101559090B1 (ko) | 2011-05-16 | 2012-05-16 | 이종 코어를 위한 자동 커널 마이그레이션 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US8683468B2 (ko) |
| EP (1) | EP2710467B1 (ko) |
| JP (1) | JP5711853B2 (ko) |
| KR (1) | KR101559090B1 (ko) |
| CN (1) | CN103534686B (ko) |
| WO (1) | WO2012158753A1 (ko) |
Families Citing this family (76)
| 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 |
| US8726255B2 (en) | 2012-05-01 | 2014-05-13 | Concurix Corporation | Recompiling with generic to specific replacement |
| 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 |
| WO2013178245A1 (en) * | 2012-05-29 | 2013-12-05 | Qatar Foundation | A 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 |
| 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 |
| US9575813B2 (en) | 2012-07-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Pattern matching process scheduler with upstream optimization |
| 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 |
| 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 |
| US8607018B2 (en) | 2012-11-08 | 2013-12-10 | Concurix Corporation | Memory usage configuration based on observations |
| 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 |
| US9292349B2 (en) | 2013-03-15 | 2016-03-22 | International Business Machines Corporation | Detecting deployment conflicts in heterogenous environments |
| US9298511B2 (en) * | 2013-03-15 | 2016-03-29 | International Business Machines Corporation | Resolving deployment conflicts in heterogeneous 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 | 腾讯科技(深圳)有限公司 | 媒体数据的播放方法、装置及终端 |
| 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 | 中兴通讯股份有限公司 | 计算任务的处理方法及装置 |
| 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 |
| 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 |
| EP3158478B1 (en) | 2014-06-20 | 2023-06-07 | Amazon Technologies, Inc. | Embeddable cloud analytics |
| 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 |
| 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 |
| US11240334B2 (en) | 2015-10-01 | 2022-02-01 | TidalScale, Inc. | Network attached memory using selective resource migration |
| 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 |
| US10579421B2 (en) | 2016-08-29 | 2020-03-03 | TidalScale, Inc. | Dynamic scheduling of virtual processors in a distributed system |
| 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 | Improving operation of computing devices by dynamically adaptive distribution of workload between central processing unit(s) and graphics processing unit(s), and computer systems and computer-implemented methods in accordance with thereof |
| US11023135B2 (en) | 2017-06-27 | 2021-06-01 | TidalScale, Inc. | Handling frequently accessed pages |
| 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 |
| CN110716750B (zh) * | 2018-07-11 | 2025-05-30 | 超威半导体公司 | 用于部分波前合并的方法和系统 |
| US11468338B2 (en) | 2018-09-11 | 2022-10-11 | Apple Inc. | Compiling models for dedicated hardware |
| CN110968320B (zh) * | 2018-09-30 | 2024-11-08 | 上海登临科技有限公司 | 针对异构硬件架构的联合编译方法和编译系统 |
| US11461135B2 (en) * | 2019-10-25 | 2022-10-04 | International Business Machines Corporation | Dynamically modifying the parallelism of a task in a pipeline |
| CN114761927A (zh) * | 2019-12-12 | 2022-07-15 | 三菱电机株式会社 | 数据处理执行装置、数据处理执行方法以及数据处理执行程序 |
| IL294005A (en) * | 2019-12-16 | 2022-08-01 | Kratos Integral Holdings Llc | System and method for managing channel bandwidth of a communication signal |
| US11288765B2 (en) | 2020-04-28 | 2022-03-29 | Sony Interactive Entertainment LLC | System and method for efficient multi-GPU execution of kernels by region based dependencies |
| KR102871422B1 (ko) * | 2020-10-21 | 2025-10-15 | 삼성전자주식회사 | 데이터 처리 방법 및 장치 및 이를 포함한 전자 장치 및 가속기 시스템 |
| EP4348950A1 (en) | 2021-05-24 | 2024-04-10 | Kratos Integral Holdings, LLC | Systems and methods for signal modulation of a plurality of downlink signals representative of a communication signal |
| US12217175B2 (en) | 2021-07-16 | 2025-02-04 | Intel Corporation | Methods and apparatus to conditionally activate a big core in a computing system |
| US12511801B2 (en) * | 2022-10-27 | 2025-12-30 | Capital One Services, Llc | Generating video streams to depict bot performance during an automation run |
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 |
| EP2558935A4 (en) * | 2010-04-13 | 2014-12-17 | Int Inc | RUNSPACE PROCESS, SYSTEM AND DEVICE |
| 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 not_active Ceased
- 2012-05-16 EP EP12722661.1A patent/EP2710467B1/en active Active
- 2012-05-16 JP JP2014511476A patent/JP5711853B2/ja active Active
- 2012-05-16 KR KR1020137032393A patent/KR101559090B1/ko active Active
- 2012-05-16 CN CN201280023687.XA patent/CN103534686B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP5711853B2 (ja) | 2015-05-07 |
| CN103534686A (zh) | 2014-01-22 |
| EP2710467B1 (en) | 2017-11-22 |
| JP2014513853A (ja) | 2014-06-05 |
| KR101559090B1 (ko) | 2015-10-19 |
| US20120297163A1 (en) | 2012-11-22 |
| WO2012158753A1 (en) | 2012-11-22 |
| CN103534686B (zh) | 2017-07-11 |
| EP2710467A1 (en) | 2014-03-26 |
| US8683468B2 (en) | 2014-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101559090B1 (ko) | 이종 코어를 위한 자동 커널 마이그레이션 | |
| KR101839544B1 (ko) | 이종 코어의 자동 부하 균형 | |
| US20230076872A1 (en) | Prefetch kernels on data-parallel processors | |
| JP6159825B2 (ja) | ハードウェアポインタを使用したsimdコア内での分岐ブランチに対するソリューション | |
| US8528001B2 (en) | Controlling and dynamically varying automatic parallelization | |
| US20120331278A1 (en) | Branch removal by data shuffling | |
| CN105074657B (zh) | 并行管道中的发散分支的硬件和软件解决方案 | |
| Mikushin et al. | KernelGen--The Design and Implementation of a Next Generation Compiler Platform for Accelerating Numerical Models on GPUs | |
| US9354850B2 (en) | Method and apparatus for instruction scheduling using software pipelining | |
| US20180246847A1 (en) | Highly efficient scheduler for a fine grained graph processor | |
| CN107038019A (zh) | 单指令多数据计算系统中处理指令的方法及计算系统 | |
| US20090133022A1 (en) | Multiprocessing apparatus, system and method | |
| Repetti | Designing, Implementing and Programming a Massively Multithreaded Spatial Accelerator Architecture | |
| Jee et al. | Dynamically scheduling vliw instructions with dependency information | |
| Grävinghoff | On the Realization of Fine Grained Multithreading in Software | |
| Loew et al. | A co-processor approach for accelerating data-structure intensive algorithms | |
| Leupers et al. | Scalable Simulation for MPSoC Software and Architectures | |
| Bettarelli et al. | Extensions of the hArtes Tool Chain |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| A201 | Request for examination | ||
| A302 | Request for accelerated examination | ||
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PA0302 | Request for accelerated examination |
St.27 status event code: A-1-2-D10-D17-exm-PA0302 St.27 status event code: A-1-2-D10-D16-exm-PA0302 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20180918 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-4-4-U10-U11-OTH-PR1001 (AS PROVIDED BY THE NATIONAL OFFICE) Year of fee payment: 11 |