KR20230164087A - 활용된 전원에 기초한 그래픽 프로세싱 유닛(gpu) 선택 - Google Patents

활용된 전원에 기초한 그래픽 프로세싱 유닛(gpu) 선택 Download PDF

Info

Publication number
KR20230164087A
KR20230164087A KR1020237035506A KR20237035506A KR20230164087A KR 20230164087 A KR20230164087 A KR 20230164087A KR 1020237035506 A KR1020237035506 A KR 1020237035506A KR 20237035506 A KR20237035506 A KR 20237035506A KR 20230164087 A KR20230164087 A KR 20230164087A
Authority
KR
South Korea
Prior art keywords
dgpu
igpu
power
over
power source
Prior art date
Application number
KR1020237035506A
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 어드밴스드 마이크로 디바이시즈, 인코포레이티드
Publication of KR20230164087A publication Critical patent/KR20230164087A/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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • 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/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • 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/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • 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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Multi Processors (AREA)

Abstract

활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택은: 장치가 교류(AC) 전원 대신에 직류(DC) 전원을 사용하고 있다고 결정하는 단계; 및 장치가 DC 전원을 사용하는 것에 응답하여, 장치로 하여금 DC 전원을 사용하는 동안 개별 그래픽 프로세싱 유닛(dGPU)보다 통합 그래픽 프로세싱 유닛(iGPU)을 우선적으로 활용하게 하는 단계를 포함한다.

Description

