KR20130080323A - 배열 구조를 갖는 프로세서를 위한 전력 제어 방법 및 장치 - Google Patents

배열 구조를 갖는 프로세서를 위한 전력 제어 방법 및 장치 Download PDF

Info

Publication number
KR20130080323A
KR20130080323A KR1020120001168A KR20120001168A KR20130080323A KR 20130080323 A KR20130080323 A KR 20130080323A KR 1020120001168 A KR1020120001168 A KR 1020120001168A KR 20120001168 A KR20120001168 A KR 20120001168A KR 20130080323 A KR20130080323 A KR 20130080323A
Authority
KR
South Korea
Prior art keywords
unit
function
functional
function unit
inactive
Prior art date
Application number
KR1020120001168A
Other languages
English (en)
Inventor
양호
김경연
박영환
배기택
Original Assignee
삼성전자주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120001168A priority Critical patent/KR20130080323A/ko
Priority to US13/606,384 priority patent/US20130173935A1/en
Publication of KR20130080323A publication Critical patent/KR20130080323A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4432Reducing the energy consumption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

리컨피규어러블 어레이 프로세서의 저전력 동작을 위하여 전력을 제어하는 방법 및 장치가 개시된다. 전력 제어 방법은 리컨피규어러블 어레이 프로세서에 포함된 복수의 함수 유닛들 중에서 활성 함수 유닛 및 비활성 함수 유닛을 결정하고, 비활성 함수 유닛으로 공급되는 전력을 차단하여 전력 제어를 수행할 수 있다.

Description

