JP2024515467A - 利用される電源に基づくグラフィックス処理ユニット(gpu)選択 - Google Patents
利用される電源に基づくグラフィックス処理ユニット(gpu)選択 Download PDFInfo
- Publication number
- JP2024515467A JP2024515467A JP2023558758A JP2023558758A JP2024515467A JP 2024515467 A JP2024515467 A JP 2024515467A JP 2023558758 A JP2023558758 A JP 2023558758A JP 2023558758 A JP2023558758 A JP 2023558758A JP 2024515467 A JP2024515467 A JP 2024515467A
- Authority
- JP
- Japan
- Prior art keywords
- dgpu
- power source
- igpu
- over
- processing unit
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims description 59
- 238000009877 rendering Methods 0.000 claims description 22
- 230000007704 transition Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 14
- 230000003213 activating effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 32
- 230000006870 function Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002618 waking effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/263—Arrangements for using multiple switchable power supplies, e.g. battery and AC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3212—Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3265—Power saving in display device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)を優先的に装置に利用させることと、を含む。【選択図】図1
Description
ゲーム指向のラップトップ等のように、高性能ビデオ処理を目的とするいくつかのポータブルコンピューティングデバイスは、加速されたグラフィックス処理のための周辺構成要素として、統合グラフィックス処理ユニット(integrated graphics processing unit、iGPU)及び離散グラフィックス処理ユニット(discrete graphics processing unit、dGPU)を含む。いくつかの実装では、DC電力を使用する場合に、iGPUは、dGPUよりも良好な性能を達成するが、AC電力を使用する場合に、dGPUは、iGPUよりも良好な性能を達成する。
いくつかの実施形態では、利用される電源に基づくグラフィックス処理ユニット(GPU)選択の方法は、装置が、交流(Alternating Current、AC)電源の代わりに直流(direct current、DC)電源を使用していると判定することと、装置がDC電源を使用していることに応じて、装置に、DC電源を使用している間、離散グラフィックス処理ユニット(dGPU)よりも統合グラフィックス処理ユニット(iGPU)を優先的に利用させることと、を含む。
いくつかの実施形態では、装置に、dGPUよりもiGPUを優先的に利用させることは、dGPUをシャットダウンすることを含む。いくつかの実施形態では、方法は、dGPUへのディスプレイ接続に応じて、dGPUをアクティブ化することを更に含む。いくつかの実施形態では、装置に、dGPUよりもiGPUを優先的に利用させることは、iGPU及びdGPUに、レンダリングのために、iGPUよりもdGPUを優先する動作モードを終了させることを含む。いくつかの実施形態では、iGPU及びdGPUによって動作モードを終了させることは、dGPUドライバのリロード(reload)を介して実施される。いくつかの実施形態では、装置に、dGPUよりもiGPUを優先的に利用させることは、アプリケーションに関連付けられたランタイムイベントを検出することと、ランタイムイベントに応じて、レンダリングのために、iGPUを使用するようにアプリケーションに関連付けられたプリファレンスを更新することと、を含む。いくつかの実施形態では、方法は、1つ以上の実行されたアプリケーションが再起動されることを示す通知を表示することを更に含む。いくつかの実施形態では、方法は、ユーザから、DC電源を使用している間、dGPUよりもiGPUを使用することを優先するかどうかの選択を要求することを更に含む。いくつかの実施形態では、方法は、装置における、AC電源の使用からDC電源の使用への電力遷移イベントを検出することと、電力遷移イベントに応じて、装置が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ドライバのリロードを介して実施される。いくつかの実施形態では、装置に、dGPUよりもiGPUを優先的に利用させることは、アプリケーションに関連付けられたランタイムイベントを検出することと、ランタイムイベントに応じて、レンダリングのために、iGPUを使用するようにアプリケーションに関連付けられたプリファレンスを更新することと、を含む。いくつかの実施形態では、ステップは、1つ以上の実行されたアプリケーションが再起動されることを示す通知を表示することを更に含む。いくつかの実施形態では、ステップは、ユーザから、DC電源を使用している間、dGPUよりもiGPUを使用することを優先するかどうかの選択を要求することを更に含む。いくつかの実施形態では、ステップは、装置における、AC電源の使用からDC電源の使用への電力遷移イベントを検出することと、電力遷移イベントに応じて、装置が、dGPUよりもiGPUを優先的に利用することを終了することと、を更に含む。
いくつかの実施形態では、非一時的なコンピュータ可読記憶媒体上に配置されたコンピュータプログラム製品は、利用される電源に基づくGPU選択のためのコンピュータプログラム命令を含み、それは、実行されると、コンピュータシステムに、装置が、AC電源の代わりにDC電源を使用していると判定することと、装置がDC電源を使用していることに応じて、装置に、DC電源を使用している間、dGPUよりもiGPUを優先的に利用させることと、を含むステップを実施させる。
いくつかの実施形態では、ステップは、装置における、AC電源の使用からDC電源の使用への電力遷移イベントを検出することと、電力遷移イベントに応じて、装置がdGPUよりもiGPUを優先的に利用することを終了することと、を更に含む。
ゲーム指向のラップトップ等のように、高性能ビデオ処理を目的とするいくつかのポータブルコンピューティングデバイスは、複数のグラフィックス処理ユニット(GPU)を含む。例えば、ラップトップは、単一のダイ上に中央処理ユニット(central processing unit、CPU)及び統合グラフィックス処理ユニット(iGPU)を含む加速処理ユニット(Accelerated Processing Unit、APU)を含む。iGPUに加えて、ラップトップは、加速されたグラフィックス処理のための周辺構成要素として離散グラフィックス処理ユニット(dGPU)を含む。
そのようなラップトップは、壁ソケット又は他のコンセントに差し込まれる交流(AC)アダプタと、電源に差し込まれていない場合のバッテリと、の両方によって電力供給されることが可能である。多くのオペレーティングシステム及びアプリケーションは、dGPUが、iGPUと比較してより良好な全体的性能を提供し、レンダリング又は他のプロセスのためにdGPUを優先的に使用するという想定の下で動作する。dGPUが、iGPUよりも良好な性能を常に提供すると想定することは妥当であるが、いくつかのシステムでは、iGPUは、システムが直流(DC)電力(例えば、バッテリ)で動作している場合に優れた性能を提供し、一方、dGPUは、システムが(例えば、壁コンセントからの)AC電力で動作している場合に優れた性能を提供する。したがって、DC電力がオンであり、dGPUが好ましいビデオアダプタとして選択されている場合、システムは、ピーク性能を達成しない。更に、dGPUが電力供給されなければならないので、電力消費が悪化する一方で、それにもかかわらず、劣った性能を提供する。
これらの懸念に対処するために、図1は、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための非限定的な例示的な装置100のブロック図である。例示的な装置100は、モバイルデバイス、ラップトップコンピュータ等を含む様々なコンピューティングデバイスとして実装することができる。装置100は、加速処理ユニット(APU)102を含む。APU102は、単一のダイ上に中央処理装置(CPU)104及び統合グラフィックス処理装置(iGPU)106を含むマイクロプロセッサである。また、装置100は、離散グラフィックス処理ユニット(dGPU)108を含む。本明細書に記載される手法は、dGPU108と、iGPU106を有するAPU102と、を含む装置100のコンテキストで説明されるが、本明細書に記載される手法は、統合GPU及び離散GPUの両方を組み込む任意のシステム又はデバイスに適用可能であることを理解されたい。dGPU108は、APU102に動作可能に結合された装置の周辺又は追加の構成要素である。例えば、いくつかの実施形態では、dGPU108は、周辺構成要素インターフェースエクスプレス(peripheral component interface express、PCIe)バスによってAPU102に動作可能に結合される。したがって、そのような実施形態では、dGPU108は、APU102がインストールされるマザーボード又は他のプリント回路基板(printed circuit board、PCB)上のPCIeポートにインストールされる。APU102とdGPU108との間の動作可能な接続によって、APU102は、命令、レンダリングジョブ等をdGPU108に発行することが可能である。いくつかの実施形態では、dGPU108は、ディスプレイインターフェース109を含む。ディスプレイインターフェース109は、外部モニタ又はディスプレイが接続されるポート又はソケットである。ディスプレイインターフェース109は、表示のために外部ディスプレイにビデオ信号を提供する。ディスプレイインターフェース109は、例えば、高精細度マルチメディアインターフェース(High Definition Multimedia Interface、HDMI(登録商標))ポート、ビデオグラフィックスアレイ(Video Graphics Array、VGA)ポート、デジタルビジュアルインターフェース(Digital Visual Interface、DVI)ポート、ユニバーサルシリアルバスC(Universal Serial Bus C、USB-C)ポート、又は、理解され得るような他のディスプレイポートを含む。
装置100は、AC電源110を含む。いくつかの実施形態では、AC電源110は、外部AC電流を、様々な構成要素に電力供給し充電するために装置100によって使用されるDC電力に変換するACアダプタのためのポート又はインターフェースを含む。また、装置100は、DC電源112を含む。DC電源112は、理解できるように、例えば、バッテリ又は他の内部電源を含む。
また、装置100は、ランダムアクセスメモリ(Random Access Memory、RAM)等のメモリ114を含む。メモリ114には、オペレーティングシステム116及びGPU選択モジュール118が格納されている。図1の例におけるオペレーティングシステム116及びGPU選択モジュール118は、メモリ114内に示されているが、そのようなソフトウェアの多くの構成要素は、典型的には、例えばディスクドライブ又は他の記憶媒体等の不揮発性メモリ内にも格納されている。特定の実施形態による、装置100において有用なオペレーティングシステム116には、UNIX(登録商標)、Linux(登録商標)、Microsoft Windows(登録商標)、及び、当業者が想到する他のものが含まれる。
GPU選択モジュール118は、本開示の実施形態による、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のためのモジュールである。GPU選択モジュール118は、ドライバレベル、サービスレベル、アプリケーションレベル、及び、それらの組み合わせを含むソフトウェア階層の様々なレベルで実装され得る。利用される電源に基づくグラフィックス処理ユニット(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は、外部電源から装置のプラグを抜いたことに応じて、又は、外部電源がAC電源110を介して電力を提供することができなかったことに応じて(例えば、停電の場合)、AC電源110の使用からDC電源112に切り替える。次いで、装置100は、内部DC電源112の使用に切り替わる。
装置100がDC電源112を使用することに応じて、GPU選択モジュール118は、装置100に、DC電源112を使用している間、dGPU108よりもiGPU106を優先的に利用させる。装置100において実行されるオペレーティングシステム116又はアプリケーションは、装置がAC電源110を使用している間、レンダリング又は他の動作のためにdGPU108を利用するように構成されていると仮定する。装置100がDC電源112を使用していると判定したことに応じて、GPU選択モジュール118は、装置100に、dGPU108の代わりにiGPU106を使用させる。したがって、命令又はジョブをdGPU108に送信するサービス又はアプリケーションは、代わりにiGPU106に送信する。
いくつかの実施形態では、GPU選択モジュール118は、装置100に、dGPU108をシャットダウンすることによって、dGPU108よりもiGPU106を優先的に利用させる。例えば、GPU選択モジュール118は、dGPU108をバスオフチップモード(例えば、D3コールド状態)に入らせ、dGPU108を効果的に電源オフする。dGPU108が電源オフされるか、又は、極めて低減された電力消費状態で動作している場合、iGPU106は、レンダリング又はグラフィックス関連ジョブのための唯一の利用可能なオプションになる。したがって、オペレーティングシステム116又は他のアプリケーションは、そうでなければdGPU108に送信され得るタスクを実施するためのアダプタとして、iGPU106を自動的に選択する。DC電源112を使用しながらiGPU106を使用することの性能上の利点に加えて、装置100の電力消費は、シャットダウンの間、dGPU108が電力をほとんど又は全く消費しないので、改善される。
上述したように、dGPU108は、外部ディスプレイを接続するためのディスプレイインターフェース109を含む。dGPU108がシャットダウンされている間、ディスプレイインターフェース109に接続された外部ディスプレイは機能しない。したがって、いくつかの実施形態では、GPU選択モジュール118は、dGPU108へのディスプレイ接続に応じて、dGPU108をアクティブ化する。例えば、いくつかの実施形態では、ディスプレイ接続は、ディスプレイインターフェース109へのディスプレイのプラグインイベントを含む。別の例として、いくつかの実施形態では、ディスプレイ接続は、ディスプレイインターフェース109に接続されたディスプレイの電源オン又はアクティブ化を含む。ディスプレイ接続に応じてdGPU108をアクティブ化することによって、いくつかの実施形態では、dGPU108がシャットダウンされている間にiGPU106に送信されることになるジョブ又はプロセスは、代わりに、アクティブ化されたdGPU108に送信されることになる。他の実施形態では、ディスプレイ接続に応じてdGPU108をアクティブ化すると、ジョブは、iGPU106によって処理(例えば、レンダリング)されるが、dGPU108によって表示のために提示される。
GPU選択モジュール118は、ディスプレイ接続に応じてdGPU108を再アクティブ化するものとして上述されているが、当業者は、いくつかの実施形態では、GPU選択モジュール118は、装置100がDC電源112を使用していると判定される場合に現在のディスプレイ接続がある場合、装置100にdGPU108よりもiGPU106を優先的に利用させることを防止又は控えることを理解するであろう。例えば、AC電源110への電源が抜かれている場合に、ディスプレイインターフェース109を介して外部ディスプレイがdGPU108に結合されていると仮定する。現在接続されているディスプレイがあるので、GPU選択モジュール118は、代わりにdGPU108をシャットダウンすることを控える。
いくつかの実施形態では、GPU選択モジュール118は、iGPU106及びdGPU108に、レンダリングのために、iGPU106よりもdGPU108を優先する動作モードを終了させることによって、装置100に、dGPU108よりもiGPU106を優先的に利用させる。いくつかの実施形態では、オペレーティングシステム116は、アクティブである間、且つ、iGPU106及びdGPU108が動作モードに論理的にリンクされている間、dGPU108に、iGPU106よりも優先的に使用されるようにする動作モードを実施する。
例えば、Windows(登録商標)オペレーティングシステム116は、ハイブリッドグラフィックス(Hybrid Graphics、HG)モードにリンクされた(例えば、登録された)任意のディスプレイアダプタ間で選択するHGモードを含む。HGモードで登録された特定のアプリケーションは、リンクされたディスプレイドライバのうち何れを特定のアプリケーションのレンダリング機能のために使用するかを選択するオペレーティングシステム116を有する。この例では、iGPU106及びdGPU108によって動作モードを終了させることは、iGPU106及びdGPU108をHGモードからリンク解除することを含む。いくつかの実施形態では、これは、dGPU108のためのドライバのリロードを引き起こすことによって実施される。動作モードから出る(動作モードを終了する)ことによって、いくつかのジョブは、dGPU108に発行されるのを停止する。いくつかの実施形態では、ジョブがdGPU108に発行されるのを完全に停止した場合、これは、オペレーティングシステム116に、dGPU108をバスオフチップモード(D3コールド状態)にさせ、dGPU108を効果的にシャットダウンし、全体の電力消費を低減する。いくつかの実施形態では、いくつかのアプリケーションが、全ての利用可能なアダプタ(例えば、iGPU106及びdGPU108の両方)を列挙し、dGPU108を選択するが、それにもかかわらず、iGPU106が大部分の動作について優先的に利用されることを当業者は理解するであろう。
いくつかの実施形態では、動作モード(例えば、HGモード)で登録されたアプリケーションは、アダプタが、装置100のディスプレイを駆動しているものを選択する。この例では、iGPU106は、プライマリディスプレイ(例えば、内蔵ラップトップモニタ)を駆動している。したがって、iGPU106は、登録されたアプリケーションによって利用される。いくつかの実施形態では、プライマリディスプレイが外部モニタに変更され、装置100が依然としてDC電源112を使用している場合、これは、dGPU108を再びアプリケーション用のデフォルトレンダラにさせる。
いくつかの実施形態では、GPU選択モジュール118は、装置100に、アプリケーションに関連付けられたランタイムイベントを検出することによって、dGPU108よりもiGPU106を優先的に利用させ、ランタイムイベントに応じて、アプリケーションに関連付けられたプリファレンスを更新して、レンダリングするためにiGPU106を使用する。ランタイムイベントは、例えば、アプリケーションによって生成される3Dランタイムロードイベントを含む。例えば、GPU選択モジュール118のカーネルレベル部分は、ランタイムイベントをインターセプトし、オペレーティングシステム116に、iGPU106がレンダリングのための好ましいアダプタであることを示す。したがって、iGPU106が優先的に利用されるようにすることは、装置100がDC電源112を使用していると判定することに応じて、また、アプリケーションについて検出されたランタイムイベントに応じて、の両方で実施される。
いくつかの実施形態では、アプリケーションの実行中に、装置100にiGPU106を優先的に利用させることは、実行された動作をクラッシュさせる。一例として、AC電源110が外部電源から接続解除され、装置100に、代わりにDC電源112を使用させる場合に、アプリケーションが実行されており、dGPU108を使用していると仮定する。dGPU108をシャットダウンして、装置100に、iGPU106を優先的に利用させることは、ドライバ再ロードを介して実施されるか、又は、ランタイムイベントをインターセプトして、好ましいアダプタとしてiGPU106を識別することは、dGPU108を使用するアプリケーションをクラッシュさせる可能性を有する。
したがって、いくつかの実施形態では、GPU選択モジュール118は、1つ以上の実行されたアプリケーションが再起動されることを示す通知を表示する。通知は、例えば、ポップアップ通知又は他のユーザインターフェース要素を含む。いくつかの実施形態では、通知は、再起動される特定の1つ以上の実行されたアプリケーションを示す。いくつかの実施形態では、通知は、装置100がDC電源112を使用していると判定したことに応じて表示される。いくつかの実施形態では、通知は、選択されると、対応するアプリケーションを閉じるか又は再起動するボタン又は他のユーザインターフェース要素を含む。いくつかの実施形態では、装置100に、iGPU106を優先的に利用させることは、ユーザが通知と対話する(例えば、通知を却下する、1つ以上のアプリケーションが再起動されることを選択する)まで遅延される。いくつかの実施形態では、装置100に、iGPU106を優先的に利用させることは、通知を表示した後に所定時間遅延され、それによって、iGPU106を優先的に利用する前にアプリケーションをシャットダウンするためのいくらかの時間をユーザに提供する。
いくつかの実施形態では、GPU選択モジュール118は、ユーザから、DC電源112を使用している間、dGPU108よりもiGPU106を使用することを優先するかどうかの選択を要求する。例えば、装置100が、DC電源112を使用していると判定したことに応じて、GPU選択モジュール118は、装置100がDC電源である間、iGPU106を優先的に使用したいかどうかを選択するようにユーザを促す通知を表示する。したがって、ユーザは、iGPU106を使用することによって与えられる性能及び電力節約の利益を受けるかどうかについて判定を行うことが可能になる。例えば、ユーザが、iGPU106を使用する遷移のためにクラッシュする任意のアプリケーションをシャットダウン又は再起動することを望まない場合、ユーザは、性能の劣化にもかかわらず、dGPU108を使用し続けることを選択するであろう。
いくつかの実施形態では、GPU選択モジュール118は、装置100における、DC電源112の使用からAC電源110の使用への電力遷移イベントを検出する。例えば、ACアダプタ又はプラグは、AC電源110を外部電源に接続する。次いで、GPU選択モジュール118は、電力遷移イベントに応じて、装置100がdGPU108よりもiGPU106を優先的に利用することを終了する。いくつかの実施形態では、これは、dGPU108をウェイクアップ又は再アクティブ化することを含む。いくつかの実施形態では、これは、iGPU106及びdGPU108を、dGPU108を優先的に利用する動作モード(例えば、ハイブリッドグラフィックスモード)で登録するか又は入ることを含む。いくつかの実施形態では、これは、(例えば、3Dランタイムロードイベント等のランタイムイベントをインターセプトすることに応じて)特定のアプリケーションによってdGPU108を使用するためのプリファレンスを更新することを含む。
当業者は、いくつかの実施形態では、GPU選択モジュール118が、ユーザプリファレンス又は選択に少なくとも部分的に基づいて、dGPU108よりもiGPU106を使用するのを決定することを理解するであろう。例えば、いくつかの実施形態では、オペレーティングシステムは、性能よりもバッテリ寿命を優先するための構成オプションを含む。一例として、「より良好なバッテリ」オプションは、GPU選択モジュール118に、dGPU108よりもiGPU106を使用させ、一方、「より良好な性能」オプションは、GPU選択モジュール118に、iGPU106よりもdGPU108を使用させる(例えば、現在使用されている電源とは無関係に)。
当業者は、いくつかの実施形態では、iGPU106とdGPU108との間で選択するための本明細書に記載の手法が、iGPU106と外部GPU(external GPU、xGPU)との間で選択する場合にも適用可能であることを理解するであろう。
更なる説明のために、図2は、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための例示的な方法を示すフロー図を記載し、装置100が、AC電源110の代わりにDC電源112を使用していると判定すること(202)(例えば、GPU選択モジュール118によって)を含む。例えば、いくつかの実施形態では、GPU選択モジュール118は、装置100が、装置100の起動又はブート時にDC電源112を使用していると判定する(202)。別の例として、いくつかの実施形態では、GPU選択モジュール118は、装置がAC電源110の使用からDC電源112に切り替わる電力遷移イベントに応じて、装置100が、DC電源112を使用していると判定する(202)。一例として、装置100は、外部電源から装置のプラグを抜いたことに応じて、又は、外部電源がAC電源110を介して電力を提供することができなかったことに応じて(例えば、停電の場合)、AC電源110の使用からDC電源112に切り替える。次に、装置100は、バッテリ等の内部DC電源112の使用に切り替わる。
また、図2の方法は、(例えば、GPU選択モジュール118によって)装置100に、DC電源112を使用している間、dGPU108よりもiGPU106を優先的に利用させること(204)を含む。装置100において実行されるオペレーティングシステム116又はアプリケーションは、装置がAC電源110を使用している間、レンダリング又は他の動作のためにdGPU108を利用するように構成されていると仮定する。装置100が、DC電源112を使用していると判定したことに応じて、GPU選択モジュール118は、装置100に、dGPU108の代わりにiGPU106を優先的に使用させる(204)。したがって、命令又はジョブをdGPU108に送信するサービス又はアプリケーションは、代わりにiGPU106に送信する。GPU選択モジュール118は、dGPU108をシャットダウンすること、dGPU108及びiGPU106に、特定の動作モードを終了させること、又は、ランタイムイベントに応じてプリファレンスを更新すること、を含む、以下で更に詳細に説明されるような様々な手法の何れかを使用して、DC電源112を使用している間、装置100に、dGPU108よりもiGPU106を優先的に利用させる(204)。
更なる説明のために、図3は、本開示の実施形態による、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための別の例示的な方法を示すフロー図を記載する。図3の方法は、装置100が、AC電源110の代わりにDC電源112を使用していると判定すること(202)と、DC電源112を使用している間、装置100に、dGPU108よりもiGPU106を優先的に利用させること(204)と、を含むという点で、図2の方法と同様である。
図3の方法は、DC電源112を使用している間、装置100に、dGPU108よりもiGPU106を優先的に利用させること(204)が、dGPU108を(例えば、GPU選択モジュール118によって)シャットダウンすること(302)を含むという点で、図2とは異なる。例えば、GPU選択モジュール118は、dGPU108をバスオフチップモード(例えば、D3コールド状態)に入らせ、dGPU108を効果的に電源オフする。dGPU108が電源オフされるか、又は、極めて低減された電力消費状態で動作している場合、iGPU106は、レンダリング又はグラフィックス関連ジョブのための唯一の利用可能なオプションになる。したがって、オペレーティングシステム116又は他のアプリケーションは、そうでなければdGPU108に送信され得るタスクを実施するためのアダプタとして、iGPU106を自動的に選択する。DC電源112を使用しながらiGPU106を使用することの性能上の利点に加えて、装置100の電力消費は、シャットダウンの間、dGPU108が電力をほとんど又は全く消費しないので、改善される。
更なる説明のために、図4は、本開示の実施形態による、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための別の例示的な方法を示すフロー図を記載する。図4の方法は、装置100が、AC電源110の代わりにDC電源112を使用していると判定すること(202)と、装置100に、dGPU108よりもiGPU106を優先的に利用させること(204)であって、DC電源112を使用している間、dGPU108をシャットダウンすること(302)を含む、ことと、を含むという点で、図3の方法と同様である。
図4の方法は、dGPU108へのディスプレイ接続に応じて、dGPU108を(例えば、GPU選択モジュール118によって)アクティブ化すること(402)を含むという点で、図3とは異なる。上述したように、dGPU108は、外部ディスプレイを接続するためのディスプレイインターフェース109を含む。dGPU108がシャットダウンされている間、ディスプレイインターフェース109に接続された外部ディスプレイが機能しない。したがって、dGPU108は、ディスプレイインターフェース109に接続された外部ディスプレイを使用するために、再アクティブ化されなければならない。例えば、いくつかの実施形態では、ディスプレイ接続は、ディスプレイインターフェース109へのディスプレイのプラグインイベントを含む。別の例として、いくつかの実施形態では、ディスプレイ接続は、ディスプレイインターフェース109に接続されたディスプレイの電源オン又はアクティブ化を含む。ディスプレイ接続に応じてdGPU108をアクティブ化することによって、いくつかの実施形態では、dGPU108がシャットダウンされている間にiGPU106に送信されることになるジョブ又はプロセスは、代わりに、再アクティブ化されたdGPU108に送信されることになる。
更なる説明のために、図5は、本開示の実施形態による、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための別の例示的な方法を示すフロー図を記載する。図5の方法は、装置100が、AC電源110の代わりにDC電源112を使用していると判定すること(202)と、DC電源112を使用している間、装置100に、dGPU108よりもiGPU106を優先的に利用させること(204)と、を含むという点で、図2の方法と同様である。
図5の方法は、DC電源112を使用している間、装置100に、dGPU108よりもiGPU106を優先的に利用させること(204)が、iGPU106及びdGPU108に、レンダリングのために、iGPU106よりもdGPU108を優先する動作モードから出させる(動作モードを終了させる)こと(502)(例えば、GPU選択モジュール118によって)を含むという点で、図2とは異なる。いくつかの実施形態では、オペレーティングシステム116は、アクティブである間、且つ、iGPU106及びdGPU108が動作モードに論理的にリンクされている間、dGPU108に、iGPU106よりも優先的に使用されるようにする動作モードを実施する。
例えば、Windows(登録商標)オペレーティングシステム116は、ハイブリッドグラフィックス(HG)モードにリンクされた(例えば、登録された)任意のディスプレイアダプタ間で選択するHGモードを含む。HGモードで登録された特定のアプリケーションは、リンクされたディスプレイドライバのうち何れを特定のアプリケーションのレンダリング機能のために使用するかを選択するオペレーティングシステム116を有する。この例では、iGPU106及びdGPU108に、動作モードから出させる(動作モードを終了させる)ことは、iGPU106及びdGPU108をHGモードからリンク解除することを含む。いくつかの実施形態では、これは、dGPU108のためのドライバのリロードを引き起こすことによって実施される。動作モードから出る(動作モードを終了する)ことによって、いくつかのジョブは、dGPU108に発行されるのを停止する。いくつかの実施形態では、ジョブがdGPU108に発行されるのを完全に停止した場合、これは、オペレーティングシステム116に、dGPU108をバスオフチップモード(D3コールド状態)にさせ、dGPU108を効果的にシャットダウンし、全体の電力消費を低減する。いくつかの実施形態では、いくつかのアプリケーションが、全ての利用可能なアダプタ(例えば、iGPU106及びdGPU108の両方)を列挙し、dGPU108を選択するが、それにもかかわらず、iGPU106が大部分の動作について優先的に利用されることを当業者は理解するであろう。
いくつかの実施形態では、動作モード(例えば、HGモード)で登録されたアプリケーションは、アダプタが、装置100のディスプレイを駆動しているものを選択する。この例では、iGPU106は、プライマリディスプレイ(例えば、内蔵ラップトップモニタ)を駆動している。したがって、iGPU106は、登録されたアプリケーションによって利用される。いくつかの実施形態では、プライマリディスプレイが外部モニタに変更され、装置100が依然としてDC電源112を使用している場合、これは、dGPU108を再びアプリケーション用のデフォルトレンダラにさせる。
更なる説明のために、図6は、本開示の実施形態による、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための別の例示的な方法を示すフロー図を記載する。図6の方法は、装置100が、AC電源110の代わりにDC電源112を使用していると判定すること(202)と、DC電源112を使用している間、装置100に、dGPU108よりもiGPU106を優先的に利用させること(204)と、を含むという点で、図2の方法と同様である。
図6の方法は、DC電源112を使用している間、装置100に、dGPU108よりもiGPU106を優先的に利用させること(204)が、アプリケーションに関連付けられたランタイムイベントを(例えば、GPU選択モジュール118によって)検出すること(602)と、ランタイムイベントに応じて、レンダリングのために、iGPU106を使用するようにアプリケーションに関連付けられたプリファレンスを(例えば、GPU選択モジュール118によって)更新すること(604)と、を含むという点で、図2とは異なる。ランタイムイベントは、例えば、アプリケーションによって生成される3Dランタイムロードイベントを含む。例えば、GPU選択モジュール118のカーネルレベル部分は、ランタイムイベントをインターセプトし、オペレーティングシステム116に、iGPU106がレンダリングのための好ましいアダプタであることを示す。したがって、iGPU106が優先的に利用されるようにすることは、装置100がDC電源112を使用していると判定することに応じて、また、アプリケーションについて検出されたランタイムイベントに応じて、の両方で実施される。
更なる説明のために、図7は、本開示の実施形態による、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための別の例示的な方法を示すフロー図を記載する。図7の方法は、装置100が、AC電源110の代わりにDC電源112を使用していると判定すること(202)と、DC電源112を使用している間、装置100に、dGPU108よりもiGPU106を優先的に利用させること(204)と、を含むという点で、図2の方法と同様である。
図7の方法は、1つ以上の実行されたアプリケーションが再起動されることを示す通知を(例えば、GPU選択モジュール118によって)表示すること(702)を含むという点で、図2とは異なる。いくつかの実施形態では、装置100が、アプリケーションの実行中にdGPU108の使用からiGPU106に切り替えると、実行された動作をクラッシュさせる。一例として、AC電源110が外部電源から接続解除され、装置100に代わりにDC電源112を使用させる場合に、アプリケーションが実行されており、dGPU108を使用していると仮定する。dGPU108をシャットダウンして、装置100に、iGPU106を優先的に利用させることは、ドライバのリロードを介して実施され、又は、ランタイムイベントをインターセプトして、好ましいアダプタとしてiGPU106を識別することは、dGPU108を使用するアプリケーションをクラッシュさせる可能性を有する。
したがって、いくつかの実施形態では、GPU選択モジュール118は、1つ以上の実行されたアプリケーションが再起動されることを示す通知を表示する(702)。通知は、例えば、ポップアップ通知又は他のユーザインターフェース要素を含む。いくつかの実施形態では、通知は、再起動される特定の1つ以上の実行されたアプリケーションを示す。いくつかの実施形態では、通知は、装置100がDC電源112を使用していると判定したことに応じて表示される。いくつかの実施形態では、通知は、選択されると、対応するアプリケーションを閉じるか又は再起動するボタン又は他のユーザインターフェース要素を含む。いくつかの実施形態では、装置100に、iGPU106を優先的に利用させることは、ユーザが通知と対話する(例えば、通知を却下する、1つ以上のアプリケーションが再起動されることを選択する)まで遅延される。いくつかの実施形態では、装置100に、iGPU106を優先的に利用させることは、通知を表示した後に所定時間遅延され、それによって、iGPU106を優先的に利用する前にアプリケーションをシャットダウンするためのいくらかの時間をユーザに提供する。
更なる説明のために、図8は、本開示の実施形態による、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための別の例示的な方法を示すフロー図を記載する。図8の方法は、装置100が、AC電源110の代わりにDC電源112を使用していると判定すること(202)と、DC電源112を使用している間、装置100に、dGPU108よりもiGPU106を優先的に利用させること(204)と、を含むという点で、図2の方法と同様である。
図8の方法は、ユーザから、DC電源112を使用している間、dGPU108よりもiGPU106を使用することを優先するかどうかの選択を、(例えば、GPU選択モジュール118によって)要求すること(802)を含むという点で、図2とは異なる。例えば、装置100が、DC電源112を使用していると判定したことに応じて、GPU選択モジュール118は、装置100がDC電源である間、iGPU106を優先的に使用したいかどうかを選択するようにユーザを促す通知を表示する。したがって、ユーザは、iGPU106を使用することによって与えられる性能及び電力節約の利益を受けるかどうかについて判定を行うことが可能になる。例えば、ユーザが、iGPU106を使用する遷移のためにクラッシュする任意のアプリケーションをシャットダウン又は再起動することを望まない場合、ユーザは、性能の劣化にもかかわらず、dGPU108を使用し続けることを選択するであろう。
更なる説明のために、図9は、本開示の実施形態による、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための別の例示的な方法を示すフロー図を記載する。図9の方法は、装置100が、AC電源110の代わりにDC電源112を使用していると判定すること(202)と、DC電源112を使用している間、装置100に、dGPU108よりもiGPU106を優先的に利用させること(204)と、を含むという点で、図2の方法と同様である。
図9の方法は、装置100における、DC電源112の使用からAC電源110の使用への電力遷移イベントを(例えば、GPU選択モジュール118によって)検出すること(902)を含むという点で、図2とは異なる。例えば、ACアダプタ又はプラグは、AC電源110を外部電源に接続する。また、図9の方法は、電力遷移イベントに応じて、装置100がdGPU108よりもiGPU106を優先的に利用することを終了すること(904)を含む。いくつかの実施形態では、これは、dGPU108をウェイクアップ又は再アクティブ化することを含む。いくつかの実施形態では、これは、iGPU106及びdGPU108を、dGPU108を優先的に利用する動作モード(例えば、ハイブリッドグラフィックスモード)で登録するか又は入ることを含む。いくつかの実施形態では、これは、(例えば、3Dランタイムロードイベント等のランタイムイベントをインターセプトすることに応じて)特定のアプリケーションによってdGPU108を使用するためのプリファレンスを更新することを含む。
上述した説明を考慮して、読者は、利用される電源に基づくグラフィックス処理ユニット(GPU)選択の利点が以下を含むことを認識するであろう。
・AC電力にある間にはdGPUを、DC電力にある間にはiGPUを、優先的に使用することによって性能を改善することによる、コンピューティングシステムの改善された性能。
・dGPUを非アクティブ化することによってDC電力を使用する場合の電力消費を低減することによる、コンピューティングシステムの改善された性能。
・使用可能なGPUのユーザ構成オプションを拡張することによる、コンピューティングシステムの改善された性能。
・AC電力にある間にはdGPUを、DC電力にある間にはiGPUを、優先的に使用することによって性能を改善することによる、コンピューティングシステムの改善された性能。
・dGPUを非アクティブ化することによってDC電力を使用する場合の電力消費を低減することによる、コンピューティングシステムの改善された性能。
・使用可能なGPUのユーザ構成オプションを拡張することによる、コンピューティングシステムの改善された性能。
本開示の例示的な実施形態は、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための十分に機能的なコンピュータシステムのコンテキストで主に説明されている。しかしながら、当業者の読者は、本開示が、任意の好適なデータ処理システムとともに使用するためにコンピュータ可読記憶媒体上に配置されたコンピュータプログラム製品に具現化され得ることを認識するであろう。そのようなコンピュータ可読記憶媒体は、磁気媒体、光学媒体又は他の好適な媒体を含む、機械可読情報のための任意の記憶媒体であり得る。そのような媒体の例としては、ハードドライブ又はディスケット内の磁気ディスク、光学ドライブのためのコンパクトディスク、磁気テープ、及び、当業者に着想されるような他のものを含む。当業者であれば、好適なプログラミング手段を有する任意のコンピュータシステムが、コンピュータプログラム製品で具現化された本開示の方法のステップを実行することが可能であることを直ちに認識するであろう。また、当業者は、本明細書に記載の例示的な実施形態のいくつかがコンピュータハードウェアにインストール及び実行されるソフトウェアに向けられているが、それにもかかわらず、ファームウェアとして又はハードウェアとして実装される代替的な実施形態が、本開示の範囲内に十分にあることも認識するであろう。
本開示は、システム、方法及び/又はコンピュータプログラム製品とすることができる。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持及び記憶することができる有形デバイスであることができる。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、又は、これらの任意の好適な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下を含む。ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(read-only memory、ROM)、消去可能なプログラマブル読み取り専用メモリ(erasable programmable read-only memory、EPROM若しくはフラッシュメモリ)、スタティックランダムアクセスメモリ(static random access memory、SRAM)、携帯型コンパクトディスク専用メモリ(compact disc read-only memory、CD-ROM)、デジタル多用途デバイス(digital versatile disk、DVD)、メモリスティック、フロッピー(登録商標)ディスク、パンチカード又はその上に記録された命令を有する溝内の隆起構造等の機械的にコード化されたデバイス、及び、これらの任意の好適な組み合わせ。本明細書で使用される場合、コンピュータ可読記憶媒体は、電波若しくは他の自由に伝播する電磁波等、導波管若しくは他の伝送媒体(例えば、光ファイバケーブルを通過する光パルス)を通って伝播する電磁波、又は、ワイヤを通って伝送される電気信号等の一時的な信号自体であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、又は、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、広域ネットワーク及び/若しくは無線ネットワーク)を介して外部コンピュータ若しくは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又は、エッジサーバを含むことができる。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために伝送する。
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(instruction-set-architecture、ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、Smalltalk、C等のオブジェクト配向プログラミング言語、及び、「C」プログラミング言語又は同様のプログラミング言語等の従来の手続きプログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせで書き込まれたソースコード又はオブジェクトコードの何れかとすることができる。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で完全に、ユーザのコンピュータ上で部分的に、スタンドアロンソフトウェアパッケージとして、ユーザのコンピュータ上で部分的に、リモートコンピュータ上で部分的に、又はリモートコンピュータ若しくはサーバ上で完全に実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(local area network、LAN)若しくは広域ネットワーク(wide area network、WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続することができるか、又は、外部コンピュータ(例えば、インターネットサービスプロバイダを使用するインターネットを介して)に接続することができる。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)、又はプログラマブルロジックアレイ(programmable logic array、PLA)を含む電子回路は、本開示の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化することによって、コンピュータ可読プログラム命令を実施することができる。
本開示の態様は、本開示の実施形態による方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して本明細書に記載されている。フローチャート及び/又はブロック図の各ブロック、並びに、フローチャート及び/又はブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装することができることが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図の1つ以上のブロックで指定された機能/行為を実施するための手段を生成するような機械を製造するように、汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置のプロセッサに提供することができる。これらのコンピュータ可読プログラム命令は、その上に記憶された命令を有するコンピュータ可読記憶媒体が、フローチャート及び/又はブロック図の1つ以上のブロックで指定された機能/行為の態様を実装する命令を含む製造物品を含むように、コンピュータ、プログラマブルデータ処理装置及び/又は他のデバイスに、特定の方法で機能するように指示することができるコンピュータ可読記憶媒体に記憶することができる。
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置又は他のデバイスにロードされ、コンピュータ、他のプログラマブル装置又は他のデバイス上で実行される命令が、フローチャート及び/又はブロック図の1つ以上のブロックで指定された機能/行為を実施するようなコンピュータ実施プロセスを生成するために、コンピュータ、他のプログラマブル装置又は他のデバイス上で一連の動作ステップを実施させることができる。
図中のフロー図及びブロック図は、本開示の様々な実施形態によるシステム、方法及びコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能及び動作を示す。これに関して、フロー図又はブロック図の各ブロックは、指定された論理機能を実施するための1つ以上の実行可能命令を含む命令のモジュール、セグメント又は部分を表すことができる。いくつかの代替的な実施形態では、ブロックに記載されている機能は、図に記載された順序から外れて発生する可能性がある。例えば、連続して示される2つのブロックは、実際には実質的に同時に実行されることができ、又は、ブロックは、関与する機能に応じて、逆の順序で実行されることができる。ブロック図及び/又はフロー図の各ブロック、並びに、ブロック図及び/又はフロー図におけるブロックの組み合わせは、指定された機能若しくは行為を実行するか、又は、専用ハードウェアとコンピュータ命令との組み合わせを実施する専用ハードウェアベースのシステムによって実装することができることにも留意されたい。
本開示の様々な実施形態において修正及び変更を行うことができることは、上記の記載から理解されるであろう。本明細書における記載は、例示のみを目的としており、限定的な意味で解釈されるべきではない。本開示の範囲は、以下の特許請求の範囲の文言によってのみ限定される。
Claims (20)
- 利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための方法であって、
交流(AC)電源の代わりに直流(DC)電源を装置が使用していると判定することと、
前記装置が前記DC電源を使用していることに応じて、前記DC電源を使用している間、離散グラフィックス処理ユニット(dGPU)よりも統合グラフィックス処理ユニット(iGPU)を優先的に前記装置に利用させることと、含む、
方法。 - 前記dGPUよりも前記iGPUを優先的に前記装置に利用させることは、前記dGPUをシャットダウンすることを含む、
請求項1の方法。 - 前記dGPUへのディスプレイ接続に応じて、前記dGPUをアクティブ化することを含む、
請求項2の方法。 - 前記dGPUよりも前記iGPUを優先的に前記装置に利用させることは、前記iGPU及び前記dGPUに、レンダリングのために、前記iGPUよりも前記dGPUを優先する動作モードを終了させることを含む、
請求項1の方法。 - 前記iGPU及び前記dGPUによって前記動作モードを終了することは、dGPUドライバのリロードを介して実行される、
請求項4の方法。 - 前記dGPUよりも前記iGPUを優先的に前記装置に利用させることは、
アプリケーションに関連付けられたランタイムイベントを検出することと、
前記ランタイムイベントに応じて、レンダリングのために、前記iGPUを使用するように、前記アプリケーションに関連付けられたプリファレンスを更新することと、を含む、
請求項1の方法。 - 1つ以上の実行されたアプリケーションが再起動されることを示す通知を表示することを含む、
請求項1の方法。 - 前記DC電源を使用している間に前記dGPUよりも前記iGPUを使用することを優先するかどうかの選択をユーザから要求することを含む、
請求項1の方法。 - 前記装置において、前記AC電源の使用から前記DC電源の使用への電力遷移イベントを検出することと、
前記電力遷移イベントに応じて、前記装置が前記dGPUよりも前記iGPUを優先的に利用するのを終了することと、を含む、
請求項1の方法。 - 利用される電源に基づくグラフィックス処理ユニット(GPU)選択のための装置であって、
統合グラフィックス処理ユニット(iGPU)と、
GPUと、を備え、
前記装置は、
交流(AC)電源の代わりに直流(DC)電源を前記装置が使用していると判定することと、
前記装置が前記DC電源を使用していることに応じて、前記DC電源を使用している間、離散グラフィックス処理ユニット(dGPU)よりもiGPUを優先的に前記装置に利用させることと、
を含むステップを実行するように構成されている、
装置。 - 前記dGPUよりも前記iGPUを優先的に前記装置に利用させることは、前記dGPUをシャットダウンすることを含む、
請求項10の装置。 - 前記ステップは、前記dGPUへのディスプレイ接続に応じて、前記dGPUをアクティブ化することを含む、
請求項11の装置。 - 前記dGPUよりも前記iGPUを優先的に前記装置に利用させることは、前記iGPU及び前記dGPUに、レンダリングのために、前記iGPUよりも前記dGPUを優先する動作モードを終了させることを含む、
請求項10の装置。 - 前記iGPU及び前記dGPUによって前記動作モードを終了することは、dGPUドライバのリロードを介して実行される、
請求項13の装置。 - 前記dGPUよりも前記iGPUを優先的に前記装置に利用させることは、
アプリケーションに関連付けられたランタイムイベントを検出することと、
前記ランタイムイベントに応じて、レンダリングのために、前記iGPUを使用するように、前記アプリケーションに関連付けられたプリファレンスを更新することと、を含む、
請求項10の方法。 - 前記ステップは、1つ以上の実行されたアプリケーションが再起動されることを示す通知を表示することを含む、
請求項10の装置。 - 前記ステップは、前記DC電源を使用している間に前記dGPUよりも前記iGPUを使用することを優先するかどうかの選択をユーザから要求することを含む、
請求項10の装置。 - 前記ステップは、
前記装置において、前記AC電源の使用から前記DC電源の使用への第2の電力遷移イベントを検出することと、
前記第2の電力遷移イベントに応じて、前記装置が前記dGPUよりも前記iGPUを優先的に利用するのを終了することと、を含む、
請求項10の装置。 - コンピュータ可読記憶媒体に配置されたコンピュータプログラム製品であって、
前記コンピュータプログラム製品は、利用される電源に基づくグラフィックス処理ユニット(GPU)選択のためのコンピュータプログラム命令を含み、
前記コンピュータプログラム命令は、実行されると、
交流(AC)電源の代わりに直流(DC)電源を装置が使用していると判定することと、
前記装置が前記DC電源を使用していることに応じて、前記DC電源を使用している間、離散グラフィックス処理ユニット(dGPU)よりも統合グラフィックス処理ユニット(iGPU)を優先的に前記装置に利用させることと、
を含むステップをコンピュータシステムに実行させる、
コンピュータプログラム製品。 - 前記ステップは、
前記装置において、前記AC電源の使用から前記DC電源の使用への電力遷移イベントを検出することと、
前記電力遷移イベントに応じて、前記装置が前記dGPUよりも前記iGPUを優先的に利用するのを終了することと、を含む、
請求項19のコンピュータプログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/218,795 | 2021-03-31 | ||
US17/218,795 US20220317756A1 (en) | 2021-03-31 | 2021-03-31 | Graphics processing unit (gpu) selection based on a utilized power source |
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 |
---|---|
JP2024515467A true JP2024515467A (ja) | 2024-04-10 |
Family
ID=81308322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023558758A Pending JP2024515467A (ja) | 2021-03-31 | 2022-03-25 | 利用される電源に基づくグラフィックス処理ユニット(gpu)選択 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220317756A1 (ja) |
EP (1) | EP4314991A1 (ja) |
JP (1) | JP2024515467A (ja) |
KR (1) | KR20230164087A (ja) |
CN (1) | CN117099070A (ja) |
WO (1) | WO2022212198A1 (ja) |
Families Citing this family (1)
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)
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 | 株式会社東芝 | 情報処理装置 |
US20110063304A1 (en) * | 2009-09-16 | 2011-03-17 | Nvidia Corporation | Co-processing synchronizing techniques on heterogeneous graphics processing units |
US8321696B2 (en) * | 2010-08-31 | 2012-11-27 | Dell Products L.P. | Method to support switchable graphics with one voltage regulator |
-
2021
- 2021-03-31 US US17/218,795 patent/US20220317756A1/en active Pending
-
2022
- 2022-03-25 EP EP22716723.6A patent/EP4314991A1/en active Pending
- 2022-03-25 KR KR1020237035506A patent/KR20230164087A/ko unknown
- 2022-03-25 CN CN202280025394.9A patent/CN117099070A/zh active Pending
- 2022-03-25 WO PCT/US2022/021931 patent/WO2022212198A1/en active Application Filing
- 2022-03-25 JP JP2023558758A patent/JP2024515467A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022212198A1 (en) | 2022-10-06 |
KR20230164087A (ko) | 2023-12-01 |
CN117099070A (zh) | 2023-11-21 |
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 | |
US8839012B2 (en) | Power management in multi-GPU systems | |
US8386672B2 (en) | Systems, methods and media for disabling graphic processing units | |
US7831850B2 (en) | Hybrid operating systems for battery powered computing systems | |
US8233000B1 (en) | System and method for switching between graphical processing units | |
US7478187B2 (en) | System and method for information handling system hot insertion of external graphics | |
US20160117793A1 (en) | Systems And Methods For Orchestrating External Graphics | |
US8259119B1 (en) | System and method for switching between graphical processing units | |
US20110157191A1 (en) | Method and system for artifically and dynamically limiting the framerate of a graphics processing unit | |
EP3889735A1 (en) | Information processing apparatus and control method | |
US10228750B2 (en) | Reducing the power consumption of an information handling system capable of handling both dynamic and static display applications | |
JP2024515467A (ja) | 利用される電源に基づくグラフィックス処理ユニット(gpu)選択 | |
US8941672B1 (en) | Method for identifying a display when a GPU connected to the display is powered down | |
US11157065B2 (en) | Low-energy operation of motor vehicle functions during the operation of the motor vehicle | |
US20150123875A1 (en) | Power management device and method | |
WO2023277869A1 (en) | Activation of integrated graphical processing units | |
JP2013054667A (ja) | 情報処理装置及びプログラム | |
WO2023075791A1 (en) | Switching display port connected to external display between discrete and integrated graphics processors | |
JP2011141887A (ja) | 情報処理装置、情報処理方法及びそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231127 |