활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택
게이밍 지향 랩톱과 같은 고성능 비디오 프로세싱을 위해 의도된 일부 휴대용 컴퓨팅 디바이스들은 가속 그래픽 프로세싱을 위한 주변 컴포넌트로서 통합 그래픽 프로세싱 유닛(integrated graphics processing unit; iGPU) 및 개별 그래픽 프로세싱 유닛(discrete graphics processing unit; dGPU)을 포함할 것이다. 일부 구현예들에서, iGPU는 DC 전력을 사용할 때 dGPU보다 더 양호한 성능을 달성하는 반면, dGPU는 AC 전력을 사용할 때 iGPU보다 더 양호한 성능을 달성한다.
도 1은 일부 실시예들에 따른, 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 예시적인 장치의 블록도이다.
도 2는 일부 실시예들에 따른, 활용된 전원에 기초하여 GPU 선택을 위한 예시적인 방법의 흐름도이다.
도 3은 일부 실시예들에 따른, 활용된 전원에 기초하여 GPU 선택을 위한 다른 예시적인 방법의 흐름도이다.
도 4는 일부 실시예들에 따른, 활용된 전원에 기초하여 GPU 선택을 위한 다른 예시적인 방법의 흐름도이다.
도 5는 일부 실시예들에 따른, 활용된 전원에 기초하여 GPU 선택을 위한 다른 예시적인 방법의 흐름도이다.
도 6은 일부 실시예들에 따른, 활용된 전원에 기초하여 GPU 선택을 위한 다른 예시적인 방법의 흐름도이다.
도 7은 일부 실시예들에 따른, 활용된 전원에 기초하여 GPU 선택을 위한 다른 예시적인 방법의 흐름도이다.
도 8은 일부 실시예들에 따른, 활용된 전원에 기초하여 GPU 선택을 위한 다른 예시적인 방법의 흐름도이다.
도 9는 일부 실시예들에 따른, 활용된 전원에 기초하여 GPU 선택을 위한 다른 예시적인 방법의 흐름도이다.
일부 실시예들에서, 활용된 전원에 기초하여 그래픽 프로세싱 유닛(GPU) 선택을 위한 방법은 장치가 교류(AC) 전원 대신에 직류(DC) 전원을 사용하고 있다고 결정하는 단계; 및 상기 장치가 상기 DC 전원을 사용하는 것에 응답하여, 상기 장치로 하여금 상기 DC 전원을 사용하는 동안 개별 그래픽 프로세싱 유닛(dGPU)보다 통합 그래픽 프로세싱 유닛(iGPU)을 우선적으로 활용하게 하는 단계를 포함한다.
일부 실시예들에서, 장치로 하여금 dGPU보다 iGPU를 우선적으로 활용하게 하는 단계는 dGPU를 셧다운하는 단계를 포함한다. 일부 실시예들에서, 방법은 dGPU에 대한 디스플레이 연결에 응답하여 dGPU를 활성화하는 단계를 더 포함한다. 일부 실시예들에서, 장치로 하여금 dGPU보다 iGPU를 우선적으로 활용하게 하는 단계는 iGPU 및 dGPU로 하여금 렌더링을 위해 iGPU보다 dGPU를 우선순위화(prioritize)하는 동작 모드를 종료하게 하는 단계를 포함한다. 일부 실시예들에서, iGPU 및 dGPU에 의해 동작 모드를 종료하는 단계는 dGPU 드라이버 리로드(driver reload)를 통해 수행된다. 일부 실시예들에서, 장치로 하여금 dGPU보다 iGPU를 우선적으로 활용하게 하는 단계는 애플리케이션과 연관된 런타임 이벤트를 검출하는 단계; 및 런타임 이벤트에 응답하여, 렌더링을 위해 iGPU를 사용하도록 애플리케이션과 연관된 선호도(preference)를 업데이트하는 단계를 포함한다. 일부 실시예들에서, 방법은 하나 이상의 실행된 애플리케이션들이 재시작되어야 함을 표시하는 통지(notification)를 디스플레이하는 단계를 더 포함한다. 일부 실시예들에서, 방법은 DC 전원을 사용하는 동안 dGPU보다 iGPU를 사용하는 것을 우선순위화(prioritize)할지 여부의 선택을 사용자로부터 요청하는 단계를 더 포함한다. 일부 실시예들에서, 방법은, 장치에서 AC 전원을 사용하는 것으로부터 DC 전원을 사용하는 것으로의 전력 전환 이벤트(power transition event)를 검출하는 단계; 및 전력 전환 이벤트에 응답하여, 장치가 dGPU보다 iGPU를 우선적으로 활용하는 것을 종료하는 단계를 더 포함한다.
일부 실시예들에서, 활용된 전원에 기초한 GPU 선택을 위한 장치는 iGPU; GPU를 포함하고; 그리고 장치는 장치가 AC 전원 대신에 DC 전원을 사용하고 있다고 결정하는 단계; 및 장치가 DC 전원을 사용하는 것에 응답하여, 장치로 하여금 DC 전원을 사용하는 동안 dGPU보다 iGPU를 우선적으로 활용하게 하는 단계를 포함하는 단계들을 수행한다.
일부 실시예들에서, 장치로 하여금 dGPU보다 iGPU를 우선적으로 활용하게 하는 단계는 dGPU를 셧다운하는 단계를 포함한다. 일부 실시예들에서, 단계들은 dGPU에 대한 디스플레이 연결에 응답하여 dGPU를 활성화하는 단계를 더 포함한다. 일부 실시예들에서, 장치로 하여금 dGPU보다 iGPU를 우선적으로 활용하게 하는 단계는 iGPU 및 dGPU로 하여금 렌더링을 위해 iGPU보다 dGPU를 우선순위화하는 동작 모드를 종료하게 하는 단계를 포함한다. 일부 실시예들에서, iGPU 및 dGPU에 의해 동작 모드를 종료하는 단계는 dGPU 드라이버 리로드(driver reload)를 통해 수행된다. 일부 실시예들에서, 장치로 하여금 dGPU보다 iGPU를 우선적으로 활용하게 하는 단계는 애플리케이션과 연관된 런타임 이벤트를 검출하는 단계; 및 런타임 이벤트에 응답하여, 렌더링을 위해 iGPU를 사용하도록 애플리케이션과 연관된 선호도(preference)를 업데이트하는 단계를 포함한다. 일부 실시예들에서, 단계들은 하나 이상의 실행된 애플리케이션들이 재시작되어야 함을 표시하는 통지(notification)를 디스플레이하는 단계를 더 포함한다. 일부 실시예들에서, 단계들은 DC 전원을 사용하는 동안 dGPU보다 iGPU를 사용하는 것을 우선순위화(prioritize)할지 여부의 선택을 사용자로부터 요청하는 단계를 더 포함한다. 일부 실시예들에서, 단계들은, 장치에서 AC 전원을 사용하는 것으로부터 DC 전원을 사용하는 것으로의 전력 전환 이벤트(power transition event)를 검출하는 단계; 및 전력 전환 이벤트에 응답하여, 장치가 dGPU보다 iGPU를 우선적으로 활용하는 것을 종료하는 단계를 더 포함한다.
일부 실시예들에서, 비일시적 컴퓨터 판독가능 매체 상에 배치되는 컴퓨터 프로그램 제품은, 활용된 전원에 기초하여 GPU 선택을 위한 컴퓨터 프로그램 명령어들을 포함하고, 상기 컴퓨터 프로그램 명령어들은, 실행될 때, 컴퓨터 시스템으로 하여금 단계들을 수행하게 하고, 상기 단계들은 장치가 AC 전원 대신에 DC 전원을 사용하고 있다고 결정하는 단계; 및 장치가 DC 전원을 사용하는 것에 응답하여, 장치로 하여금 DC 전원을 사용하는 동안 dGPU보다 iGPU를 우선적으로 활용하게 하는 단계를 포함한다.
일부 실시예들에서, 단계들은 장치에서 AC 전원을 사용하는 것으로부터 DC 전원을 사용하는 것으로의 전력 전환 이벤트(power transition event)를 검출하는 단계; 및 전력 전환 이벤트에 응답하여, 장치가 dGPU보다 iGPU를 우선적으로 활용하는 것을 종료하는 단계를 더 포함한다.
게이밍 지향 랩톱과 같은 고성능 비디오 프로세싱을 위해 의도된 일부 휴대용 컴퓨팅 디바이스들은 다수의 그래픽 프로세싱 유닛(GPU)들을 포함할 것이다. 예를 들어, 랩톱은 단일 다이 상에 중앙 프로세싱 유닛(CPU) 및 통합 그래픽 프로세싱 유닛(iGPU)을 포함하는 가속 프로세싱 유닛(APU)을 포함한다. iGPU 외에도 랩톱은 가속 그래픽 프로세싱을 위한 주변 컴포넌트로서 개별 그래픽 프로세싱 유닛(dGPU)을 포함한다.
이러한 랩톱은 전원에 플러깅(plug)되지 않았을 때 배터리뿐만 아니라 벽 소켓이나 다른 콘센트(outlet)에 플러깅할 교류(AC) 어댑터에서도 전원을 공급받을 수 있다. 많은 운영 체제 및 애플리케이션은 dGPU가 iGPU에 비해 더 나은 전반적인 성능을 제공할 것이고 렌더링 또는 다른 프로세스를 위해 dGPU를 우선적으로 사용할 것이라는 가정 하에 동작한다. dGPU가 항상 iGPU보다 더 양호한 성능을 제공할 것이라고 가정하는 것이 합리적이지만, 일부 시스템들에서, iGPU는 시스템이 직류(DC) 전력(예를 들어, 배터리)으로 동작하고 있을 때 우수한 성능을 제공하는 반면, dGPU는 시스템이 AC 전력(예를 들어, 벽 콘센트로부터)으로 동작하고 있을 때 우수한 성능을 제공한다. 따라서, DC 전력을 사용하고 및 dGPU가 선호(preferred) 비디오 어댑터로서 선택되는 경우에, 시스템은 피크 성능을 달성하지 않는다. 더욱이, dGPU가 전력을 공급받아야 하지만 그럼에도 불구하고 열등한 성능을 제공하므로 전력 소비가 발생한다.
이러한 문제를 해결하기 위해, 도 1은 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 비제한적인 예시적인 장치(100)의 블록도이다. 예시적인 장치(100)는 모바일 디바이스들, 랩톱 컴퓨터들 등을 포함하는 다양한 컴퓨팅 디바이스들로서 구현될 수 있다. 장치(100)는 가속 프로세싱 유닛(APU)(102)을 포함한다. APU(102)는 단일 다이 상에 중앙 프로세싱 유닛(CPU)(104)과 통합 그래픽 프로세싱 유닛(iGPU)(106)을 포함하는 마이크로프로세서이다. 장치(100)는 또한 개별 그래픽 프로세싱 유닛(dGPU)(108)을 포함한다. 본 명세서에 설명된 접근법들이 iGPU(106)를 갖는 APU(102) 및 dGPU(108)를 포함하는 장치(100)의 맥락에서 설명되지만, 본 명세서에 설명된 접근법들은 통합 및 개별 GPU들 둘 모두를 통합하는 임의의 시스템 또는 디바이스에 적용가능하다는 것이 이해된다. dGPU(108)는 APU(102)에 동작 가능하게 결합된 장치의 주변 장치 또는 추가 컴포넌트이다. 예를 들어, 일부 실시예들에서 dGPU(108)는 PCIe(peripheral component interface express) 버스에 의해 APU(102)에 동작 가능하게 결합된다.따라서, 이러한 실시예에서, dGPU(108)는 APU(102)가 설치되는 마더보드 또는 다른 인쇄 회로 기판(PCB) 상의 PCIe 포트에 설치된다. APU(102)와 dGPU(108) 사이의 동작가능한 연결에 의해, APU(102)는 dGPU(108)에 명령어들(instructions)을 발행하고, 작업들을 렌더링할 수 있다. 일부 실시예들에서, dGPU(108)는 디스플레이 인터페이스(109)를 포함한다. 디스플레이 인터페이스(109)는 외부 모니터 또는 디스플레이가 연결되는 포트 또는 소켓이다. 디스플레이 인터페이스(109)는 프리젠테이션을 위해 비디오 신호를 외부 디스플레이에 제공한다. 디스플레이 인터페이스(109)는, 예를 들어, HDMI(High Definition Multimedia Interface) 포트, VGA(Video Graphics Array) 포트, DVI(Digital Visual Interface) 포트, USB-C(Universal Serial Bus C) 포트, 또는 이해될 수 있는 바와 같은 다른 디스플레이 포트를 포함한다.
장치(100)는 AC 전원(110)을 포함한다. 일부 실시예들에서, AC 전원(110)은 다양한 컴포넌트들에 전력을 공급하고 충전하기 위해 장치(100)에 의해 사용하기 위해 외부 AC 전류를 DC 전력으로 변환하는 AC 어댑터를 위한 포트 또는 인터페이스를 포함한다. 장치(100)는 또한 DC 전원(112)을 포함한다. DC 전원(112)은, 예를 들어, 이해될 수 있는 바와 같이 배터리 또는 다른 내부 전원을 포함한다.
장치(100)는 또한 랜덤 액세스 메모리(RAM)와 같은 메모리(114)를 포함한다.메모리(114)에 저장되는 것은 운영 체제(116) 및 GPU 선택 모듈(118)이다.도 1의 예에서 운영 체제(116) 및 GPU 선택 모듈(118)은 메모리(114)에 도시되어 있지만, 이러한 소프트웨어의 많은 컴포넌트들은 전형적으로 예를 들어 디스크 드라이브 또는 다른 저장 매체와 같은 비휘발성 메모리에 또한 저장된다.특정 실시예에 따른 장치(100)에서 유용한 운영 체제(116)는 UNIXTM, LinuxTM, Microsoft WindowsTM, 및 당업자에게 떠오를 다른 것들을 포함한다.
GPU 선택 모듈(118)은 본 개시의 실시예에 따른 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 모듈이다. GPU 선택 모듈(118)은 드라이버 레벨, 서비스 레벨, 애플리케이션 레벨, 및 이들의 조합을 포함하는 소프트웨어 계층(hierarchy)의 다양한 레벨에서 구현될 수 있다. 활용된 전원에 기초하여 그래픽 프로세싱 유닛(GPU) 선택을 용이하게 하기 위해, GPU 선택 모듈(118)은 AC 전원(110)을 통한 AC 전력 및 DC 전원(112)을 통한 DC 전력을 사용하여 장치(100) 사이의 전력 전환 이벤트들을 검출한다.
예로서, GPU 선택 모듈(118)은 장치(100)가 AC 전원(110) 대신에 DC 전원(112)을 사용하고 있다고 결정한다. 예를 들어, 일부 실시예들에서, GPU 선택 모듈(118)은 장치(100)가 장치(100)의 시동 또는 부팅 시 DC 전원(112)을 사용하고 있다고 결정한다. 다른 예로서, 일부 실시예들에서, GPU 선택 모듈(118)은 장치가 AC 전원(110)을 사용하는 것으로부터 DC 전원(112)으로 스위칭하는 전력 전환 이벤트에 응답하여 장치(100)가 DC 전원(112)을 사용하고 있다고 결정한다. 예로서, 장치(100)는 외부 전원으로부터 장치를 플러깅 해제(unplug)하는 것에 응답하여 또는 외부 전원이 AC 전원(110)을 통해 전력을 제공하지 못하는 것에 응답하여(예를 들어, 정전이 발생한 경우) AC 전원(110)을 사용하는 것으로부터 DC 전원(112)으로 스위칭한다. 그런 다음, 장치(100)는 내부 DC 전원(112)을 사용하는 것으로 스위칭한다.
장치(100)가 DC 전원(112)을 사용하는 것에 응답하여, GPU 선택 모듈(118)은 장치(100)로 하여금 DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 한다. 장치(100)에서 실행되는 운영 체제(116) 또는 애플리케이션들이 장치가 AC 전원(110)을 사용하는 동안 렌더링 또는 다른 동작들을 위해 dGPU(108)를 활용하도록 구성된다고 가정한다. 장치(100)가 DC 전원(112)을 사용하고 있다고 결정하는 것에 응답하여, GPU 선택 모듈(118)은 장치(100)로 하여금 dGPU(108) 대신에 iGPU(106)를 사용하게 한다. 따라서, dGPU(108)에 명령어들 또는 작업들을 발송할 서비스들 또는 애플리케이션들은 대신에 iGPU(106)에 발송된다.
일부 실시예들에서, GPU 선택 모듈(118)은 장치(100)로 하여금 dGPU(108)를 셧다운함으로써 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 한다. 예를 들어, GPU 선택 모듈(118)은 dGPU(108)로 하여금 버스-오프-칩-모드 (예를 들어, D3 콜드 상태)에 진입하게 하여, dGPU(108)를 효과적으로 파워 오프한다. dGPU(108)가 파워 오프되거나 극히 감소된 전력 소비 상태에서 실행됨에 따라, iGPU(106)는 렌더링 또는 그래픽 관련 작업들을 위한 유일한 이용가능한 옵션이 된다. 따라서, 운영 체제(116) 또는 다른 애플리케이션들은 dGPU(108)에 발송될 수 있는 태스크들을 수행하기 위한 어댑터로서 iGPU(106)를 자동으로 선택할 것이다. DC 전원(112)을 사용하는 동안 iGPU(106)를 사용하는 성능 이점들 외에도, dGPU(108)가 종료되는 동안 전력을 거의 또는 전혀 소모하지 않으므로 장치(100)의 전력 소비가 개선된다.
전술한 바와 같이, dGPU(108)는 외부 디스플레이를 연결하기 위한 디스플레이 인터페이스(109)를 포함한다. dGPU(108)가 셧다운되는 동안, 디스플레이 인터페이스(109)에 연결된 외부 디스플레이들은 기능하지 않을 것이다. 따라서, 일부 실시예들에서, GPU 선택 모듈(118)은 dGPU(108)에 대한 디스플레이 연결에 응답하여 dGPU(108)를 활성화시킨다. 예를 들어, 일부 실시예들에서, 디스플레이 연결은 디스플레이 인터페이스(109)에 대한 디스플레이의 플러그-인 이벤트를 포함한다. 다른 예로서, 일부 실시예들에서, 디스플레이 연결은 디스플레이 인터페이스(109)에 연결된 디스플레이의 파워 온 또는 활성화를 포함한다. 디스플레이 연결에 응답하여 dGPU(108)를 활성화함으로써, 일부 실시예들에서, dGPU(108)가 셧다운되는 동안 iGPU(106)에 발송될 작업들 또는 프로세스들이 대신 활성화된 dGPU(108)에 발송될 것이다. 다른 실시예들에서, 디스플레이 연결에 응답하여 dGPU(108)를 활성화시키면, 작업들은 iGPU(106)에 의해 프로세싱(예를 들어, 렌더링)되지만 dGPU(108)에 의한 디스플레이를 위해 제시될 것이다.
GPU 선택 모듈(118)이 디스플레이 연결에 응답하여 dGPU(108)를 재활성화하는 것으로 위에서 설명되었지만, 당업자는 일부 실시예들에서, 장치(100)가 DC 전원(112)을 사용하고 있다고 결정될 때 현재 디스플레이 연결이 있다면 GPU 선택 모듈(118)이 장치(100)가 dGPU(108) 보다 iGPU(106)를 우선적으로 활용하게 하는 것을 방지하거나 억제한다는 것을 이해할 것이다. 예를 들어, AC 전원(110)으로의 전력 공급이 플러깅 해제(unplug)될 때 외부 디스플레이가 디스플레이 인터페이스(109)를 통해 dGPU(108)에 결합된다고 가정한다. 현재 연결된 디스플레이가 있기 때문에, GPU 선택 모듈(118)은 대신에 dGPU(108)를 셧다운하는 것을 억제한다.
일부 실시예들에서, GPU 선택 모듈(118)은 iGPU(106) 및 dGPU(108)로 하여금 렌더링을 위해 iGPU(106)보다 dGPU(108)를 우선순위화하는 동작 모드를 종료하게 함으로써 장치(100)가 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 한다. 일부 실시예들에서, 운영 체제(116)는, 활성인 동안 그리고 iGPU(106) 및 dGPU(108)가 동작 모드에 논리적으로 링크되어 있는 동안, dGPU(108)가 iGPU(106)보다 우선적으로 사용되게 하는 동작 모드를 구현한다.
예를 들어, Windows™ 운영 체제(116)는 하이브리드 그래픽(HG) 모드에 링크된(예를 들어, 등록된) 임의의 디스플레이 어댑터들 사이에서 선택하는 HG 모드를 포함한다. HG 모드로 등록된 특정 애플리케이션들은 운영 체제(116)가 링크된 디스플레이 드라이버들 중 어느 것을 특정 애플리케이션의 렌더링 기능들을 위해 사용할지를 선택하게 한다. 이 예에서, iGPU(106) 및 dGPU(108)가 동작 모드를 종료하게 하는 것은 iGPU(106) 및 dGPU(108)를 HG 모드로부터 링크 해제(unlink)하는 것을 포함한다. 일부 실시예들에서, 이는 dGPU(108)에 대한 드라이버 리로드를 야기함으로써 수행된다. 동작 모드를 종료함으로써, 일부 작업들은 dGPU(108)에 대해 발행되는 것을 중단할 것이다. 일부 실시예들에서, 작업들이 dGPU(108)에 대해 함께 발행되는 것을 중단하면, 이는 운영 체제(116)가 dGPU(108)를 버스-오프-칩-모드(D3 콜드 상태)에 두게 하여, dGPU(108)를 효과적으로 셧다운시키고 전체 전력 소비를 감소시킬 것이다. 당업자는, 일부 실시예들에서, 일부 애플리케이션들이 모든 이용가능한 어댑터들(예를 들어, iGPU(106) 및 dGPU(108) 둘 다)을 열거하고 dGPU(108)를 선택할 것이지만, 그럼에도 불구하고 iGPU(106)가 대부분의 동작들에 대해 우선적으로 활용될 것임을 인식할 것이다.
일부 실시예들에서, 동작 모드(예를 들어, HG 모드)로 등록된 애플리케이션들은 장치(100)의 디스플레이를 구동하는 어댑터가 무엇이든 선택할 것이다. 이 예에서, iGPU(106)는 기본(primary) 디스플레이(예를 들어, 내장형 랩톱 모니터)를 구동하고 있다. 따라서, iGPU(106)는 등록된 애플리케이션들에 의해 활용될 것이다. 일부 실시예들에서, 기본 디스플레이가 외부 모니터로 변경되고 장치(100)가 여전히 DC 전원(112)을 사용하고 있는 경우, 이는 dGPU(108)가 다시 애플리케이션들에 대한 디폴트 렌더러(default renderer)가 되게 한다.
일부 실시예들에서, GPU 선택 모듈(118)은 장치(100)로 하여금 애플리케이션과 연관된 런타임 이벤트를 검출함으로써 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하고, 런타임 이벤트에 응답하여, 렌더링을 위해 iGPU(106)를 사용하도록 애플리케이과 연관된 선호도를 업데이트하게 한다. 런타임 이벤트는 예를 들어, 애플리케이션에 의해 생성된 3D 런타임 로드 이벤트를 포함한다. 예를 들어, GPU 선택 모듈(118)의 커널-레벨 부분은 런타임 이벤트를 인터셉트하고, iGPU(106)가 렌더링을 위한 선호 어댑터(preferred adapter)임을 운영 체제(116)에 표시한다. 따라서, iGPU(106)가 우선적으로 활용되게 하는 것은 장치(100)가 DC 전원(112)을 사용하고 있다고 결정하는 것에 응답하여 그리고 또한 애플리케이션에 대한 검출된 런타임 이벤트에 응답하여 수행된다.
일부 실시예들에서, 장치(100)로 하여금 애플리케이션의 실행 동안 iGPU(106)를 우선적으로 활용하게 하는 것은 실행된 동작이 크래시(crash)하게 할 것이다. 예로서, AC 전원(110)이 외부 전원으로부터 연결해제될 때 애플리케이션이 실행되고 있고 dGPU(108)를 사용하여 장치(100)가 대신에 DC 전원(112)을 사용하게 한다고 가정한다. dGPU(108)를 셧다운하고, 장치(100)가 iGPU(106)를 우선적으로 활용하게 하는 것은 드라이버 리로드를 통해 수행되거나, 런타임 이벤트를 인터셉트하고 iGPU(106)를 선호 어댑터로 식별하는 것은 dGPU(108)를 사용하는 애플리케이션이 크래시하게 할 가능성을 가질 것이다.
따라서, 일부 실시예들에서, GPU 선택 모듈(118)은 하나 이상의 실행된 애플리케이션들이 재시작되어야 함을 표시하는 통지를 디스플레이한다. 통지는, 예를 들어, 팝업 통지 또는 다른 사용자 인터페이스 요소를 포함한다. 일부 실시예들에서, 통지는 재시작되어야 하는 특정 하나 이상의 실행된 애플리케이션들을 표시한다. 일부 실시예들에서, 통지는 장치(100)가 DC 전원(112)을 사용하고 있다고 결정하는 것에 응답하여 디스플레이된다. 일부 실시예들에서, 통지는, 선택될 때, 대응하는 애플리케이션을 닫거나 재시작하는 버튼들 또는 다른 사용자 인터페이스 요소들을 포함한다. 일부 실시예들에서, 장치(100)로 하여금 iGPU(106)를 우선적으로 활용하게 하는 것은 사용자가 통지와 상호작용할 때까지(예를 들어, 통지를 무시(dismiss)하여, 하나 이상의 애플리케이션이 재시작되어야 한다고 선택함) 지연된다. 일부 실시예들에서, 장치(100)가 iGPU(106)를 우선적으로 활용하게 하는 것은 통지를 디스플레이한 후 미리 정의된 시간(amount of time) 동안 지연되고, 이에 의해 사용자에게 iGPU(106)를 우선적으로 활용하기 전에 그들의 애플리케이션들을 셧다운하기 위한 어느 정도의 시간을 제공한다.
일부 실시예들에서, GPU 선택 모듈(118)은 DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 사용하는 것을 우선순위화할지 여부의 선택을 사용자로부터 요청한다. 예를 들어, 장치(100)가 DC 전원(112)을 사용하고 있다고 결정하는 것에 응답하여, GPU 선택 모듈(118)은 장치(100)가 DC 전원 상에 있는 동안 iGPU(106)가 우선적으로 사용되기를 원하는지 여부를 선택하도록 사용자에게 프롬프트하는 통지를 디스플레이한다. 따라서, 사용자는 iGPU(106)를 사용함으로써 제공되는 성능 및 절전 이점을 받을 것인지 여부를 결정할 수 있다. 예를 들어, 사용자가 iGPU(106)를 사용하는 전환으로 인해 크래시할 임의의 애플리케이션을 셧다운하거나 재시작하기를 원하지 않는 경우, 사용자는 성능의 저하에도 불구하고 dGPU(108)를 계속 사용하는 것을 선택할 것이다.
일부 실시예들에서, GPU 선택 모듈(118)은 장치(100)에서 DC 전원(112)을 사용하는 것으로부터 AC 전원(110)을 사용하는 것으로의 전력 전환 이벤트를 검출한다. 예를 들어, AC 어댑터 또는 플러그는 AC 전원(110)을 외부 전원에 연결한다. 그런 다음, GPU 선택 모듈(118)은 전력 전환 이벤트에 응답하여, 장치(100)가 dGPU(108)보다 iGPU(106)를 우선적으로 활용하는 것을 종료한다. 일부 실시예들에서, 이는 dGPU(108)를 웨이크(wake)하거나 재활성화하는 것을 포함한다. 일부 실시예들에서, 이는 dGPU(108)를 우선적으로 활용하는 동작 모드(예를 들어, 하이브리드 그래픽 모드)로 iGPU(106) 및 dGPU(108)를 등록하거나 진입하는 것을 포함한다. 일부 실시예들에서, 이는 (예를 들어, 3D 런타임 로드 이벤트와 같은 런타임 이벤트를 인터셉트하는 것에 응답하여) 특정 애플리케이션에 의해 dGPU(108)를 사용하기 위한 선호도를 업데이트하는 것을 포함한다.
당업자는 일부 실시예들에서, GPU 선택 모듈(118)이 사용자 선호도 또는 선택에 적어도 부분적으로 기초하여 dGPU(108)보다 iGPU(106)를 사용하기로 결정한다는 것을 이해할 것이다. 예를 들어, 일부 실시예들에서, 운영 체제는 성능보다 배터리 수명을 선호하기 위한 구성 옵션들을 포함한다. 예로서, "더 나은 배터리" 옵션은 GPU 선택 모듈(118)이 dGPU(108)보다 iGPU(106)를 사용하게 하는 반면, "더 나은 성능" 옵션은 GPU 선택 모듈(118)이 iGPU(106)보다 dGPU(108)를 사용하게 한다(예를 들어, 현재 사용되는 전원과 독립적으로).
당업자는, 일부 실시예들에서, iGPU(106)와 dGPU(108) 사이에서 선택하기 위한 본 명세서에 설명된 접근법들이 또한 iGPU(106)와 외부 GPU(xGPU) 사이에서 선택하는 것에 적용가능하다는 것을 이해할 것이다.
추가 설명을 위해, 도 2는 장치(100)가 AC 전원(110) 대신에 DC 전원(112)을 사용하고 있다고 결정하는 단계(202)(예를 들어, GPU 선택 모듈(118)에 의해)를 포함하는, 활용된 전원에 기초하여 그래픽 프로세싱 유닛(GPU) 선택을 위한 예시적인 방법을 예시하는 흐름도를 제시한다. 예를 들어, 일부 실시예들에서, GPU 선택 모듈(118)은 장치(100)가 장치(100)의 시동 또는 부팅 시 DC 전원(112)을 사용하고 있다고 결정(202)한다. 다른 예로서, 일부 실시예들에서, GPU 선택 모듈(118)은 장치가 AC 전원(110)을 사용하는 것으로부터 DC 전원(112)으로 스위칭하는 전력 전환 이벤트에 응답하여 장치(100)가 DC 전원(112)을 사용하고 있다고 결정(202)한다. 예로서, 장치(100)는 외부 전원으로부터 장치를 플러깅 해제(unplug)하는 것에 응답하여 또는 외부 전원이 AC 전원(110)을 통해 전력을 제공하지 못하는 것에 응답하여(예를 들어, 정전이 발생한 경우) AC 전원(110)을 사용하는 것으로부터 DC 전원(112)으로 스위칭한다. 그런 다음, 장치(100)는 배터리와 같은 내부 DC 전원(112)을 사용하는 것으로 스위칭한다.
도 2의 방법은 또한 장치(100)가 (예를 들어, GPU 선택 모듈(118)에 의해) DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하는 단계(204)를 포함한다. 장치(100)에서 실행되는 운영 체제(116) 또는 애플리케이션들이 장치가 AC 전원(110)을 사용하는 동안 렌더링 또는 다른 동작들을 위해 dGPU(108)를 활용하도록 구성된다고 가정한다. 장치(100)가 DC 전원(112)을 사용하고 있다고 결정하는 것에 응답하여, GPU 선택 모듈(118)은 장치(100)로 하여금 dGPU(108) 대신에 iGPU(106)를 우선적으로 사용하게 한다(204). 따라서, dGPU(108)에 명령어들 또는 작업들을 발송할 서비스들 또는 애플리케이션들은 대신에 iGPU(106)에 발송된다. GPU 선택 모듈(118)은, dGPU(108)를 셧다운하는 것, dGPU(108) 및 iGPU(106)가 특정 동작 모드를 종료하게 하는 것, 또는 런타임 이벤트들에 응답하여 선호도들을 업데이트하는 것을 포함하는, 아래에서 더 상세히 설명될 다양한 접근법들 중 임의의 것을 사용하여 DC 전원(112)을 사용하는 동안 장치(100)가 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 한다(204).
추가 설명을 위해, 도 3은 본 개시의 실시예들에 따른, 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 다른 예시적인 방법을 예시하는 흐름도를 제시한다. 도 3의 방법은, 도 3의 방법이 또한 장치(100)가 AC 전원(110) 대신 DC 전원(112)을 사용하고 있다고 결정하는 단계(202); 및 장치(100)가 DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하는 단계(204)를 포함한다는 점에서 도 2의 방법과 유사하다.
도 3의 방법은 장치(100)가 DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하는 단계(204)가 dGPU(108)를 (예를 들어, GPU 선택 모듈(118)에 의해) 셧다운하는 단계(302)를 포함한다는 점에서 도 2와 상이하다. 예를 들어, GPU 선택 모듈(118)은 dGPU(108)로 하여금 버스-오프-칩-모드 (예를 들어, D3 콜드 상태)에 진입하게 하여, dGPU(108)를 효과적으로 파워 오프한다. dGPU(108)가 파워 오프되거나 극히 감소된 전력 소비 상태에서 실행됨에 따라, iGPU(106)는 렌더링 또는 그래픽 관련 작업들을 위한 유일한 이용가능한 옵션이 된다. 따라서, 운영 체제(116) 또는 다른 애플리케이션들은 dGPU(108)에 발송될 수 있는 태스크들을 수행하기 위한 어댑터로서 iGPU(106)를 자동으로 선택할 것이다. DC 전원(112)을 사용하는 동안 iGPU(106)를 사용하는 성능 이점들 외에도, dGPU(108)가 종료되는 동안 전력을 거의 또는 전혀 소모하지 않으므로 장치(100)의 전력 소비가 개선된다.
추가 설명을 위해, 도 4는 본 개시의 실시예들에 따른, 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 다른 예시적인 방법을 예시하는 흐름도를 제시한다. 도 4의 방법은, 도 4의 방법이 또한 장치(100)가 AC 전원(110) 대신 DC 전원(112)을 사용하고 있다고 결정하는 단계(202); 및 dGPU(108)를 셧다운하는 단계(302)를 포함하는 DC 전원(112)을 사용하는 동안 장치(100)가 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하는 단계(204)를 포함한다는 점에서 도 3의 방법과 유사하다.
도 4의 방법은 도 4의 방법이 또한 dGPU(108)에 대한 디스플레이 연결에 응답하여 dGPU(108)를 활성화하는 단계(402)(예를 들어, GPU 선택 모듈(118)에 의해)를 포함한다는 점에서 도 3과 상이하다. 전술한 바와 같이, dGPU(108)는 외부 디스플레이를 연결하기 위한 디스플레이 인터페이스(109)를 포함한다. dGPU(108)가 셧다운되는 동안, 디스플레이 인터페이스(109)에 연결된 외부 디스플레이들은 기능하지 않을 것이다. 따라서, dGPU(108)는 디스플레이 인터페이스(109)에 연결된 외부 디스플레이를 사용하기 위해 재활성화되어야 한다. 예를 들어, 일부 실시예들에서, 디스플레이 연결은 디스플레이 인터페이스(109)에 대한 디스플레이의 플러그-인 이벤트를 포함한다. 다른 예로서, 일부 실시예들에서, 디스플레이 연결은 디스플레이 인터페이스(109)에 연결된 디스플레이의 파워 온 또는 활성화를 포함한다. 디스플레이 연결에 응답하여 dGPU(108)를 활성화함으로써, 일부 실시예들에서, dGPU(108)가 셧다운되는 동안 iGPU(106)에 발송될 작업들 또는 프로세스들이 대신 재활성화된 dGPU(108)에 발송될 것이다.
추가 설명을 위해, 도 5는 본 개시의 실시예들에 따른, 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 다른 예시적인 방법을 예시하는 흐름도를 제시한다.도 5의 방법은, 도 5의 방법이 또한 장치(100)가 AC 전원(110) 대신 DC 전원(112)을 사용하고 있다고 결정하는 단계(202); 및 장치(100)가 DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하는 단계(204)를 포함한다는 점에서 도 2의 방법과 유사하다.
도 5의 방법은 장치(100)가 DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하는 단계(204)가 렌더링을 위해 iGPU(106)보다 dGPU(108)를 우선순위화하는 동작 모드를 iGPU(106) 및 dGPU(108)가 종료하게 하는 단계(502)(예를 들어, GPU 선택 모듈(118)에 의해)를 포함한다는 점에서 도 2와 상이하다. 일부 실시예들에서, 운영 체제(116)는, 활성인 동안 그리고 iGPU(106) 및 dGPU(108)가 동작 모드에 논리적으로 링크되어 있는 동안, dGPU(108)가 iGPU(106)보다 우선적으로 사용되게 하는 동작 모드를 구현한다.
예를 들어, Windows™ 운영 체제(116)는 하이브리드 그래픽(HG) 모드에 링크된(예를 들어, 등록된) 임의의 디스플레이 어댑터들 사이에서 선택하는 HG 모드를 포함한다. HG 모드로 등록된 특정 애플리케이션들은 운영 체제(116)가 링크된 디스플레이 드라이버들 중 어느 것을 특정 애플리케이션의 렌더링 기능들을 위해 사용할지를 선택하게 한다. 이 예에서, iGPU(106) 및 dGPU(108)가 동작 모드를 종료하게 하는 것은 iGPU(106) 및 dGPU(108)를 HG 모드로부터 링크 해제(unlink)하는 것을 포함한다. 일부 실시예들에서, 이는 dGPU(108)에 대한 드라이버 리로드를 야기함으로써 수행된다. 동작 모드를 종료함으로써, 일부 작업들은 dGPU(108)에 대해 발행되는 것을 중단할 것이다. 일부 실시예들에서, 작업들이 dGPU(108)에 대해 함께 발행되는 것을 중단하면, 이는 운영 체제(116)가 dGPU(108)를 버스-오프-칩-모드(D3 콜드 상태)에 두게 하여, dGPU(108)를 효과적으로 셧다운시키고 전체 전력 소비를 감소시킬 것이다. 당업자는, 일부 실시예들에서, 일부 애플리케이션들이 모든 이용가능한 어댑터들(예를 들어, iGPU(106) 및 dGPU(108) 둘 다)을 열거하고 dGPU(108)를 선택할 것이지만, 그럼에도 불구하고 iGPU(106)가 대부분의 동작들에 대해 우선적으로 활용될 것임을 인식할 것이다.
일부 실시예들에서, 동작 모드(예를 들어, HG 모드)로 등록된 애플리케이션들은 장치(100)의 디스플레이를 구동하는 어댑터가 무엇이든 선택할 것이다. 이 예에서, iGPU(106)는 기본(primary) 디스플레이(예를 들어, 내장형 랩톱 모니터)를 구동하고 있다. 따라서, iGPU(106)는 등록된 애플리케이션들에 의해 활용될 것이다. 일부 실시예들에서, 기본 디스플레이가 외부 모니터로 변경되고 장치(100)가 여전히 DC 전원(112)을 사용하고 있는 경우, 이는 dGPU(108)가 다시 애플리케이션들에 대한 디폴트 렌더러(default renderer)가 되게 한다.
추가 설명을 위해, 도 6은 본 개시의 실시예들에 따른, 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 다른 예시적인 방법을 예시하는 흐름도를 제시한다.도 6의 방법은, 도 6의 방법이 또한 장치(100)가 AC 전원(110) 대신 DC 전원(112)을 사용하고 있다고 결정하는 단계(202); 및 장치(100)가 DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하는 단계(204)를 포함한다는 점에서 도 2의 방법과 유사하다.
도 6의 방법은 장치(100)가 DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하는 단계(204)가 애플리케이션과 연관된 런타임 이벤트를 (예를 들어, GPU 선택 모듈(118)에 의해) 검출하는 단계(602) 및 런타임 이벤트에 응답하여, 렌더링을 위해 iGPU(106)를 사용하기 위해 애플리케이션과 연관된 선호도를 (예를 들어, GPU 선택 모듈(118)에 의해) 업데이트하는 단계(604)를 포함한다는 점에서 도 2와 상이하다. 런타임 이벤트는 예를 들어, 애플리케이션에 의해 생성된 3D 런타임 로드 이벤트를 포함한다. 예를 들어, GPU 선택 모듈(118)의 커널-레벨 부분은 런타임 이벤트를 인터셉트하고, iGPU(106)가 렌더링을 위한 선호 어댑터(preferred adapter)임을 운영 체제(116)에 표시한다. 따라서, iGPU(106)가 우선적으로 활용되게 하는 것은 장치(100)가 DC 전원(112)을 사용하고 있다고 결정하는 것에 응답하여 그리고 또한 애플리케이션에 대한 검출된 런타임 이벤트에 응답하여 수행된다.
추가 설명을 위해, 도 7은 본 개시의 실시예들에 따른, 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 다른 예시적인 방법을 예시하는 흐름도를 제시한다.도 7의 방법은, 도 7의 방법이 또한 장치(100)가 AC 전원(110) 대신 DC 전원(112)을 사용하고 있다고 결정하는 단계(202); 및 장치(100)가 DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하는 단계(204)를 포함한다는 점에서 도 2의 방법과 유사하다.
도 7의 방법은, 도 7의 방법이 (예를 들어, GPU 선택 모듈(118)에 의해) 하나 이상의 실행된 애플리케이션이 재시작되어야 함을 표시하는 통지를 디스플레이하는 단계(702)를 포함한다는 점에서 도 2와 상이하다. 일부 실시예들에서, 장치(100)는 애플리케이션의 실행 동안 dGPU(108)를 사용하는 것으로부터 iGPU(106)로 스위칭하는 것은 실행된 동작이 크래시하게 할 것이다. 예로서, AC 전원(110)이 외부 전원으로부터 연결해제될 때 애플리케이션이 실행되고 있고 dGPU(108)를 사용하여 장치(100)가 대신에 DC 전원(112)을 사용하게 한다고 가정한다. dGPU(108)를 셧다운하고, 장치(100)가 iGPU(106)를 우선적으로 활용하게 하는 것은 드라이버 리로드를 통해 수행되거나, 런타임 이벤트를 인터셉트하고 iGPU(106)를 선호 어댑터로 식별하는 것은 dGPU(108)를 사용하는 애플리케이션이 크래시하게 할 가능성을 가질 것이다.
따라서, 일부 실시예들에서, GPU 선택 모듈(118)은 하나 이상의 실행된 애플리케이션들이 재시작되어야 함을 표시하는 통지를 디스플레이한다(702). 통지는, 예를 들어, 팝업 통지 또는 다른 사용자 인터페이스 요소를 포함한다. 일부 실시예들에서, 통지는 재시작되어야 하는 특정 하나 이상의 실행된 애플리케이션들을 표시한다. 일부 실시예들에서, 통지는 장치(100)가 DC 전원(112)을 사용하고 있다고 결정하는 것에 응답하여 디스플레이된다. 일부 실시예들에서, 통지는, 선택될 때, 대응하는 애플리케이션을 닫거나 재시작하는 버튼들 또는 다른 사용자 인터페이스 요소들을 포함한다. 일부 실시예들에서, 장치(100)로 하여금 iGPU(106)를 우선적으로 활용하게 하는 것은 사용자가 통지와 상호작용할 때까지(예를 들어, 통지를 무시(dismiss)하여, 하나 이상의 애플리케이션이 재시작되어야 한다고 선택함) 지연된다. 일부 실시예들에서, 장치(100)가 iGPU(106)를 우선적으로 활용하게 하는 것은 통지를 디스플레이한 후 미리 정의된 시간(amount of time) 동안 지연되고, 이에 의해 사용자에게 iGPU(106)를 우선적으로 활용하기 전에 그들의 애플리케이션들을 셧다운하기 위한 어느 정도의 시간을 제공한다.
추가 설명을 위해, 도 8은 본 개시의 실시예들에 따른, 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 다른 예시적인 방법을 예시하는 흐름도를 제시한다.도 8의 방법은, 도 8의 방법이 또한 장치(100)가 AC 전원(110) 대신 DC 전원(112)을 사용하고 있다고 결정하는 단계(202); 및 장치(100)가 DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하는 단계(204)를 포함한다는 점에서 도 2의 방법과 유사하다.
도 8의 방법은, 도 8의 방법이 (예를 들어, GPU 선택 모듈(118)에 의해) DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 사용하는 것을 우선순위화할지 여부의 선택을 사용자로부터 요청하는 단계(802)를 포함한다는 점에서 도 2와 상이하다. 예를 들어, 장치(100)가 DC 전원(112)을 사용하고 있다고 결정하는 것에 응답하여, GPU 선택 모듈(118)은 장치(100)가 DC 전원 상에 있는 동안 iGPU(106)가 우선적으로 사용되기를 원하는지 여부를 선택하도록 사용자에게 프롬프트하는 통지를 디스플레이한다. 따라서, 사용자는 iGPU(106)를 사용함으로써 제공되는 성능 및 절전 이점을 받을 것인지 여부를 결정할 수 있다. 예를 들어, 사용자가 iGPU(106)를 사용하는 전환으로 인해 크래시할 임의의 애플리케이션을 셧다운하거나 재시작하기를 원하지 않는 경우, 사용자는 성능의 저하에도 불구하고 dGPU(108)를 계속 사용하는 것을 선택할 것이다.
추가 설명을 위해, 도 9는 본 개시의 실시예들에 따른, 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 다른 예시적인 방법을 예시하는 흐름도를 제시한다.도 9의 방법은, 도 9의 방법이 또한 장치(100)가 AC 전원(110) 대신 DC 전원(112)을 사용하고 있다고 결정하는 단계(202); 및 장치(100)가 DC 전원(112)을 사용하는 동안 dGPU(108)보다 iGPU(106)를 우선적으로 활용하게 하는 단계(204)를 포함한다는 점에서 도 2의 방법과 유사하다..
도 9의 방법은, 도 9의 방법이 장치(100)에서 DC 전원(112)을 사용하는 것으로부터 AC 전원(110)을 사용하는 것으로의 전력 전환 이벤트를 (예를 들어, GPU 선택 모듈(118)에 의해) 검출하는 단계(902)를 포함한다는 점에서 도 2와 상이하다. 예를 들어, AC 어댑터 또는 플러그는 AC 전원(110)을 외부 전원에 연결한다. 도 9의 방법은 또한 전력 전환 이벤트에 응답하여, 장치(100)가 dGPU(108)보다 iGPU(106)를 우선적으로 활용하는 것을 종료하는 단계(904)를 포함한다. 일부 실시예들에서, 이는 dGPU(108)를 웨이크(wake)하거나 재활성화하는 것을 포함한다. 일부 실시예들에서, 이는 dGPU(108)를 우선적으로 활용하는 동작 모드(예를 들어, 하이브리드 그래픽 모드)로 iGPU(106) 및 dGPU(108)를 등록하거나 진입하는 것을 포함한다. 일부 실시예들에서, 이는 (예를 들어, 3D 런타임 로드 이벤트와 같은 런타임 이벤트를 인터셉트하는 것에 응답하여) 특정 애플리케이션에 의해 dGPU(108)를 사용하기 위한 선호도를 업데이트하는 것을 포함한다.
위에서 설명된 설명의 관점에서, 독자들은 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택의 이점들이 다음을 포함한다는 것을 인식할 것이다:
Figure pct00001
AC 전력 상에 있는 동안 dGPU 및 DC 전력 상에 있는 동안 iGPU를 우선적으로 사용함으로써 성능을 개선함으로써 컴퓨팅 시스템의 성능을 개선.
dGPU를 비활성화(deactivate)시킴으로써 DC 전력을 사용할 때 전력 소비를 감소시킴으로써 컴퓨팅 시스템의 성능을 개선.
사용 가능한 GPU들의 사용자 구성 옵션을 확장하여 컴퓨팅 시스템의 성능을 개선
본 개시의 예시적인 실시예들은 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 완전한 기능을 갖춘 컴퓨터 시스템의 맥락에서 주로 설명된다. 그러나, 당업자는, 본 개시가 또한 임의의 적합한 데이터 프로세싱 시스템과 함께 사용하기 위해 컴퓨터 판독가능 저장 매체 상에 배치된 컴퓨터 프로그램 제품으로 구현될 수 있다는 것을 인식할 것이다. 이러한 컴퓨터 판독가능 저장 매체는 자기 매체, 광학 매체, 또는 다른 적합한 매체를 포함하는, 기계 판독가능 정보를 위한 임의의 저장매체일 수 있다.이러한 매체의 예는 하드 드라이브 또는 디스켓에 있는 자기 디스크, 광학 드라이브용 컴팩트 디스크, 자기 테이프, 및 당업자에게 알려진 기타를 포함한다.당업자는 적합한 프로그래밍 수단을 갖는 임의의 컴퓨터 시스템이 컴퓨터 프로그램 제품에 구현된 바와 같은 본 개시의 방법의 단계를 실행할 수 있을 것이라는 것을 즉시 인식할 것이다. 당업자는 본 명세서에서 설명된 예시적인 실시예들 중 일부가 컴퓨터 하드웨어 상에 설치되고 실행되는 소프트웨어에 지향되지만, 그럼에도 불구하고, 펌웨어 또는 하드웨어로서 구현되는 대안적인 실시예들이 본 개시의 범위 내에 잘 있다는 것을 또한 인식할 것이다.
본 개시는 시스템, 방법, 및/또는 컴퓨터 프로그램 제품일 수 있다.컴퓨터 프로그램 제품은 프로세서로 하여금 본 개시의 양태들을 수행하게 하기 위한 컴퓨터 판독가능 프로그램 명령어들을 갖는 컴퓨터 판독가능 저장 매체(또는 매체들)를 포함할 수 있다.
컴퓨터 판독 가능 저장 매체는 명령어 실행 디바이스에 의한 사용을 위해 명령어를 보유 및 저장할 수 있는 유형의 디바이스일 수 있다. 컴퓨터 판독가능 저장 매체는 예를 들어 전자 저장 디바이스, 자기 저장 디바이스, 광학 저장 디바이스, 전자기 저장 디바이스, 반도체 저장 디바이스, 또는 이들의 임의의 적합한 조합일 수 있지만, 이에 제한되지 않는다. 컴퓨터 판독가능 저장 매체의 더 구체적인 예들의 비배타적인 리스트는 다음을 포함한다: 휴대용 컴퓨터 디스켓, 하드 디스크, RAM(random access memory), ROM(read-only memory), EPROM(erasable programmable read-only memory) 또는 플래시 메모리(flash memory), SRAM(static random access memory), CD-ROM(portable compact disk read-only memory), DVD(digital versatile disk), 메모리 스틱(memory stick), 플로피 디스크, 펀치 카드(punch-card)와 같은 기계적으로 인코딩된 디바이스 또는 명령어가 기록된 홈 내의 융기 구조물, 및 이들의 임의의 적절한 조합이 제공된다. 본 명세서에서 사용되는 컴퓨터 판독가능 저장 매체는, 그 자체가, 전파 또는 다른 자유롭게 전파하는 전자기파들, 도파관 또는 다른 송신 매체를 통해 전파하는 전자기파들(예를 들어, 광섬유 케이블을 통과하는 광 펄스들), 또는 와이어를 통해 송신되는 전기 신호들과 같은 일시적 신호들인 것으로 해석되지 않는다.
본 명세서에 설명된 컴퓨터 판독가능 프로그램 명령어들은 컴퓨터 판독가능 저장 매체로부터 각각의 컴퓨팅/프로세싱 디바이스들에, 또는 네트워크, 예를 들어, 인터넷, 로컬 영역 네트워크, 광역 네트워크 및/또는 무선 네트워크를 통해 외부 컴퓨터 또는 외부 저장 디바이스로 다운로드될 수 있다. 네트워크는 구리 송신 케이블, 광 송신 섬유, 무선 송신, 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 에지 서버를 포함할 수 있다. 각각의 컴퓨팅/프로세싱 디바이스 내의 네트워크 어댑터 카드 또는 네트워크 인터페이스는 네트워크로부터 컴퓨터 판독가능 프로그램 명령어들을 수신하고, 각각의 컴퓨팅/프로세싱 디바이스 내의 컴퓨터 판독가능 저장 매체에 저장하기 위해 컴퓨터 판독가능 프로그램 명령어들을 포워딩한다.
본 개시의 동작들을 수행하기 위한 컴퓨터 판독가능 프로그램 명령어들은 어셈블러 명령어들, 명령어 세트 아키텍처(ISA) 명령어들, 머신 명령어들, 머신 종속 명령어들, 마이크로코드, 펌웨어 명령어들, 상태-설정 데이터, 또는 Smalltalk, C++ 등과 같은 객체 지향 프로그래밍 언어, 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어들과 같은 종래의 절차적 프로그래밍 언어들을 포함하는 하나 이상의 프로그래밍 언어들의 임의의 조합으로 기록된 소스 코드 또는 객체 코드일 수 있다. 컴퓨터 판독가능 프로그램 명령어들은 전적으로 사용자의 컴퓨터 상에서, 부분적으로 사용자의 컴퓨터 상에서, 독립형 소프트웨어 패키지로서, 부분적으로 사용자의 컴퓨터 상에서 그리고 부분적으로 원격 컴퓨터 상에서 또는 전적으로 원격 컴퓨터 또는 서버 상에서 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 로컬 영역 네트워크(LAN) 또는 광역 네트워크(WAN)를 포함하는 임의의 유형의 네트워크를 통해 사용자의 컴퓨터에 연결될 수 있거나, (예를 들어, 인터넷 서비스 공급자를 사용하는 인터넷을 통해) 외부 컴퓨터에 연결이 이루어 질 수 있다. 일부 실시예들에서, 예를 들어, 프로그램가능 로직 회로부, 필드 프로그램가능 게이트 어레이들(FPGA), 또는 프로그램가능 로직 어레이들(PLA)을 포함하는 전자 회로부는, 본 개시의 양상들을 수행하기 위해, 전자 회로부를 개인화하기 위해 컴퓨터 판독가능 프로그램 명령어들의 상태 정보를 활용함으로써 컴퓨터 판독가능 프로그램 명령어들을 실행할 수 있다.
본 개시내용의 양태들은 본 개시내용의 실시예들에 따른 방법들, 장치(시스템들), 및 컴퓨터 프로그램 제품들의 흐름도 예시들 및/또는 블록도를 참조하여 본 명세서에서 설명된다. 흐름도 예시들 및/또는 블록도들의 각각의 블록, 및 흐름도 예시들 및/또는 블록도들에서의 블록들의 조합들은 컴퓨터 판독가능 프로그램 명령어들에 의해 구현될 수 있다는 것이 이해될 것이다.
이들 컴퓨터 판독가능 프로그램 명령어들은, 컴퓨터 또는 다른 프로그램가능 데이터 프로세싱 장치의 프로세서를 통해 실행되는 명령어들이 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정된 기능들/동작들을 구현하기 위한 수단을 생성하도록, 기계를 생성하기 위해 범용 컴퓨터, 특수 목적 컴퓨터, 또는 다른 프로그램가능 데이터 프로세싱 장치의 프로세서에 제공될 수 있다. 이들 컴퓨터 판독가능 프로그램 명령어들은 또한 컴퓨터, 프로그래밍가능한 데이터 프로세싱 장치, 및/또는 다른 디바이스들이 특정 방식으로 기능하도록 지시할 수 있는 컴퓨터 판독가능 저장 매체에 저장될 수 있어서, 그 안에 저장된 명령어들을 갖는 컴퓨터 판독가능 저장 매체는 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정된 기능/동작의 양태들을 구현하는 명령어들을 포함하는 제조 물품을 포함한다.
컴퓨터 판독가능 프로그램 명령어들은 또한 컴퓨터, 다른 프로그램가능 데이터 프로세싱 장치, 또는 다른 디바이스 상에 로딩될 수 있어, 컴퓨터 구현된 프로세스를 생성하기 위해 컴퓨터, 다른 프로그램가능 장치, 또는 다른 디바이스 상에서 일련의 동작 단계들이 수행되게 하고, 이로 인하여 컴퓨터, 다른 프로그램가능 장치, 또는 다른 디바이스 상에서 실행되는 명령어들이 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정된 기능들/동작들을 구현한다.
도면들에서의 흐름도 및 블록도들은 본 개시의 다양한 실시예들에 따른 시스템들, 방법들, 및 컴퓨터 프로그램 제품들의 가능한 구현예들의 아키텍처, 기능성, 및 동작을 예시한다. 이와 관련하여, 흐름도 또는 블록도에서의 각 블록은 모듈, 세그먼트, 또는 특정된 논리 기능(들)를 구현하기 위한 하나 이상의 실행 가능한 명령어를 포함하는 명령어들의 일부를 나타낼 수 있다. 일부 대안적인 구현예들에서, 블록에 언급된 기능들은 도면들에 언급된 순서를 벗어나서 발생할 수 있다. 예를 들어, 연속적으로 도시된 2개의 블록들은, 사실상, 실질적으로 동시에 실행될 수 있거나, 블록들은, 수반되는 기능성에 따라, 때때로 역순으로 실행될 수 있다. 또한, 블록도들 및/또는 흐름도 예시의 각각의 블록, 및 블록도들 및/또는 흐름도 예시에서의 블록들의 조합들은 특정 기능들 또는 동작들을 수행하거나 특수 목적 하드웨어 및 컴퓨터 명령어들의 조합들을 수행하는 특수 목적 하드웨어 기반 시스템들에 의해 구현될 수 있다는 점에 유의할 것이다.
본 개시의 다양한 실시예에서 수정들 및 변경이 이루어질 수 있음은 전술한 설명으로부터 이해될 것이다. 본 명세서의 설명은 단지 예시를 위한 것이며 제한적인 의미로 해석되어서는 안 된다. 본 개시내용의 범위는 다음 청구범위의 언어에 의해서만 제한된다.