배열 구조를 갖는 프로세서를 위한 전력 제어 방법 및 장치{METHOD AND APPARATUS OF POWER CONTROL FOR ARRAY PROCESSOR}
배열 구조를 갖는 프로세서(Array Processor)에서 필요한 만큼의 리소스(Resource)를 사용하고 나머지 리소스에 대한 전력을 효과적으로 차단함으로써 전력 소모를 감소시키는 방법 및 장치에 관한 것이다.
일반적으로, 리컨피규어러블 어레이 프로세서(Reconfigurable Array Processor)에 포함된 함수 유닛(Function Unit: FU)이 많은 경우, 스케쥴러(Scheduler)는 어레이 프로세서에 포함된 전체 함수 유닛에 균등한 비율로 계산량을 할당하여 하드웨어 리소스(H/W Resource)를 사용한다. 그러면, 배열 구조를 갖는 프로세서에 포함된 대부분의 모든 함수 유닛이 명령어를 처리하기 위해 사용된다. 여기서, 리컨피규어러블 어레이는, 일련의 특정 함수들을 병렬 처리하기 위해 복수개의 함수 유닛에 있는 연산자를 동적으로 연결하는 리컨피규어러블 아키텍쳐(reconfigurable architecture)를 의미한다. 그리고, 함수 유닛은, 레지스터 파일에 저장된 데이터에 대한 계산(Computation)을 수행하는 연산자들을 포함하고 있다.
이처럼, 모든 함수 유닛이 사용되는 경우, 모든 함수 유닛으로 전력이 공급되어야 하므로 전력 소모가 많이 발생한다.
이에 따라, 사용되는 함수 유닛에 공급되는 전력을 제어하여 전력 소모를 감소시킬 수 있는 기술이 필요하다.
본 전력 제어 방법은, 리컨피규어러블 어레이 프로세서를 구성하는 복수의 함수 유닛들(Function Unit)을 활성 함수 유닛 또는 비활성 함수 유닛으로 결정하는 단계 - 상기 활성 함수 유닛은, 상기 복수의 함수 유닛들 중에서 상기 비활성 함수 유닛을 제외한 함수 유닛임-, 상기 활성 함수 유닛의 컴파일(compile)에 기초하여 함수 유닛의 성능을 계산하는 단계, 및 상기 함수 유닛의 성능에 기초하여 상기 복수의 함수 유닛들에 공급되는 전력을 제어하는 단계를 포함할 수 있다.
또한, 상기 결정하는 단계는, 상기 리컨피규어러블 어레이 프로세서에 포함된 모든 함수 유닛들을 대상으로 컴파일을 수행하여 함수 유닛의 사용율을 계산하는 단계, 및 상기 함수 유닛의 사용율과 함수 유닛의 기준 사용율에 기초하여 복수의 함수 유닛들(Function Unit)을 활성 함수 유닛과 비활성 함수 유닛으로 분류하는 단계를 포함할 수 있다.
또한, 상기 결정하는 단계는, 상기 복수의 함수 유닛들에 할당된 복합 명령어에 기초하여 상기 복수의 함수 유닛들(Function Unit) 중에서 활성 함수 유닛과 비활성 함수 유닛을 결정할 수 있다.
또한, 상기 결정하는 단계는, 상기 리컨피규어러블 어레이 프로세서에서 수행될 커널(Kernel)에 포함되지 않은 복잡하게 구성된 복합 명령어가 최대한 배제될 수 있도록 할당된 함수 유닛을 비활성 함수 유닛으로 결정할 수 있다.
또한, 상기 결정하는 단계는, 상기 리컨피규어러블 어레이 프로세서에서 수행될 커널(Kernel)에 포함된 복합 명령어가 꼭 필요한 경우 할당된 함수 유닛을 활성 함수 유닛으로 결정할 수 있다.
또한, 상기 전력을 제어하는 단계는, 상기 활성 함수 유닛의 성능과 함수 유닛의 기준 성능에 기초하여 상기 비활성 함수 유닛 중 하나 이상을 활성 함수 유닛으로 변경할지 여부를 결정할 수 있다.
또한, 상기 활성 함수 유닛의 성능을 계산하는 단계는, 상기 복수의 함수 유닛들 중에서 결정된 활성 함수 유닛을 대상으로 컴파일을 수행하여 상기 함수 유닛의 성능을 재계산할 수 있다.
또한, 상기 전력을 제어하는 단계는, 상기 비활성 함수 유닛을 대상으로 파워 게이팅(Power Gating) 또는 클럭 게이팅(Clock Gating)을 수행하여 전력을 제어할 수 있다.
본 전력 제어 장치는, 복수의 함수 유닛들(Function Unit)을 포함하는 리컨피규어러블 어레이 프로세서에서 활성 함수 유닛 및 비활성 함수 유닛 중 적어도 하나를 결정하는 유닛 결정부 - 상기 활성 함수 유닛은, 상기 복수의 함수 유닛들 중에서 상기 비활성 함수 유닛을 제외한 함수 유닛임-, 상기 활성 함수 유닛의 컴파일(compile)에 기초하여 함수 유닛의 성능을 계산하는 성능 계산부, 및 상기 함수 유닛의 성능에 기초하여 상기 복수의 함수 유닛들에 공급되는 전력을 제어하는 전력 제어부를 포함할 수 있다.
본 발명의 실시예에 따르면, 리컨피규어러블 어레이 프로세서에 포함된 복수의 함수 유닛을 활성 함수 유닛 및 비활성 함수 유닛으로 분류하고, 비활성 함수 유닛으로 공급되는 전력을 제어함에 따라 전력 소모를 감소시킬 수 있다.
도 1은 복수의 함수 유닛을 포함하는 리컨피규어러블 어레이 프로세서의 구조를 도시한 도면이디.
도 2는 리컨피규어러블 어레이 프로세서를 이용한 전력 제어 방법을 설명하기 위해 제공되는 흐름도이다.
도 3은 16개의 함수 유닛으로 구성된 어레이 프로세서의 높은 사용율을 도시한 도면이다.
도 4는 16개의 함수 유닛으로 구성된 어레이 프로세서의 낮은 사용율을 도시한 도면이다.
도 5는 비활성 유닛 및 활성 유닛을 결정하는 동작을 설명하기 위해 제공되는 도면이다.
도 6은 리컨피규어러블 어레이 프로세서에 포함된 함수 유닛들에 대해 전력 제어를 수행하는 동작을 설명하기 위해 제공되는 도면이다.
도 7은 리컨피규어러블 어레이 프로세서에서의 전력 제어 장치의 세부 구성을 도시한 블럭도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 복수의 함수 유닛을 포함하는 리컨피규어러블 어레이 프로세서의 구조를 도시한 도면이다.
도 1에 따르면, 리컨피규어러블 어레이 프로세서는(101)는 복수의 함수 유닛(102), 및 중앙 레지스터 파일(104)을 포함할 수 있다.
여기서, 함수 유닛(102)은 여러 연산자를 포함하고 있으면서 계산(computation)을 수행하는 유닛이고, 중앙 레지스터 파일(104)은 함수 유닛에서 처리하는데 필요한 데이터 또는 결과를 저장할 수 있다.
그리고, VLIW(Very Long Instruction Word: 103)는 리컨피규어러블 어레이 프로세서(101)의 동작을 제어하는 호스트 프로세서로서, 커널(Kernel)의 제어 코드를 수행하는 함수 유닛을 포함하고 있으며, 리컨피규어러블 어레이 프로세서(101)에 포함된 복수의 함수 유닛(102) 중에서 일부의 함수 유닛(105)을 사용할 수도 있다.
여기서, 중앙 레지스터 파일(104)은 호스트 프로세서인 VLIW(103)와 리컨피규어러블 어레이 프로세서(101)에 공유되어 두 프로세서 간에 필요한 데이터를 교환하는데 사용된다.
복수의 함수 유닛(102)에는 커널(Kernel)을 수행하기 위한 명령어들이 할당될 수 있으며, 할당된 명령어들을 실행하기 위해서는 해당 함수 유닛 모두에 전력이 공급될 수 있다. 여기서, 커널은, 리컨피규어러블 어레이 프로세서에서 실행되는 프로그램이다. 예를 들어, 커널은 아래의 표 1과 같은 루프(loop)가 포함된 프로그램일 수 있다.
Figure pat00001
이때, 전력 제어 장치는, 복수의 함수 유닛 중 명령어가 사용되지 않는 일부 함수 유닛에 대해 파워 게이팅(Power Gating) 또는 클럭 게이팅(Clock Gating)을 수행함에 따라 전력 소모를 감소시킬 수 있다. 여기서, 파워 게이팅은, 함수 유닛으로 공급되는 전력을 차단하는 것이고, 클럭 게이팅은 함수 유닛으로 공급되는 클럭을 차단하는 것을 의미할 수 있다.
도 2는 리컨피규어러블 어레이 프로세서를 이용한 전력 제어 방법을 설명하기 위해 제공되는 흐름도이다.
도 2에서, 전력 제어 방법은 도 7의 전력 제어 장치에 의해 수행될 수 있다.
도 2를 참고하면, 리컨피규어러블 어레이 프로세서를 위한 전력 제어 장치는, 전력 제어 방법을 적용할 지를 판단하기 위해 리컨피규어러블 어레이 프로세서에 포함된 복수의 함수 유닛을 모두 활성화한 상태에서 컴파일을 수행할 수 있다.
예를 들어, 리컨피규어러블 어레이 프로세서에 16개의 함수 유닛이 포함된 경우, 전력 제어 장치는 16개의 함수 유닛 모두를 사용하여 컴파일(compile)을 수행할 수 있다.
그러면, 201 단계에서, 전력 제어 장치는, 모든 함수 유닛이 활성화된 상태에서 컴파일을 수행한 결과에 기초하여 함수 유닛의 사용율을 계산할 수 있다.
일례로, 전력 제어 장치는, 함수 유닛에서 사용된 명령어의 개수, 실행하는 데 필요한 사이클(cycle)의 개수, 및 전체 함수 유닛의 개수에 기초하여 함수 유닛의 사용율을 계산할 수 있다. 예를 들어, 도 3과 같이, 리컨피규어러블 어레이 프로세서에 16개의 함수 유닛이 포함되고, 사이클의 개수가 6개이고, 16개의 함수 유닛에 할당된 명령어의 개수가 86개인 경우, 전력 제어 장치는, 함수 유닛의 사용율을 0.89로 계산할 수 있다. 이때, 함수 유닛의 사용율은 89%로 표현될 수도 있다.
다른 예로, 전력 제어 장치는, 명령어 수준의 병렬성(Instruction Level Parallel: ILP)을 이용하여 함수 유닛의 사용율을 계산할 수 있다.
그리고, 전력 제어 장치는, 함수 유닛의 사용율에 기초하여 커널에 대해 전력 제어를 수행할지 여부를 결정하고, 결정에 기초하여 복수의 함수 유닛을 활성 함수 유닛 및 비활성 함수 유닛으로 분류할 수 있다. 여기서, 비활성 함수 유닛은 컴파일 대상에서 제외된 함수 유닛이고, 활성 함수 유닛은, 리컨피규어러블 어레이 프로세서에 포함된 복수의 함수 유닛들 중에서 비활성 함수 유닛을 제외한 나머지 함수 유닛일 수 있다.
이때, 전력 제어 장치는, 함수 유닛의 사용율이 높지 않은 커널을 대상으로 전력 제어를 수행하는 것으로 결정할 수 있다. 다시 말해, 전력 제어 장치는, ILP가 높지 않은 커널에 대해서는 전력 제어를 수행하는 것으로 결정하고, ILP가 높은 커널에 대해서는 전력 제어 효과가 크지 않기 때문에 전력 제어를 수행하지 않는 것으로 결정할 수 있다.
상세하게는, 202 단계에서, 전력 제어 장치는, 함수 유닛의 사용율과 함수 유닛의 기준 사용율에 기초하여 전력 제어를 수행할지 여부를 결정할 수 있다. 예를 들어, 함수 유닛의 기준 사용율이 a%로 미리 설정된 경우, 전력 제어 장치는, 함수 유닛의 사용율이 a% 미만이면 커널에 대해 전력 제어를 수행하는 것으로 결정할 수 있다. 다시 말해, 전력 제어 장치는, 활성화 되지 않은 함수 유닛으로 공급되는 전력 또는 클럭을 차단하여 전력 제어를 수행하는 것으로 결정할 수 있다.
그러면, 203 단계에서, 전력 제어 장치는, 리컨피규어러블 어레이 프로세서에 포함된 함수 유닛들 중에서 비활성 함수 유닛과 활성 함수 유닛을 결정할 수 있다.
일례로, 전력 제어 장치는, 리컨피규어러블 어레이 프로세서에 포함된 함수 유닛들 각각에 할당된 복합 명령어(complex instruction)에 기초하여 함수 유닛들 중에서 활성 함수 유닛과 비활성 함수 유닛을 결정할 수 있다. 여기서, 복합 명령어는 커널에 사용되는 명령어로서, 다시 말해, 표 1의 루프에서 괄호{}안에서 덧셈, 곱셈 또는 시프트 등을 두 개 이상 사용하여 복잡하게 구성된 명령어를 포함할 수 있다. 예를 들어, 복합 명령어는, 나눗셈(division), 스퀘어-루트(square-root), 및 복소 곱셈(complex multiplication) 등의 연산을 수행하기 위한 명령어이다.
이때, 전력 제어 장치는, 복수의 함수 유닛 중에서 리컨피규어러블 어레이 프로세서에서 수행될 커널에 포함된 복합 명령어가 할당된 함수 유닛을 활성 함수 유닛으로 결정할 수 있다. 여기서, 활성 함수 유닛은 커널에서 사용하는 명령어를 모두 포함하여야 하고, 전체 함수 유닛에 대해 활성 함수 유닛의 사용율이 K% 이상이 되도록 한다.
그리고, 전력 제어 장치는, 복수의 함수 유닛 중에서 리컨피규어러블 어레이 프로세서에서 수행될 커널에 포함되지 않은 복합 명령어가 할당된 함수 유닛을 비활성 함수 유닛으로 결정할 수 있다. 이때, 전력 제어 장치는, 함수 유닛에 할당된 명령어 및 복합 명령어의 복잡도에 기초하여 비활성 함수 유닛을 결정할 수 있다.
이어, 204 단계에서, 전력 제어 장치는, 리컨피규어러블 어레이 프로세서에 포함된 함수 유닛들 중에서 활성 함수 유닛을 대상으로 컴파일을 수행할 수 있다. 예를 들어, 리컨피규어러블 어레이 프로세서에 16개의 함수 유닛이 포함되고, 활성 함수 유닛이 11개, 비활성 함수 유닛이 5개로 결정된 경우, 전력 제어 장치는, 11개의 활성 함수 유닛에 대해서만 컴파일을 수행할 수 있다.
그리고, 205 단계에서, 전력 제어 장치는, 활성 함수 유닛의 컴파일 결과에 기초하여 함수 유닛의 성능을 계산할 수 있다. 다시 말해, 활성 함수 유닛의 성능으로 대상 커널을 리컨피규어러블 어레이 프로세서에서 동작시키는데 필요한 사이클(Cycle)을 계산하고, 전체 함수 유닛을 활성화 시켰을 때 필요한 사이클과의 차이인 사이클 패널티 (Cycle Penalty)를 이용할 수 있다.
이어, 206 단계에서, 전력 제어 장치는, 함수 유닛의 성능과 함수 유닛의 기준 성능에 기초하여 비활성 함수 유닛 중 하나 이상을 활성 함수 유닛으로 변경할지 여부를 결정할 수 있다.
일례로, 함수 유닛의 성능이 함수 유닛의 기준 성능 이상인 경우, 207 단계에서, 전력 제어 장치는, 리컨피규어러블 어레이 프로세서 구조(Architecture)를 저장하고, 저장된 리컨피규어러블 어레이 프로세서 구조에 기초하여 전력 제어를 수행할 수 있다. 예를 들어, 함수 유닛의 기준 성능은 모든 함수 유닛에 대해 컴파일 했을 때의 성능의 일부인 b%로 미리 설정될 수 있다. 다시 말해, 함수 유닛의 기준 성능은, 활성 유닛에 대해서만 컴파일을 수행하더라도 성능 열화가 수용 가능한 범위 내로 적거나, 또는 성능이 좋아지는 임계값으로 미리 설정될 수 있다.
다른 예로, 함수 유닛의 성능이 함수 유닛의 기준 성능 미만인 경우, 208 단계에서, 전력 제어 장치는, 비활성 함수 유닛 중 하나 이상을 활성 함수 유닛으로 변경하는 것으로 결정할 수 있다. 다시 말해, 전력 제어 장치는, 함수 유닛의 성능 및 함수 유닛의 기준 성능에 기초하여 리컨피규어러블 어레이 프로세서에 포함된 함수 유닛들에 대해 스케쥴링을 다시 수행할 수 있다.
이때, 전력 제어 장치는, 비활성 함수 유닛에 할당된 명령어 및 복합 명령어의 복잡도(complexity)에 기초하여 비활성 함수 유닛 중 하나 이상을 활성 함수 유닛으로 변경할 수 있다. 예를 들어, 비활성 함수 유닛1 부터 비활성 함수 유닛3 까지의 3개중에서, 비활성 함수 유닛1의 복잡도가 가장 낮고, 비활성 함수 유닛2의 복잡도가 두 번째로 낮은 경우, 전력 제어 장치는, 비활성 함수 유닛1, 비활성 함수 유닛2, 그리고 비활성 함수 유닛3 순으로 활성 함수 유닛으로 변경할 수 있다. 이때, 하나의 비활성 함수 유닛만 활성 함수 유닛으로 변경하려는 경우, 전력 제어 장치는, 비활성 함수 유닛 1을 활성 함수 유닛으로 변경할 수 있다. 그리고, 두 개의 비활성 함수 유닛을 활성 함수 유닛으로 변경하려는 경우, 전력 제어 장치는, 비활성 함수 유닛 1 및 2를 활성 함수 유닛으로 변경할 수 있다. 다시 말해, 전력 제어 장치는, 복잡도가 낮은 순으로 비활성 함수 유닛을 활성 함수 유닛으로 변경할 수 있다.
그리고, 전력 제어 장치는, 비활성 함수 유닛을 활성 함수 유닛으로 변경하여 204 단계 내지 206 단계의 동작을 반복 수행할 수 있다.
예를 들어, 16개의 함수 유닛 중 비활성 함수 유닛이 5개, 활성 함수 유닛이 11개인 상태에서 1개의 비활성 함수 유닛이 활성 함수 유닛으로 변경된 경우, 전력 제어 장치는, 12개의 활성 함수 유닛을 대상으로 컴파일을 다시 수행할 수 있다. 그리고, 전력 제어 장치는, 다시 수행된 스케쥴링의 결과에 기초하여 함수 유닛의 성능을 재계산할 수 있다. 이어, 전력 제어 장치는, 재계산된 함수 유닛의 성능과 함수 유닛의 기준 성능을 비교하여 비활성 함수 유닛을 활성 함수 유닛으로 변경할 지 여부를 결정할 수 있다. 이때, 전력 제어 장치는, 재계산된 함수 유닛의 성능이 함수 유닛의 기준 성능 이상이 될 때까지 컴파일 및 함수 유닛의 성능 계산을 반복하여 수행할 수 있다.
그리고, 재계산된 함수 유닛의 성능이 함수 유닛의 기준 성능 이상이 되면, 전력 제어 장치는, 활성 함수 유닛을 컴파일한 결과에 대응하는 리컨피규어러블 어레이 프로세서의 구조를 저장할 수 있다. 이때, 리컨피규어러블 어레이 프로세서 구조는 리컨피규어러블 어레이 프로세서에 포함된 함수 유닛들 중 비활성 함수 유닛 및 활성 함수 유닛을 식별하는 하드웨어 구조를 포함할 수 있다. 예를 들어, 리컨피규어러블 어레이 프로세서 구조는, 리컨피규어러블어레이 프로세서에 포함된 함수 유닛들 중에서 비활성 함수 유닛을 스케쥴링 대상에서 제외시키는 하드웨어 구조를 포함할 수 있다.
그러면, 전력 제어 장치는, 리컨피규어러블 어레이 프로세서 구조에 기초하여 비활성 함수 유닛들에 대해 파워 게이팅 또는 클럭 게이팅을 수행할 수 있다.
예를 들어, 전력 제어 장치는, 비활성 함수 유닛으로는 전력 또는 클럭이 차단되도록 제어할 수 있다. 그리고, 전력 제어 장치는, 활성 함수 유닛으로는 전력 또는 클럭이 계속 공급되도록 제어할 수 있다. 이처럼, 전력 제어 장치는, 리컨피규어러블 어레이 프로세서에서 수행될 커널을 대상으로, 모든 함수 유닛이 아닌, 활성 함수 유닛에 대해서만 전력을 공급하여, 비활성 함수 유닛에 공급되던 전력만큼 전력을 감소시킬 수 있다. 또한, 전력 제어 장치는, 함수 유닛의 성능을 확인하면서 전력 제어를 수행함에 따라 기준 성능 이상의 성능을 유지하면서 전력을 감소시킬 수 있다.
도 4는 함수 유닛의 사용율이 낮은 리컨피규어러블 어레이 프로세서를 도시한 도면이다.
도 4에 따르면, 전력 제어 장치는, 모든 함수 유닛이 활성화된 상태에서 컴파일을 수행한 결과에 기초하여 함수 유닛의 사용율을 계산할 수 있다.
예를 들어, 리컨피규어러블 어레이 프로세서에 16개의 함수 유닛이 포함되고, 반복되는 사이클의 개수가 6개이고, 16개의 함수 유닛에 할당된 명령어의 개수가 59개인 경우, 전력 제어 장치는, 함수 유닛의 사용율을 0.61로 계산할 수 있다. 이때, 함수 유닛의 사용율은 약 60%로 표현될 수도 있다.
이때, 함수 유닛의 기준 사용율이 70%로 미리 설정된 경우, 전력 제어 장치는 함수 유닛의 사용율 60%와 함수 유닛의 기준 사용율 70%를 비교할 수 있다. 그리고, 함수 유닛의 사용율이 함수 유닛의 기준 사용율 미만이므로, 전력 제어 장치는, 리컨피규어러블 어레이 프로세서에서 수행될 커널에 대해 전력 제어를 수행하는 것으로 결정할 수 있다.
그러면, 전력 제어 장치는, 리컨피규어러블 어레이 프로세서에 포함된 함수 유닛들 중에서 활성 함수 유닛 및 비활성 함수 유닛을 결정할 수 있다. 예를 들어, 함수 유닛 0 내지 함수 유닛 15 중에서 활성 함수 유닛 및 비활성 함수 유닛을 결정할 수 있다. 이때, 전력 제어 장치는, 커널에 포함된 복합 명령어가 할당된 함수 유닛을 활성 함수 유닛으로 결정할 수 있다. 그리고, 전력 제어 장치는, 커널에 포함되지 않은 복합 명령어가 할당된 함수 유닛은 비활성 함수 유닛으로 결정할 수 있다.
예를 들어, 도 5를 참고하면, 커널에 포함된 복합 명령어(cins1)가 함수 유닛 0(FU0)에 할당된 경우, 전력 제어 장치는, 함수 유닛 0은 무조건 활성 함수 유닛으로 결정할 수 있다. 그리고, 커널에 포함되지 않은 복합 명령어(cins 2, cins 3, cins 4, cins 5)가 함수 유닛 2(501), 함수 유닛 11(502), 함수 유닛 14(503), 및 함수 유닛 15(504)에 할당된 경우, 전력 제어 장치는, 함수 유닛 2, 11, 14, 및 15를 비활성 함수 유닛으로 결정할 수 있다. 그리고, 전력 제어 장치는, 나머지 함수 유닛(FU1, FU3~FU10, FU12, FU13)을 활성 함수 유닛으로 결정할 수 있다.
그리고, 전력 제어 장치는, 활성 함수 유닛들을 대상으로 컴파일을 수행할 수 있다. 예를 들어, 함수 유닛 0~함수 유닛 1, 함수 유닛 3~함수 유닛 10, 함수 유닛 12~함수 유닛 13을 대상으로 컴파일을 수행할 수 있다. 그리고, 전력 제어 장치는, 컴파일은 활성 함수 유닛의 컴파일에 기초하여 함수 유닛의 성능을 계산할 수 있다.
이어, 함수 유닛의 성능이 함수 유닛의 기준 성능 이상인 경우, 전력 제어 장치는, 활성 함수 유닛의 컴파일에 대응하는 리컨피규어러블 어레이 프로세서 구조를 저장하고, 비활성 함수 유닛에 대해 파워 게이팅 또는 클럭 게이팅을 수행할 수 있다. 이때, 함수 유닛의 성능이 함수 유닛의 기준 성능 미만인 경우, 전력 제어 장치는, 리컨피규어러블 어레이 프로세서에 포함된 비활성 함수 유닛 일부를 활성 함수 유닛으로 변경하여, 함수 유닛들에 대해 스케쥴링을 다시 수행하여 활성 함수 유닛의 성능을 높일 수 있다.
일례로, 전력 제어 장치는, 비활성 함수 유닛에 할당된 명령어 및 복합 명령어의 복잡도가 낮은 순으로 활성 함수 유닛으로 변경할 수 있다. 예를 들어, 도 5를 참고하면, 전력 제어 장치는, FU2(501), FU11(502), FU14(503) 및 FU15(504) 중 하나 이상을 활성 함수 유닛으로 변경할 수 있다. 이때, FU 2(501)의 복잡도가 가장 낮은 경우, 전력 제어 장치는, FU2(501)를 활성 함수 유닛으로 변경하고, FU0~FU10, FU12~FU13에 대해 컴파일을 다시 수행할 수 있다. 이어, 전력 제어 장치는, 컴파일의 재수행에 기초하여 함수 유닛의 성능을 재계산할 수 있다. 그리고, 전력 제어 장치는, 재계산된 함수 유닛의 성능과 함수 유닛의 기준 성능을 비교하여 전력 제어를 수행할 수 있다.
도 6은 리컨피규어러블 어레이 프로세서에 포함된 함수 유닛들에 대해 전력 제어를 수행하는 동작을 설명하기 위해 제공되는 도면이다.
도 6에 따르면, 전력 제어 장치는, 리컨피규어러블 어레이 프로세서에 포함된 함수 유닛들 중 비활성 함수 유닛(601, 602, 603, 604)에 대해 파워 게이팅 또는 클럭 게이팅을 수행하여 전력 소모를 감소시킬 수 있다.
예를 들어, 파워 게이팅을 이용하여 전력을 제어하는 경우, 전력 제어 장치는, 리컨피규어러블 어레이 프로세서 구조에 기초하여 FU2(601), FU11(602), FU14(603) 및 FU 15(604)가 비활성 함수 유닛임을 확인할 수 있다. 그러면, 전력 제어 장치는, FU2(601), FU11(602), FU14(603) 및 FU 15(604)에 공급되는 전력을 차단함에 따라, 커널을 수행함에 따라 발생하는 불필요한 리컨피규어러블 어레이 프로세서의 전력 소모를 감소시킬 수 있다.
다른 예로, 또는 클럭 게이팅을 이용하여 전력을 제어하는 경우, 전력 제어 장치는, FU2(601), FU11(602), FU14(603) 및 FU 15(604)에 공급되는 클럭을 차단하여 불필요한 전력 소모를 감소시킬 수 있다.
도 7은 리컨피규어러블 어레이 프로세서를 이용한 전력 제어 장치의 세부 구성을 도시한 블럭도이다.
도 7에 따르면, 전력 제어 장치(700)는 유닛 결정부(701), 성능 계산부(702), 및 전력 제어부(703)를 포함할 수 있다.
유닛 결정부(701)는 리컨피규어러블 어레이 프로세서에 포함된 복수의 함수 유닛들을 모두 활성화한 상태에서 함수 유닛의 사용율을 계산할 수 있다.
그리고, 유닛 결정부(701)는 함수 유닛의 사용율과 미리 설정된 함수 유닛의 기준 사용율에 기초하여 복수의 함수 유닛들 중에서 활성 함수 유닛과 비활성 함수 유닛을 결정할 수 있다. 이때, 유닛 결정부(701)는 리컨피규어러블 어레이 프로세서에 포함된 복수의 함수 유닛들에 할당된 복합 명령어에 기초하여 활성 함수 유닛과 비활성 함수 유닛을 결정할 수 있다.
예를 들어, 유닛 결정부(701)는 함수 유닛의 사용율이 함수 유닛의 기준 사용율 미만이면, 리컨피규어러블 어레이 프로세서에서 수행될 커널에 대해 전력 제어를 수행하는 것으로 결정할 수 있다. 그러면, 유닛 결정부(701)는 복수의 함수 유닛들 중에서 커널에 포함된 복합 명령어가 할당된 함수 유닛을 활성 함수 유닛으로 결정할 수 있다. 그리고, 유닛 결정부(701)는 복수의 함수 유닛들 중에서 커널에 포함되지 않은 복합 명령어가 할당된 함수 유닛을 비활성 함수 유닛으로 결정할 수 있다. 이어, 유닛 결정부(701)는 복수의 함수 유닛들 중에서 비활성 함수 유닛을 제외한 나머지 함수 유닛을 활성 함수 유닛으로 결정할 수 있다. 여기서, 비활성 함수 유닛은 컴파일 대상에서 제외된 함수 유닛이고, 활성 함수 유닛은, 리컨피규어러블 어레이 프로세서에 포함된 복수의 함수 유닛들 중에서 비활성 함수 유닛을 제외한 나머지 함수 유닛일 수 있다.
그러면, 성능 계산부(702)는, 활성 함수 유닛의 컴파일에 기초하여 함수 유닛의 성능을 계산할 수 있다. 예를 들어, 성능 계산부(702)는 리컨피규어러블 어레이 프로세서에 포함된 함수 유닛들 중 비활성 함수 유닛을 제외하고, 활성 함수 유닛에 대해서만 컴파일(compile)을 수행할 수 있다. 그리고, 성능 계산부(702)는 활성 함수 유닛에 대해 수행된 컴파일에 기초하여 함수 유닛의 성능을 계산할 수 있다.
예를 들어, 성능 계산부(702)는 리컨피규어러블 어레이 프로세서에 포함된 활성 함수 유닛에서 커널을 처리하는 데 소요되는 연산 시간을 이용한 사이클 패널티를 이용하여 함수 유닛의 성능을 계산할 수 있다.
그리고, 전력 제어부(703)는 함수 유닛의 성능과 함수 유닛의 기준 성능에 기초하여 복수의 함수 유닛들에 공급되는 전력을 제어할 수 있다.
예를 들어, 함수 유닛의 성능이 함수 유닛의 기준 성능 이상인 경우, 전력 제어부(703)는 활성 함수 유닛에 대해서만 컴파일을 수행한 결과인 리컨피규어러블 어레이 프로세서 구조에 기초하여 전력 제어를 수행할 수 있다. 이때, 전력 제어부(703)는 비활성 함수 유닛을 대상으로 파워 게이팅 또는 클럭 게이팅을 수행할 수 있다.
그리고, 함수 유닛의 성능이 함수 유닛의 기준 성능 미만인 경우, 전력 제어부(703)는 비활성 함수 유닛 중 하나 이상을 활성 함수 유닛으로 변경할 수 있다. 이때, 전력 제어 부(703)는 비활성 함수 유닛에 할당된 명령어 및 복합 명령어의 복잡도에 기초하여 비활성 함수 유닛 중 하나 이상을 활성 함수 유닛으로 변경할 수 있다.
그러면, 성능 계산부(702)는 비활성 함수 유닛에서 활성 함수 유닛으로 변경된 함수 유닛과 기존의 활성 함수 유닛을 대상으로 컴파일을 수행하여 함수 유닛의 성능을 재계산할 수 있다. 그리고, 전력 제어부(703)는 재계산된 함수 유닛의 성능과 함수 유닛의 기준 성능을 비교하여 전력 제어를 수행할 수 있다. 이때, 전력 제어부(702)는 재계산된 함수 유닛의 성능이 함수 유닛의 기준 성능 이상이 될 때까지, 비활성 함수 유닛을 활성 함수 유닛으로 변경화여 컴파일을 수행할 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
700: 전력 제어 장치
701: 유닛 결정부
702: 성능 계산부
703: 전력 제어부