Claims (20)

  1. 활용된 전원에 기초하여 그래픽 프로세싱 유닛(GPU) 선택을 위한 방법으로서, 상기 방법은:
    장치가 교류(AC) 전원 대신에 직류(DC) 전원을 사용하고 있다고 결정하는 단계; 및
    상기 장치가 상기 DC 전원을 사용하는 것에 응답하여, 상기 장치로 하여금 상기 DC 전원을 사용하는 동안 개별 그래픽 프로세싱 유닛(dGPU)보다 통합 그래픽 프로세싱 유닛(iGPU)을 우선적으로 활용하게 하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 장치로 하여금 상기 dGPU보다 상기 iGPU를 우선적으로 활용하게 하는 단계는 상기 dGPU를 셧다운하는 단계를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 dGPU에 대한 디스플레이 연결에 응답하여 상기 dGPU를 활성화하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 장치로 하여금 상기 dGPU보다 상기 iGPU를 우선적으로 활용하게 하는 단계는 상기 iGPU 및 상기 dGPU로 하여금 렌더링을 위해 상기 iGPU보다 상기 dGPU를 우선순위화하는 동작 모드를 종료하게 하는 단계를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 iGPU 및 상기 dGPU에 의해 상기 동작 모드를 종료하는 단계는 dGPU 드라이버 리로드(driver reload)를 통해 수행되는, 방법.
  6. 제1항에 있어서,
    상기 장치로 하여금 상기 dGPU보다 상기 iGPU를 우선적으로 활용하게 하는 단계는:
    애플리케이션과 연관된 런타임 이벤트를 검출하는 단계; 및
    상기 런타임 이벤트에 응답하여, 렌더링을 위해 상기 iGPU를 사용하도록 상기 애플리케이션과 연관된 선호도(preference)를 업데이트하는 단계를 포함하는, 방법.
  7. 제1항에 있어서,
    하나 이상의 실행된 애플리케이션들이 재시작되어야 함을 표시하는 통지(notification)를 디스플레이하는 단계를 더 포함하는, 방법.
  8. 제1항에 있어서,
    사용자로부터, 상기 DC 전원을 사용하는 동안 상기 dGPU보다 상기 iGPU를 사용하는 것을 우선순위화할지 여부의 선택을 요청하는 단계를 더 포함하는, 방법.
  9. 제1항에 있어서,
    상기 장치에서 상기 AC 전원을 사용하는 것으로부터 상기 DC 전원을 사용하는 것으로의 전력 전환 이벤트(power transition event)를 검출하는 단계; 및
    상기 전력 전환 이벤트에 응답하여, 상기 장치가 상기 dGPU보다 상기 iGPU를 우선적으로 활용하는 것을 종료하는 단계를 더 포함하는, 방법.
  10. 활용된 전원에 기초한 그래픽 프로세싱 유닛(GPU) 선택을 위한 장치로서, 상기 장치는:
    iGPU;
    GPU를 포함하고; 및
    상기 장치는 단계들을 수행하도록 구성되고, 상기 단계들은:
    장치가 AC 전원 대신에 DC 전원을 사용하고 있다고 결정하는 단계; 및
    상기 장치가 상기 DC 전원을 사용하는 것에 응답하여, 상기 장치로 하여금 상기 DC 전원을 사용하는 동안 dGPU보다 iGPU를 우선적으로 활용하게 하는 단계를 포함하는, 장치.
  11. 제10항에 있어서,
    상기 장치로 하여금 상기 dGPU보다 상기 iGPU를 우선적으로 활용하게 하는 단계는 상기 dGPU를 셧다운하는 단계를 포함하는, 장치.
  12. 제11항에 있어서,
    상기 단계들은 상기 dGPU에 대한 디스플레이 연결에 응답하여 상기 dGPU를 활성화하는 단계를 더 포함하는, 장치.
  13. 제10항에 있어서,
    상기 장치로 하여금 상기 dGPU보다 상기 iGPU를 우선적으로 활용하게 하는 단계는 상기 iGPU 및 상기 dGPU로 하여금 렌더링을 위해 상기 iGPU보다 상기 dGPU를 우선순위화하는 동작 모드를 종료하게 하는 단계를 포함하는, 장치.
  14. 제13항에 있어서,
    상기 iGPU 및 상기 dGPU에 의해 상기 동작 모드를 종료하는 단계는 dGPU 드라이버 리로드(driver reload)를 통해 수행되는, 장치.
  15. 제10항에 있어서, 상기 장치로 하여금 상기 dGPU보다 상기 iGPU를 우선적으로 활용하게 하는 단계는:
    애플리케이션과 연관된 런타임 이벤트를 검출하는 단계; 및
    상기 런타임 이벤트에 응답하여, 렌더링을 위해 상기 iGPU를 사용하도록 상기 애플리케이션과 연관된 선호도(preference)를 업데이트하는 단계를 포함하는, 장치.
  16. 제10항에 있어서,
    상기 단계들은 하나 이상의 실행된 애플리케이션들이 재시작되어야 함을 표시하는 통지를 디스플레이하는 단계를 더 포함하는, 장치
  17. 제10항에 있어서,
    상기 단계들은 사용자로부터, 상기 DC 전원을 사용하는 동안 상기 dGPU보다 상기 iGPU를 사용하는 것을 우선순위화할지 여부의 선택을 요청하는 단계를 더 포함하는, 장치.
  18. 제10항에 있어서, 상기 단계들은:
    상기 장치에서 상기 AC 전원을 사용하는 것으로부터 상기 DC 전원을 사용하는 것으로의 제2 전력 전환 이벤트를 검출하는 단계; 및
    상기 제2 전력 전환 이벤트에 응답하여, 상기 장치가 상기 dGPU보다 상기 iGPU를 우선적으로 활용하는 것을 종료하는 단계를 더 포함하는, 장치.
  19. 비일시적 컴퓨터 판독가능 매체 상에 배치되는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은, 활용된 전원에 기초하여 그래픽 프로세싱 유닛(GPU) 선택을 위한 컴퓨터 프로그램 명령어들을 포함하고, 상기 컴퓨터 프로그램 명령어들은, 실행될 때, 컴퓨터 시스템으로 하여금 단계들을 수행하게 하고, 상기 단계들은:
    장치가 AC 전원 대신에 DC 전원을 사용하고 있다고 결정하는 단계; 및
    상기 장치가 상기 DC 전원을 사용하는 것에 응답하여, 상기 장치로 하여금 상기 DC 전원을 사용하는 동안 dGPU보다 iGPU를 우선적으로 활용하게 하는 단계를 포함하는, 컴퓨터 프로그램 제품.
  20. 제19항에 있어서, 상기 단계들은:
    상기 장치에서 상기 AC 전원을 사용하는 것으로부터 상기 DC 전원을 사용하는 것으로의 전력 전환 이벤트를 검출하는 단계; 및
    상기 전력 전환 이벤트에 응답하여, 상기 장치가 상기 dGPU보다 상기 iGPU를 우선적으로 활용하는 것을 종료하는 단계를 더 포함하는, 컴퓨터 프로그램 제품.