Claims (19)

  1. 리컨피규어러블 어레이 프로세서(Reconfigurable Array Processor)를 포함하는 복수의 함수 유닛들(Function Unit)을 활성 함수 유닛 및 비활성 함수 유닛 중 적어도 하나로 결정하는 단계-상기 활성 함수 유닛은, 상기 복수의 함수 유닛들 중에서 상기 비활성 함수 유닛을 제외한 함수 유닛임-;
    상기 활성 함수 유닛의 컴파일(compile) 결과에 기초하여 함수 유닛의 성능을 계산하는 단계; 및
    상기 함수 유닛의 성능에 기초하여 상기 복수의 함수 유닛들에 공급되는 전력을 제어하는 단계
    를 포함하는 전력 제어 방법.
  2. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 리컨피규어러블 어레이 프로세서에 포함된 모든 함수 유닛들을 대상으로 컴파일을 수행하여 함수 유닛의 사용율을 계산하는 단계; 및
    상기 함수 유닛의 사용율과 함수 유닛의 기준 사용율에 기초하여 복수의 함수 유닛들(Function Unit)을 활성 함수 유닛과 비활성 함수 유닛으로 분류하는 단계
    를 포함하는 전력 제어 방법.
  3. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 복수의 함수 유닛들에 할당된 복합 명령어에 기초하여 상기 복수의 함수 유닛들(Function Unit) 중에서 활성 함수 유닛과 비활성 함수 유닛을 결정하는 것을 특징으로 하는 전력 제어 방법.
  4. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 리컨피규어러블 어레이 프로세서에서 수행될 커널(Kernel)에 포함되지 않은 복합 명령어가 할당된 함수 유닛을 비활성 함수 유닛으로 결정하는 것을 특징으로 하는 전력 제어 방법.
  5. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 리컨피규어러블 어레이 프로세서에서 수행될 커널(Kernel)에 포함된 복합 명령어가 할당된 함수 유닛을 활성 함수 유닛으로 결정하는 것을 특징으로 하는 전력 제어 방법.
  6. 제1항에 있어서,
    상기 전력을 제어하는 단계는,
    상기 함수 유닛의 성능과 함수 유닛의 기준 성능에 기초하여 상기 비활성 함수 유닛 중 하나 이상을 활성 함수 유닛으로 변경할지 여부를 결정하는 것을 특징으로 하는 전력 제어 방법.
  7. 제6항에 있어서,
    상기 함수 유닛의 성능을 계산하는 단계는,
    상기 복수의 함수 유닛들 중에서 결정된 활성 함수 유닛과 비활성 함수 유닛에서 변경된 활성 유닛을 대상으로 컴파일을 수행하여 상기 함수 유닛의 성능을 재계산하는 것을 특징으로 하는 전력 제어 방법.
  8. 제6항에 있어서,
    상기 전력을 제어하는 단계는,
    상기 비활성 함수 유닛에 할당된 명령어의 복잡도에 기초하여 상기 비활성 함수 유닛 중에서 활성 함수 유닛으로 변경할 함수 유닛을 결정하는 것을 특징으로 하는 전력 제어 방법.
  9. 제1항에 있어서,
    상기 전력을 제어하는 단계는,
    상기 비활성 함수 유닛을 대상으로 파워 게이팅(Power Gating) 또는 클럭 게이팅(Clock Gating)을 수행하여 전력을 제어하는 것을 특징으로 하는 전력 제어 방법.
  10. 리컨피규어러블 어레이 프로세서(Reconfigurable Array Processor)를 포함하는 복수의 함수 유닛들(Function Unit)을 활성 함수 유닛 및 비활성 함수 유닛 중 적어도 하나로 결정하는 유닛 결정부-상기 활성 함수 유닛은, 상기 복수의 함수 유닛들 중에서 상기 비활성 함수 유닛을 제외한 함수 유닛임-;
    상기 활성 함수 유닛의 컴파일(compile) 결과에 기초하여 함수 유닛의 성능을 계산하는 성능 계산부; 및
    상기 함수 유닛의 성능에 기초하여 상기 복수의 함수 유닛들에 공급되는 전력을 제어하는 전력 제어부
    를 포함하는 전력 제어 장치.
  11. 제10항에 있어서,
    상기 유닛 결정부는,
    상기 리컨피규어러블 어레이 프로세서에 포함된 모든 함수 유닛들을 대상으로 스케쥴링을 수행하여 함수 유닛의 사용율을 계산하고, 상기 함수 유닛의 사용율과 함수 유닛의 기준 사용율에 기초하여 복수의 함수 유닛들(Function Unit)을 활성 함수 유닛과 비활성 함수 유닛으로 분류하는 것을 특징으로 하는 전력 제어 장치.
  12. 제10항에 있어서,
    상기 유닛 결정부는,
    상기 복수의 함수 유닛들에 할당된 복합 명령어에 기초하여 상기 복수의 함수 유닛들(Function Unit) 중에서 활성 함수 유닛과 비활성 함수 유닛을 결정하는 것을 특징으로 하는 전력 제어 장치.
  13. 제10항에 있어서,
    상기 유닛 결정부는,
    상기 리컨피규어러블 어레이 프로세서에서 수행될 커널(Kernel)에 포함되지 않은 복합 명령어가 할당된 함수 유닛을 비활성 함수 유닛으로 결정하는 것을 특징으로 하는 전력 제어 장치.
  14. 제10항에 있어서,
    상기 유닛 결정부는,
    상기 리컨피규어러블 어레이 프로세서에서 수행될 커널(Kernel)에 포함된 복합 명령어가 할당된 함수 유닛을 활성 함수 유닛으로 결정하는 것을 특징으로 하는 전력 제어 장치.
  15. 제10항에 있어서,
    상기 전력 제어부는,
    상기 함수 유닛의 성능과 함수 유닛의 기준 성능에 기초하여 상기 비활성 함수 유닛 중 하나 이상을 활성 함수 유닛으로 변경할지 여부를 결정하는 것을 특징으로 하는 전력 제어 장치.
  16. 제15항에 있어서,
    상기 성능 계산부는,
    상기 복수의 함수 유닛들 중에서 결정된 활성 함수 유닛과 비활성 함수 유닛에서 변경된 활성 유닛을 대상으로 컴파일을 수행하여 상기 함수 유닛의 성능을 재계산하는 것을 특징으로 하는 전력 제어 장치.
  17. 제15항에 있어서,
    상기 전력 제어부는,
    상기 비활성 함수 유닛에 할당된 명령어의 복잡도에 기초하여 상기 비활성 함수 유닛 중에서 활성 함수 유닛으로 변경할 함수 유닛을 결정하는 것을 특징으로 하는 전력 제어 장치.
  18. 제10항에 있어서,
    상기 전력 제어부는,
    상기 비활성 함수 유닛을 대상으로 파워 게이팅(Power Gating) 또는 클럭 게이팅(Clock Gating)을 수행하여 전력을 제어하는 것을 특징으로 하는 전력 제어 장치.
  19. 제1항 내지 9항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체.
KR1020120001168A 2012-01-04 2012-01-04 배열 구조를 갖는 프로세서를 위한 전력 제어 방법 및 장치 KR20130080323A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120001168A KR20130080323A (ko) 2012-01-04 2012-01-04 배열 구조를 갖는 프로세서를 위한 전력 제어 방법 및 장치
US13/606,384 US20130173935A1 (en) 2012-01-04 2012-09-07 Power control method and apparatus for array processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120001168A KR20130080323A (ko) 2012-01-04 2012-01-04 배열 구조를 갖는 프로세서를 위한 전력 제어 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20130080323A true KR20130080323A (ko) 2013-07-12

Family

ID=48695935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120001168A KR20130080323A (ko) 2012-01-04 2012-01-04 배열 구조를 갖는 프로세서를 위한 전력 제어 방법 및 장치

Country Status (2)

Country Link
US (1) US20130173935A1 (ko)
KR (1) KR20130080323A (ko)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219796B1 (en) * 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
US6934865B2 (en) * 2002-07-09 2005-08-23 University Of Massachusetts Controlling a processor resource based on a compile-time prediction of number of instructions-per-cycle that will be executed across plural cycles by the processor
JP2006502488A (ja) * 2002-10-11 2006-01-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 省電力vliwプロセッサ
US7287173B2 (en) * 2003-12-19 2007-10-23 Intel Corporation Method for computing power consumption levels of instruction and recompiling the program to reduce the excess power consumption
US7246219B2 (en) * 2003-12-23 2007-07-17 Intel Corporation Methods and apparatus to control functional blocks within a processor
US7428645B2 (en) * 2003-12-29 2008-09-23 Marvell International, Ltd. Methods and apparatus to selectively power functional units
US7490302B1 (en) * 2005-08-03 2009-02-10 Xilinx, Inc. Power gating various number of resources based on utilization levels
US20080072015A1 (en) * 2006-09-18 2008-03-20 Julier Michael A Demand-based processing resource allocation
US8271818B2 (en) * 2009-04-30 2012-09-18 Hewlett-Packard Development Company, L.P. Managing under-utilized resources in a computer