KR1020237035506A 2021-03-31 2022-03-25 활용된 전원에 기초한 그래픽 프로세싱 유닛(gpu) 선택 KR20230164087A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/218,795 US20220317756A1 (en) 2021-03-31 2021-03-31 Graphics processing unit (gpu) selection based on a utilized power source
US17/218,795 2021-03-31
PCT/US2022/021931 WO2022212198A1 (en) 2021-03-31 2022-03-25 Graphics processing unit (gpu) selection based on a utilized power source

Publications (1)

Publication Number Publication Date
KR20230164087A true KR20230164087A (ko) 2023-12-01

Family

ID=81308322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237035506A KR20230164087A (ko) 2021-03-31 2022-03-25 활용된 전원에 기초한 그래픽 프로세싱 유닛(gpu) 선택

Country Status (6)

Country Link
US (1) US20220317756A1 (ko)
EP (1) EP4314991A1 (ko)
JP (1) JP2024515467A (ko)
KR (1) KR20230164087A (ko)
CN (1) CN117099070A (ko)
WO (1) WO2022212198A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11573917B2 (en) * 2021-03-04 2023-02-07 Liqid Inc. Low latency computing architecture

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101216520B1 (ko) * 2004-06-30 2013-01-18 보다폰 그룹 피엘씨 연계 동작 방법 및 이동통신 단말장치
US7730336B2 (en) * 2006-05-30 2010-06-01 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US8259119B1 (en) * 2007-11-08 2012-09-04 Nvidia Corporation System and method for switching between graphical processing units
US20150177822A1 (en) * 2008-08-20 2015-06-25 Lucidlogix Technologies Ltd. Application-transparent resolution control by way of command stream interception
US9075559B2 (en) * 2009-02-27 2015-07-07 Nvidia Corporation Multiple graphics processing unit system and method
US8542240B2 (en) * 2009-03-31 2013-09-24 Intel Corporation Electronic device having switchable graphics processors
JP4585598B1 (ja) * 2009-06-30 2010-11-24 株式会社東芝 情報処理装置
US20110063306A1 (en) * 2009-09-16 2011-03-17 Nvidia Corporation CO-PROCESSING TECHNIQUES ON HETEROGENEOUS GPUs INCLUDING IDENTIFYING ONE GPU AS A NON-GRAPHICS DEVICE
US8321696B2 (en) * 2010-08-31 2012-11-27 Dell Products L.P. Method to support switchable graphics with one voltage regulator

Also Published As

Publication number Publication date
JP2024515467A (ja) 2024-04-10
CN117099070A (zh) 2023-11-21
WO2022212198A1 (en) 2022-10-06
US20220317756A1 (en) 2022-10-06
EP4314991A1 (en) 2024-02-07

Similar Documents

Publication Publication Date Title
US8555099B2 (en) Device having multiple graphics subsystems and reduced power consumption mode, software and methods
EP2426661B1 (en) Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US8564599B2 (en) Policy-based switching between graphics-processing units
US7831850B2 (en) Hybrid operating systems for battery powered computing systems
US8487943B2 (en) Driver architecture for computing device having multiple graphics subsystems, reduced power consumption modes, software and methods
US8233000B1 (en) System and method for switching between graphical processing units
JP4937752B2 (ja) 電力管理イベントの検出によるディスプレイ更新特性の切り替え
US8386672B2 (en) Systems, methods and media for disabling graphic processing units
US8259119B1 (en) System and method for switching between graphical processing units
JP2007179225A (ja) 情報処理装置、情報処理方法及びそのプログラム
US10228750B2 (en) Reducing the power consumption of an information handling system capable of handling both dynamic and static display applications
KR20230164087A (ko) 활용된 전원에 기초한 그래픽 프로세싱 유닛(gpu) 선택
US20240184354A1 (en) Activation of integrated graphical processing units
WO2023277869A1 (en) Activation of integrated graphical processing units
WO2023075791A1 (en) Switching display port connected to external display between discrete and integrated graphics processors
JP5201231B2 (ja) 情報処理装置、情報処理方法及びそのプログラム