Also Published As

Publication number Publication date
US20130173935A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
US11449364B2 (en) Processing in a multicore processor with different cores having different architectures
KR101839544B1 (ko) 이종 코어의 자동 부하 균형
Calore et al. Evaluation of DVFS techniques on modern HPC processors and accelerators for energy‐aware applications
Cui et al. An accurate GPU performance model for effective control flow divergence optimization
US9619298B2 (en) Scheduling computing tasks for multi-processor systems based on resource requirements
Tian et al. Speculative parallelization using state separation and multiple value prediction
Luo et al. A performance and energy consumption analytical model for GPU
EP3106982B1 (en) Determination of branch convergence in a sequence of program instructions
US8615770B1 (en) System and method for dynamically spawning thread blocks within multi-threaded processing systems
Alonso et al. DVFS-control techniques for dense linear algebra operations on multi-core processors
Huang et al. Novel heuristic speculative execution strategies in heterogeneous distributed environments
Haseeb et al. Evaluating Performance and Portability of a core bioinformatics kernel on multiple vendor GPUs
US10162679B2 (en) Method and system for assigning a computational block of a software program to cores of a multi-processor system
US9940173B2 (en) System, management device and method of controlling a plurality of computers
Costero et al. Energy efficiency optimization of task-parallel codes on asymmetric architectures
US8959497B1 (en) System and method for dynamically spawning thread blocks within multi-threaded processing systems
Tan et al. GPUPool: A Holistic Approach to Fine-Grained GPU Sharing in the Cloud
KR20130080323A (ko) 배열 구조를 갖는 프로세서를 위한 전력 제어 방법 및 장치
US9870599B2 (en) Analysis system and method for reducing the control flow divergence in the Graphics Processing Units (GPUs)
KR101586712B1 (ko) 멀티 프로세서 시스템에서 태스크 의존성 그래프를 이용한 스케줄링 방법 및 장치
Fonseca et al. Understanding the impact of task granularity in the energy consumption of parallel programs
JP5804507B2 (ja) 演算処理装置及び演算器同時実行制御方法
Cheng et al. An execution time prediction analytical model for GPU with instruction-level and thread-level parallelism awareness
Liang et al. Register and thread structure optimization for GPUs
Cho et al. Embracing heterogeneity with dynamic core boosting

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid