JP5784633B2 - グラフィック処理装置の間のポリシーベースの切り換え - Google Patents

グラフィック処理装置の間のポリシーベースの切り換え Download PDF

Info

Publication number
JP5784633B2
JP5784633B2 JP2012548032A JP2012548032A JP5784633B2 JP 5784633 B2 JP5784633 B2 JP 5784633B2 JP 2012548032 A JP2012548032 A JP 2012548032A JP 2012548032 A JP2012548032 A JP 2012548032A JP 5784633 B2 JP5784633 B2 JP 5784633B2
Authority
JP
Japan
Prior art keywords
gpu
computer system
graphics
policy
events
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.)
Active
Application number
JP2012548032A
Other languages
English (en)
Other versions
JP2013516697A (ja
Inventor
クリストファー シー ニーデラウアー
クリストファー シー ニーデラウアー
ジェフリー ジー スタール
ジェフリー ジー スタール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of JP2013516697A publication Critical patent/JP2013516697A/ja
Application granted granted Critical
Publication of JP5784633B2 publication Critical patent/JP5784633B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • 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
    • 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/3215Monitoring of peripheral devices
    • G06F1/3218Monitoring of peripheral devices of display devices
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Power Sources (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Description

本開示の実施形態は、コンピュータシステムの各グラフィック処理装置(GPU)の間を切り換える技術に関する。詳細には、本開示の実施形態は、コンピュータシステムの各GPUの間のポリシーベースの切り換えのための技術に関する。
多くの電子デバイスにとって電力管理は非常に重要である。例えば、ラップトップコンピュータ、携帯電話、及び携帯情報端末(PDAs)等の携帯型電子デバイスは、バッテリ電源で所定時間にわたって作動するよう電力を節約する必要がある。同時に、これらの多くの携帯型電子デバイスは、高解像度、高性能のグラフィックス技術を組み入れつつある。この技術分野の急激な開発により、2D及び3Dグラフィックス技術は飛躍的に進歩しており、ユーザは、グラフィカルユーザインタフェースから現実的ゲーム環境の範囲で、ますます高度な可視体験を行うことができる。これら多くの改良の基本は、特定用途向けグラフィックスレンダリングデバイス又はグラフィック処理装置(GPU)の開発にある。一般的なGPUは、一連の基本オペレーションを高速で行い、結果として生じた画像をグラフィカルディスプレイに表示することで、グラフィカルオブジェクトを効率的に処理する高度な並列構造を含む。
残念ながら、これらの改善されたグラフィック性能に付随してコストがかかってしまう。特に、グラフィック性能を高めると、一般的に大きな電力消費が付随して起こる。その結果、多くのコンピュータシステム及び携帯型電子デバイスは、高性能GPUをサポートするために大量の電力を費やす場合があり、バッテリ寿命が短くなり熱発散の問題を引き起こす場合もある。
この問題点の1つの解決策は、ローアクティビティの期間に処理能力の高いハイパワーGPUから処理能力の低いローパワーGPUに切り換えることで電力消費を抑えることである。コンピュータシステムの設計者はこのようなシステムをサポートするためにハードウェア構造を開発し始めている。しかしながら、ローパワーGPUとハイパワーGPUとの間の切り換え時期を正確に決定するための解決すべき問題が残っている。
従って、複数のGPUを有するシステムにおいてGPUの間の切り換え時期の決定を容易にする方法及び装置が必要である。
本開示の実施形態は、コンピュータシステムを設定して各GPUの間で切り換えを行うようになっているシステムを提供する。動作時、システムは、コンピュータシステムの第1のグラフィック処理装置(GPU)を使用してディスプレイを駆動する。次に、システムは、アプリケーションプラグミングインタフェース(API)又はシステムを介して、コンピュータシステムの第2のGPUへの依存関係に関連するイベントを検出する。最後に、このイベントに応答して、システムは、ディスプレイを駆動する信号源として、第1のGPUから第2のGPUへの切り換えを開始する。
特定の実施形態において、APIは、グラフィックライブラリ、ビデオ再生、又はウィンドウマネージャに関連付けされる。
特定の実施形態において、依存関係は、
(i)コンピュータシステムのグラフィックライブラリの使用、
(ii)復号可能なコンテンツのビデオ再生、
(iii)第1のGPUから第2のGPUへの切り換え利ウエスト、
(iv)コンピュータシステムのグラフィック性能に関連する.ユーザ選択、
の少なくとも1つに対応する。
特定の実施形態において、リクエストは、ウィンドウマネージャ又はグラフィックライブラリに対して行われる。
特定の実施形態において、ウィンドウマネージャ等のシステムの一部は、各GPUの間の切り換え制御を行い、さもなければ各GPUの間の切り換えをもたらす可能性がある、プロセス又はイベントを補償することができる。
特定の実施形態において、グラフィックライブラリの使用は、
(i)グラフィックライブラリへのリンク付け、
(ii)アプリケーション実行時にグラフィックライブラリのロード、
(iii)グラフィックライブラリに対するメソッド呼び出し、
の少なくとも1つを含む。
特定の実施形態において、イベントは、
(i)第2のGPUへの依存関係に関連するアプリケーションの初期化、
(ii)第1のGPUから第2のGPUへ切り換えるリクエストの呼び出し、
(iii)グラフィックライブラリの使用、
(iv)復号可能なコンテンツのビデオ再生、
のうちの少なくとも1つである。
また、特定の実施形態において、システムは、全ての第2のGPUへの依存関係が解除された後で、信号源を元の第1のGPUへ切り換える。
特定の実施形態において、第1のGPUは、システムチップセットに一体化されたローパワーGPUであり、第2のGPUは、個別(discrete)GPUチップ上にあるハイパワーGPUである。第1のGPU及び第2のGPUは、実質的に同じ回路で同じ能力とすること、又は異なる回路及び/又は能力とすることができる。
特定の実施形態において、第1のGPUはグラフィックコードを実行する汎用プロセッサであり、第2のGPUは特定用途向けGPUである。
特定の実施形態において、他のタスクを実行するための、直ちにディスプレイを駆動しない「オフライン」GPUを用いることができる。例えば、オンライン内蔵GPUは、ウィンドウマネージャのユーザインタフェース(UI)専用とすることができるが、アプリケーションは、個別GPUを用いて非同期的に作業を行う。
1つの実施形態における、異なるグラフィックスソースの間で切り換えを行い同じディスプレイを駆動できるコンピュータシステムを示す。 1つの実施形態における、グラフィックマルチプレクサの構造を示す。 1つの実施形態における、コンピュータシステムの各GPUの間で切り換えを行うための例示的なポリシーを示す。 1つの実施形態における、コンピュータシステムを設定するためのプロセスを示すフローチャートを示す。 1つの実施形態における、GPU切り換えプロセスを示す別のフローチャートを示す。
図面において、同じ参照番号は同じ形態要素を示す。
以下の説明は、当業者が実施形態を作って使用できるように示され、特定の用途及びその必要条件との関連において提供される。当業者であれば開示された実施形態の種々の変更例は明らかであり、本明細書の一般的な原理は、本開示の精神及び範囲を逸脱することなく他の実施形態及びアプリケーションに適用できるはずである。従って、本発明は、図示の実施形態に限定されるものではなく、本明細書で開示される原理及び特徴と一致する最大の範囲と認められる。
詳細な説明に記載のデータ構造及びコードは、一般には、コンピュータシステムが使用するコード及び/又はコードを格納できる任意のデバイス又は媒体とすることができる、コンピュータ読み取り可能な媒体に格納される。コンピュータ読み取り可能な媒体としては、限定されるものではないが、揮発メモリ、不揮発メモリ、ディスクドライブ、磁気テープ、CD(コンパクトディスク)、DVD(デジタル多用途ディスク又はデジタルビデオディスク)等の磁気及び光学記憶デバイス、又は現在公知の又は将来開発されるコード及び又はデータを記憶できる他の媒体とすることができる。
詳細な説明の欄に説明される方法及びプロセスは、前述のコンピュータ読み取り可能な記憶媒体に記憶できる、コード及び/又はデータとして組み込むことができる。コンピュータシステムが、コンピュータ読み取り可能な記憶媒体に記憶されたコード及び/又はデータを読み込んで実行する場合、コンピュータシステムは、データ構造及びコードとして組み込まれ、コンピュータ読み取り可能な記憶媒体に記憶された方法及びプロセスを実行する。
更に、以下に説明する方法及びプロセスは、ハードウェアモジュール又は装置に含むことができる。ハードウェアモジュール又は装置としては、限定されるものではないが、特定用途向け集積回路(ASIC)チップ、フィールドプログラマブルゲートアレイ(FPGA)、特定の時間に特定のソフトウェア又はコードの一部を実行する特定用途向け又は共用プロセッサ、及び/又は現在公知の又は将来開発される他のプログラム可能論理デバイスを含むことができる。ハードウェアモジュール又は装置が起動されると、これらは包含される方法及びプロセスを実行する。
本開示の実施形態は、コンピュータシステムの複数のグラフィック処理装置(GPU)の間で切り換えを行うための方法及びシステムを提供する。コンピュータシステムは、内蔵GPU及び個別(discrete)GPUを含むラップトップコンピュータ、パーソナルコンピュータ、ワークステーション、及び/又は携帯型電子デバイスとすることができる。内蔵GPUは、個別GPUよりも消費電力が少ないが、個別GPUは、内蔵GPUよりもグラフィック性能が高い。その結果、コンピュータシステムの画像レンダリング及び表示は、性能と省電力との間のトレードオフとなる場合がある。
詳細には、本実施形態は、コンピュータシステムの複数のGPUの間のポリシーベースの切り換えを行うための方法及びシステムを提供する。ポリシーは、個々のGPUに依存してコンピュータシステムのイベントに関連付けることができ、高いグラフィック性能要件に関連するイベントは、処理能力の高いGPUに依存する場合があるが、低いグラフィック性能要件に関連するイベントは、処理能力の低いGPUに依存する及び/又は処理能力の高いGPUへの依存から解放される場合がある。(イベントは、一般にコンピュータシステムのハードウェア又はソフトウェア動作状態の何らかの変化を含むことができるが、一方で、依存関係は、イベントと特定のGPUのユーザとの間の関連性であることに留意されたい)。例えば、個別GPUに依存するイベントは、内蔵GPUから個別GPUへの切り換えを引き起こして、コンピュータシステムのディスプレイを駆動することができる。また、各GPUへの依存関係は、コンピュータシステムのグラフィック性能に関連するユーザ選択に基づくことができる。例えば、処理能力の高いグラフィックスのユーザ選択は、処理能力の低いグラフィックスのユーザ選択よりも高性能なGPUに依存する場合がある。
処理能力の高いGPUへ切り換えてディスプレイを駆動した後、元の処理能力の低いGPUへの切り換えは、処理能力の高いGPUへの全ての依存関係が解除されるまで行わない。例えば、個別GPUは、グラフィックライブラリを用いる、GPUサポートを要求する、及び/又はそうでなければグラフィック重視のビデオ再生を必要とするアプリケーションの実行時にディスプレイを駆動できる。全てのグラフィック重視のアプリケーション及び/又はオペレーションが終了すると、コンピュータシステムは内蔵GPUに切り換えて電力を節約する。従って、コンピュータシステムの各GPUの間のポリシーベースの切り換えは、グラフィック処理負荷の高いアプリケーションのグラフィック性能を高めるが、アプリケーションが実行されない場合は電力を節約する。以下に説明するように、ポリシーベースの切り換えにより、追加的に、コンピュータシステムにインストールされたアプリケーションに無関係なコンピュータシステムのグラフィック処理の動的なコンフィギュレーション、並びにGPUを切り換える前にバックグラウンドでGPUの設定を引き起こすイベントを通して各GPUの間のシームレスな切り換えが可能になる。
図1は、1つの実施形態によるコンピュータシステム100を示す。コンピュータシステム100は、パーソナルコンピュータ、ラップトップコンピュータ、携帯型電子デバイス、ワークステーション、及び/又は2つのグラフィックスソースの間で切り換えてディスプレイを駆動できる他の電子デバイスとすることができる。図1を参照すると、2つのグラフィックソースは、(1)個別GPU110及び(2)内蔵GPU118を含み、各々個別にディスプレイ114を駆動できる。ディスプレイ114を駆動するグラフィックソースは、2つのグラフィックソースの間で選択するGPUマルチプレクサ(GMUX)120で特定される。従って、コンピュータシステム100は、GMUX120を使用して現在の作動状態に基づいてグラフィックソースを選択できる。
作動時、別個のGPU110からのディスプレイストリーム122、及び内蔵GPU118からのディスプレイストリーム124は、GMUX120のデータ入力に供給される。ソース選択信号126は、GMUX120の選択入力に供給され、2つのグラフィックソースのどちらがディスプレイ114を駆動するかを決定する。例示的な実施形態において、ソース選択信号126は、ソース選択信号126を発生する特定のロジックを含むブリッジチップ104で生成される。(また、ソース選択信号126は、ブリッジチップ104以外の論理ブロックで生成できることに留意されたい。例えば、ソース選択信号126は、1つ又はそれ以上の処理ユニット102で生成できる)。選択されたグラフィックソースからのディスプレイストリームは、次に、ディスプレイ114に供給される。
1つの実施形態において、個別GPU110及び内蔵GPU118は、データパス128を経由して通信してディスプレイストリームに同期するようになっている。ディスプレイストリームの同期は、それぞれにタイミング信号及びそれぞれのデータ信号の同期を含むことができる。
1つの実施形態において、個別GPU110は処理能力の高いGPUであり、電力消費の少ない処理能力の低いGPU内蔵GPU118に対して非常に多くの電力を消費する。本実施形態において、グラフィック処理の負荷が小さい場合、システムは、ディスプレイ114を駆動する個別GPU110の使用から内蔵GPU118の使用へ切り替わり、その後、個別GPU110の電源が切られるので電力を節約できる。他方で、グラフィック処理の負荷が再度大きくなった場合、システムはグラフィックソースを内蔵GPU118から個別GPU110へ戻す。
個別GPU及び内蔵GPUを含むシステムを説明したが、開示された技術は、一般に各々のGPUが個別にディスプレイを駆動できる2つ又はそれ以上のGPUを備える任意のコンピュータシステムで作動できる。更に、同じコンピュータシステムの各GPUは、異なる作動特性及び電力消費レベルをもつことができる。例えば、コンピュータシステムは、1つ又はそれ以上の処理装置102(例えば、中央処理装置(CPU))の汎用プロセッサと特定用途向けGPU(例えば、個別GPU110)との間の切り換えを行ってディスプレイ114を駆動することができる。従って、開示された技術は図1に示す特定の実施形態に限定されない。
また、前述の各グラフィックソースの間の切り換え処理は、コンピュータシステムをシャットダウンする又は再初期化することを含んでいない。その結果、切り換え処理は、再初期化処理を必要とする場合よりも実質的に時間がかからない。従って、開示される技術は、各グラフィックソースの間の高速及び頻繁な切り換えを容易にする。
1つ又はそれ以上の実施形態において、コンピュータシステム100は、ディスプレイ114を駆動する信号源として、個別GPU110と内蔵GPU118との間のポリシーベースの切り換えを可能にする。詳細には、コンピュータシステム100は、コンピュータシステム100のグラフィック性能に関連するポリシーに基づいて、個別GPU110又は内蔵GPU118を選択してディスプレイ114を駆動することができる。ポリシーは、個々のGPUに依存してコンピュータシステムのイベントに関連付けることができ、高いグラフィック性能要件に関連するイベントは、個別GPU110に関連するが、低いグラフィック性能要件に関連するイベントは、内蔵GPU118に関連することができる。
個別GPU110への依存関係に関連するイベントが、グラフィックライブラリ、ビデオ再生、及び/又はウィンドウマネージャに関連するアプリケーションプラグミングインタフェース(API)によって検出されるまで、コンピュータシステム100は、ディスプレイ114を駆動する信号源として内蔵GPU118から始めることができる。アプリケーションが、1つ又はそれ以上の所定のAPIを介して関数呼び出しを行う場合、システムは、アプリケーションが性能の高い又は性能の低いグラフィック処理能力のどちらを必要とするかを推定できる。1つ又はそれ以上の関数呼び出しに応答して、システムはGPUの切り換えを開始できる。例えば、依存関係は、コンピュータシステムのOpenGL(OpenGL(商標)はSilicon Graphics, Inc.の登録商標)の使用(例えば、リンク付け、ロード、メソッド呼び出し)、及び/又は復号可能な(例えば、暗号化された、圧縮された、符号化された)ビデオコンテンツのQuickTime(QuickTime(商標)はApple Inc.の登録商標)再生に対応することができる。また、依存関係は、アプリケーション実行及び/又はコンピュータシステムのグラフィック性能に関連するユーザ選択の間に、内蔵GPU118から個別GPU 110に切り換える明示的リクエスト(例えば、グラフィックライブラリ及び/又はウィンドウマネージャを介して)によって、個々のアプリケーション及び/又はユーザによって引き起こされる場合もある。
GPU切り換えは、明示的なAPI呼び出しによって又はこれに関連して引き起こされる必要はないことに留意されたい。詳細には、GPU切り換えは、以下に対応するインベントによって引き起こすことができる。すなわち、(1)第2のGPUへの依存関係に関連するアプリケーションの開始、(2)GPUへの依存関係に関連するアプリケーションの終了、(3)第1のGPUから第2のGPUへの切り換えリクエストの呼び出し(例えば、アプリケーションによって)、(4)アプリケーション内のモード又は機能の切り換え、及び(5)グラフィックライブラリ、及び/又は復号可能(例えば、デジタル著作権管理(DRM))なコンテンツのビデオ再生の利用である。各GPUの間のポリシーベースの切り換えに関するイベント及び/又は依存関係は、図3を参照して以下に詳細に説明する。
このイベントに応答して、コンピュータシステム100は、ディスプレイ114を駆動する信号源として内蔵GPU118から個別GPU110に切り換えることができる。切り換え時、個別GPU110に依存するスレッドは、個別GPU110が完全にディスプレイ114を駆動するまでブロックできる。信号源としての内蔵GPU118への切り換えは、個別GPU110への全ての依存関係が解除された後に行うことができる。例えば、コンピュータシステム100は、ハードウェア復号可能なコンテンツのビデオ再生、グラフィックライブラリの使用、及び/又は個別GPU110に関連するアプリケーション実行の終了後に、信号源としての内蔵GPU118に戻すことができる。
個別GPU110と内蔵GPU118との間の切り換えはコンピュータシステム100のグラフィック処理要件に関連するイベントに基づくので、コンピュータシステム100は、アプリケーション及びユーザのグラフィック性能要件の変化に迅速に応答するする機能性を含むことができる、グラフィック性能及び省電力が向上する。更に、コンピュータシステム100の1つ又はそれ以上のAPIを介したこのようなイベント検出により、コンピュータシステム100のグラフィック表示は、コンピュータシステム100にインストールされるアプリケーションに無関係に動的に設定できる。最後に、各GPUの間の切り換えを規定する調整可能なポリシーを使用することで、コンピュータシステム100に関連する個々のアプリケーション及び/又はユーザは、ディスプレイ114の駆動のための内蔵GPU118及び/又は個別GPU110の使用を調節することができる。
図2は、1つの実施形態のグラフィックマルチプレクサ120(図1を参照して説明した)の内部構造を示す。図2を参照すると、個別GPU110からのディスプレイストリーム122及び内蔵GPU118からのディスプレイストリーム124は、それぞれデータクロック取得ブロック205及び210に供給される。データクロック取得ブロック205及び210は、ディスプレイストリーム122及び124を非直列化して、それぞれデータクロック信号221及び222を取り出す。
これらのデータクロック信号221及び222は、ディスプレイストリームアッセンブラ240に送られることになるデータクロック221及び222の1つを選択するクロックMUX225に供給される。1つの実施形態においてGMUXコントローラ235は選択信号236をクロックMUX225に提供する。もしくは、選択信号236は、1つ又はそれ以上のプロセッサ装置102又は別のコントローラのプロセッサ等の他のソースから提供できる。
次に、ディスプレイストリーム122及び124は、別個のデータクロックでそれぞれデータバッファ215及び220に供給される。データバッファ215及び220は、ディスプレイストリーム122及び124を調べて、いつブロッキング期間が生じるかを判定して、それぞれのブロッキング期間信号233及び234を生成する。また、データバッファ215及び220は、データMUX230に供給される出力データストリームを生成する。
ブロッキング期間信号233及び234は、ブロッキング期間233及び234を比較して、もし存在すればディスプレイストリーム122及び124の各ブロッキング期間の間にどれだけのオーバーラップが存在するかを求める、GMUXコントローラ235に供給される。(ブロッキング期間信号233及び234は、垂直又は水平又はブロッキング期間を表し得ることに留意されたい)。GMUXコントローラ235がブロッキング期間233及び234が十分にオーバーラップすると判定した場合、GMUXコントローラ235は、ブロッキング期間がオーバーラップを開始したという選択信号236をアサートする。これにより、クロックMUX225及びデータMUX230は、これらのブロッキング期間がオーバーラップする期間に各ディスプレイストリーム122及び124の間の切り換えを行う。この切り換えはブロッキング期間の間に発生するので、切り換え処理は、ディスプレイ114では見ることができないであろう。
最後に、データMUX230及び選択されたデータクロック223の出力は、データストリームをディスプレイ114に送信する前に再直列化するディスプレイストリームアセンブラ240に供給される。
図3は、1つの実施形態における、コンピュータシステムの各GPUの間で切り換えを行う例示的なポリシーを示す概略図である。前述のように、ポリシーは、コンピュータシステムのディスプレイを駆動する信号源として、個別GPUと内蔵GPU又はGPUとCPUといった2つの異なるGPUの間の切り換えを行うために使用できる。更に、ポリシーは、イベント304に基づいて特定のGPUの使用を規定することができ、コンピュータシステムのAPIを介してアプリケーションを実行することで生成することができる。特に、ポリシーは、処理能力の高いGPU(例えば、個別GPU110)への依存関係に関連するイベント、並びに処理能力の高いGPUへ依存しないイベントを特定できる。
図3に示すように、イベント304は、グラフィックライブラリの使用306、ビデオ再生308、及び/又はウィンドウマネージャのアクション310に関連付けできる。グラフィックライブラリ306により、アプリケーション302は、コンピュータシステムのグラフィックス・ハードウェア・アクセラレータを使用できる。その結果、グラフィックライブラリの使用306は、高いグラフィック性能要件に関連付けることができ、個別GPUの使用320を引き起こす。例えば、三次元(3D)コンピュータゲームは、OpenGLを使用して複雑なシーン及びキャラクタを、グラフィックス・ハードウェア・アクセラレータを用いてレンダリングすることができる。更に、3Dコンピュータゲームは、個別GPUがリアルタイムにレンダリングしてグラフィック表示する機能性を必要とする場合もある。
特に、個別GPUの使用320は、アプリケーションが、両方のGPUを明らかにサポートしていな場合、つまりフィックライブラリ306の呼び出し時にオフラインレンダリングがサポートされない312ことを意味する場合、及び/又はアプリケーションが、個別GPUを使用320するためのグラフィックライブラリ306の機能を呼び出すことで、個別GPUに関する明示的なリクエスト314を行う場合に引き起こされる。他方で、アプリケーションがオフラインレンダリングをサポートする場合、ポリシーは、個別GPUへの即時切り換えを指示しない場合がある。その代わりに、ポリシーによって、アプリケーションは、グラフィックライブラリ306を呼び出す別の方法によってGPUの両方の使用を設定できる。更に、プリケーションは、後続の内蔵GPUを使用するという明示的リクエスト315によって、個別GPU上の先に作成した依存関係を解除322することができる。
前述のように、グラフィックライブラリの使用306は、グラフィックライブラリ306へのリンク付け、アプリケーション実行中のグラフィックライブラリ306のロード、及び/又はアプリケーションによるグラフィックライブラリ306に対するメソッド呼び出しに対応することができる。その結果、個別GPUへの切り換えは、アプリケーション実行前、アプリケーション実行中、及び/又はアプリケーションによるグラフィックス・ハードウェア・アクセラレータの使用中に引き起こすことができる。更に、リンク付け又はロード等のイベントは個別GPUを設定するために使用できるので、アプリケーションがグラフィックライブラリ306を介して最終的にグラフィックス・ハードウェア・アクセラレータを利用する場合に、個別GPUへのシームレスな切り換えを行うことができる。詳細は図5の説明を参照されたい。
復号可能なコンテンツ及び/又は高解像度/高ビットレートの再生316を含む場合、ビデオ再生308は、個別GPUへの依存関係に関連付けることができる。例えば、個別GPUの使用320により、ビデオコンテンツが符号化、暗号化、及び/又は圧縮されている場合、個別GPUによる復号、暗号解読、及び解凍を可能にするメカニズムを使用して再生することができる。個別GPUの使用320によるビデオコンテンツの復号は、更に再生ビデオの解像度及び/又はビットレートによって決まる。例えば、ポリシーは、低解像度ビデオに対してはコンピュータシステムのCPUによる復号を規定し、高解像度/高ビットレートビデオに対しては個別GPU320による復号を規定できる。もしくは、個別GPUはオフライン状態で使用してビデオコンテンツを復号することができ、その後、内蔵GPUによってコンピュータシステム上に表示される。ビデオ再生308に関連する依存関係は、ビデオ再生が停止321すると解除322できる。
また、ウィンドウマネージャのアクション310は、例えば、取得した表示、明示的リクエスト、及び/又は外部ディスプレイへの接続318のイベントにより、個別GPU320への切り換えを引き起こすことができる。詳細には、表示画面(例えば、「全画面」)に表示されるものに対する全ての制御を担うアプリケーションによる表示の取得は、コンピュータシステムのディスプレイのコンフィギュレーションを変更して、グラフィックライブラリ306の使用を引き起こすことができ、結果的に個別GPUの使用320を指示することができる。同様に、アプリケーションは、ウィンドウマネージャ310を介して、個別GPUを使用するための明示的リクエスト及び/又はGPUをサポートするリクエストを行うことができるので、個別GPU320への切り換えを引き起こすことができる。また、コンピュータシステムの外部ディスプレイの接続により、グラフィック性能要件が高くなる場合があり、コンピュータシステムの個別GPUの使用320を引き起こす。例えば、取得した表示の解除、GPUサポートの停止、内蔵GPU使用の明示的リクエスト315、及び/又は外部ディスプレイの切断によるこれらのトリガ条件が停止321する場合、この停止により、個別GPUの1つ又はそれ以上の依存関係の解除322を引き起こすことができる。
最後に、ポリシーは、個別GPUの全ての依存関係が解除328された後に内蔵GPUの使用330を規定できる。換言すれば、個別GPUへの単一の依存関係は、個別GPUへの切り換えを引き起こすことができるが、実行中のアプリケーションが個別GPUへの依存関係を持たない場合は内蔵GPUが使用される。
当業者であれば、ユーザ選択、アプリケーション要件、及び/又はコンピュータシステムに関連するGPU特徴部に基づいて、各GPUの間の切り換えを行うための異なるポリシーを使用できることを理解できるはずである。例えば、GPUの特徴部の使用に関連する依存関係は、コンピュータシステムの他のGPUがいくつかの特徴部を利用できない場合に存在できる。一方で、処理能力の高いグラフィック処理のユーザ選択は、ポリシー内の個別GPUの追加の依存関係の識別を促進できるが、処理能力の低いグラフィック処理のユーザ選択は、ポリシー内の個別GPUへの依存関係の数を減少させる場合がある。
アプリケーションに関する依存関係の全ては、アプリケーションの終了によって解除できることに留意されたい。
図4は、1つの実施形態による、コンピュータシステムを設定する処理を示すフローチャートである。1つ又はそれ以上の実施形態において、1つ又はそれ以上のステップは省くこと、繰り返すこと、及び/又は異なる順番で実行することができる。従って、図4に示すステップの特定の構成は、本実施形態の範囲を限定すると解釈すべきではない。
最初に、ディスプレイは、コンピュータシステムの第1のGPUを用いて駆動される(ステップ402)。第1のGPUは、グラフィックコードを実行する汎用プロセッサ及び/又は内蔵GPU等のローパワー及び/又は処理能力の低いGPUに対応することができる。次に、APIを介してコンピュータシステムの第2のGPUへの依存関係に関連するイベントを検出する(ステップ404)。第2のGPUは、第1のGPUよりも処理能力が高く電力消費の大きいGPUとすることができる。例えば、第2のGPUは、第1のGPUが内蔵GPUの場合には個別GPUに対応すること、又は第2のGPUは、第1のGPUがCPUの場合には特定用途向けGPUに対応することができる。APIは、グラフィックライブラリ、ビデオ再生、及び/又はウィンドウマネージャに関連付けることができる。その結果、APIで検出したイベントは、コンピュータシステムのグラフィック性能要件を評価して、第1のGPUと第2のGPUとの間の切り換えを引き起こすために使用できる。
イベントに応答して、ディスプレイを駆動する信号源として第1のGPUから第2のGPUへの切り換えを行う(ステップ406)。前述のように、第1のGPUから第2のGPUへのシームレスな切り換えは、切り換えの前に第2のGPUを設定することで助長される。例えば、第2のGPUの設定は、グラフィックライブラリを実行可能なアプリケーションへロードすると開始できるが、第2のGPUへの切り換えは、グラフィックライブラリを用いた「描画」オペレーションを行うまで生じることはできない。
第2のGPUは、該第2のGPUへの全ての依存関係が解除されるまで引き続き信号源として使用できる(ステップ408)。例えば、第2のGPUは、コンピュータシステムに関連するポリシーで規定される全てのグラフィック重視のアプリケーション及び/又はオペレーションが実行を完了するまで引き続きディスプレイを駆動できる。依存関係が依然として存在する場合、第2のGPUは、引き続き信号源として使用する(ステップ410)。しかしながら、第2のGPUへの依存関係がもはや存在しない場合、信号源は元の第1のGPUへ切り換わり(ステップ412)、コンピュータシステムの電力を節約するようになっている。
図5は、1つの実施形態による、GPU切り換え処理を示すプロセスを示す他のフローチャートである。
最初に、ディスプレイは、第1のGPUを使用して駆動される(ステップ502)。次に、初期イベント又は関数呼び出しの検出に応答して、システムは、第2のGPUをGPU切り換えに向けて設定する(ステップ504)。1つの実施形態において、第2のGPUへの切り換えは即座に起こるので、ディスプレイは第2のGPUで駆動される。他の実施形態において、切り換えは後続のイベント又は関数呼び出しの検出に応答して発生する(ステップ506)。
前述の種々の実施形態の説明は例示及び説明目的である。これらは網羅的であること又は本発明を前述の開示内容に限定することは意図されていない。従って、当業者であれば多くの変更例及び変形例を理解できるはずである。更に、前述の開示内容は本発明を限定するものではない。

Claims (13)

  1. コンピュータシステムを設定する方法であって、
    前記コンピュータシステムの第1のグラフィック処理装置(GPU)を使用してディスプレイを駆動する段階と、
    2つ以上のイベントを特定するポリシーを識別する段階であって、前記2つ以上のイベントの少なくとも1つは、前記第1のGPUと第2のGPUとの間の1つ又はそれ以上の依存関係を識別するものであり、前記1つ又はそれ以上の依存関係は、グラフィックライブラリへのリンク付け、アプリケーション実行時のグラフィックライブラリのロード、及びグラフィックライブラリに対するメソッド呼び出しのうちの1つを含むものであり、前記ポリシーは、前記2つ以上のイベントのすべてが検出された場合にのみ満たされる、段階と、
    前記ポリシーが満たされたことを検出する段階と、
    前記ポリシーが満たされたことの検出に応答して、前記ディスプレイを駆動する信号源として前記第1のGPUから前記第2のGPUへ切り換える段階と、
    前記切り換えの後、前記ポリシーがもはや満たされなくなったことを検出する段階と、
    前記ポリシーがもはや満たされなくなったことの検出に応答して、前記第2のGPUから前記第1のGPUへ切り換える段階と、
    を含む方法。
  2. 前記2つ以上のイベントは、1つ又はそれ以上のアプリケーションプログラミングインタフェース(API)を介して検出される、請求項1に記載の方法。
  3. 前記1つ又はそれ以上のAPIは、グラフィックライブラリ、ビデオ再生、又はウィンドウマネージャのうちの少なくとも1つに関連付けされる、請求項2に記載の方法。
  4. 前記1つ又はそれ以上の依存関係は、
    前記コンピュータシステムの前記グラフィックライブラリの使用、
    復号可能なコンテンツのビデオ再生、
    前記第1のGPUから前記第2のGPUへの切り換えリクエスト、
    前記コンピュータシステムのグラフィック性能に関するユーザ選択、
    周辺機器又はディスプレイのプラグイン等のシステムイベント、
    のうちの少なくとも1つに対応する、請求項に記載の方法。
  5. 前記第1のGPUから前記第2のGPUへの切り換えリクエストは、前記ウィンドウマネージャ又は前記グラフィックライブラリに対して行われる、請求項に記載の方法。
  6. 前記2つ以上のイベントは、
    前記1つ又はそれ以上の前記第2のGPUへの依存関係に関連するアプリケーションの初期化、
    前記第1のGPUから前記第2のGPUへ切り換えるリクエストの呼び出し、
    グラフィックライブラリの使用、
    復号可能なコンテンツのビデオ再生、及び
    周辺機器又はディスプレイのプラグイン等のシステムイベント、
    を含む、請求項に記載の方法。
  7. 前記第1のGPUは、システムチップセットに一体化されたローパワーGPUであり、 前記第2のGPUは、個別GPUチップ上にあるハイパワーGPUであり、前記第1のGPU及び前記第2のGPUは、1つ又はそれ以上の類似機能を可能にする回路を有する、請求項1に記載の方法。
  8. 前記第1のGPUは、グラフィックコードを実行する汎用プロセッサであり、前記第2のGPUは特定用途向けGPUである、請求項1に記載の方法。
  9. 第1のグラフィックプロセッサから第2のグラフィックプロセッサに切り換えてディスプレイを駆動するコンピュータシステムであって、
    第1のグラフィック処理装置(GPU)と、
    第2のGPUと、
    を備え、前記コンピュータシステムは、
    2つ以上のイベントを特定するポリシーを識別し、前記2つ以上のイベントの少なくとも1つは、前記第1のGPUと第2のGPUとの間の1つ又はそれ以上の依存関係を識別するものであり、前記1つ又はそれ以上の依存関係は、グラフィックライブラリへのリンク付け、アプリケーション実行時のグラフィックライブラリのロード、及びグラフィックライブラリに対するメソッド呼び出しのうちの1つを含むものであり、前記ポリシーは、前記2つ以上のイベントのすべてが検出された場合にのみ満たされるものであり、
    前記ポリシーが満たされたことを検出し、
    前記ポリシーが満たされたことの検出に応答して、前記ディスプレイを駆動する信号源として前記第1のGPUから前記第2のGPUへ切り換え
    前記切り換えの後、前記ポリシーがもはや満たされなくなったことを検出し、
    前記ポリシーがもはや満たされなくなったことの検出に応答して、前記第2のGPUから前記第1のGPUへ切り換える、
    ように構成されるコンピュータシステム。
  10. 前記2つ以上のイベントは、1つ又はそれ以上のAPIを介して検出される、請求項に記載のコンピュータシステム。
  11. 前記1つ又はそれ以上のAPIは、グラフィックライブラリ、ビデオ再生、又はウィンドウマネージャのうちの少なくとも1つに関連付けされる、請求項1に記載のコンピュータシステム。
  12. 前記1つ又はそれ以上の依存関係は、
    前記コンピュータシステムの前記グラフィックライブラリの使用、
    復号可能なコンテンツのビデオ再生、
    前記第1のGPUから前記第2のGPUへの切り換えリクエスト、
    前記コンピュータシステムのグラフィック性能に関するユーザ選択、
    周辺機器又はディスプレイのプラグイン等のシステムイベント、
    のうちの少なくとも1つに対応する、請求項1に記載のコンピュータシステム。
  13. 前記第1のGPUから前記第2のGPUへの切り換えリクエストは、前記ウィンドウマネージャ又は前記グラフィックライブラリに対して行われる、請求項1に記載のコンピュータシステム。
JP2012548032A 2010-01-06 2010-12-22 グラフィック処理装置の間のポリシーベースの切り換え Active JP5784633B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29272110P 2010-01-06 2010-01-06
US61/292,721 2010-01-06
US12/695,265 US8368702B2 (en) 2010-01-06 2010-01-28 Policy-based switching between graphics-processing units
US12/695,265 2010-01-28
PCT/US2010/061820 WO2011084831A1 (en) 2010-01-06 2010-12-22 Policy-based switching between graphics-processing units

Publications (2)

Publication Number Publication Date
JP2013516697A JP2013516697A (ja) 2013-05-13
JP5784633B2 true JP5784633B2 (ja) 2015-09-24

Family

ID=44224472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012548032A Active JP5784633B2 (ja) 2010-01-06 2010-12-22 グラフィック処理装置の間のポリシーベースの切り換え

Country Status (7)

Country Link
US (2) US8368702B2 (ja)
EP (1) EP2521971B1 (ja)
JP (1) JP5784633B2 (ja)
KR (1) KR101606428B1 (ja)
CN (1) CN102763081B (ja)
TW (1) TWI452514B (ja)
WO (1) WO2011084831A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8300056B2 (en) 2008-10-13 2012-10-30 Apple Inc. Seamless display migration
US8368702B2 (en) 2010-01-06 2013-02-05 Apple Inc. Policy-based switching between graphics-processing units
US8797334B2 (en) * 2010-01-06 2014-08-05 Apple Inc. Facilitating efficient switching between graphics-processing units
US8648868B2 (en) * 2010-01-06 2014-02-11 Apple Inc. Color correction to facilitate switching between graphics-processing units
US20120243031A1 (en) * 2011-03-25 2012-09-27 Konica Minolta Laboratory U.S.A., Inc. Gpu accelerated color analysis and control system
US8560453B2 (en) * 2011-06-30 2013-10-15 Intel Corporation Method and apparatus for dynamic, real-time ad insertion based on meta-data within a hardware based root of trust
US8692833B2 (en) * 2011-08-09 2014-04-08 Apple Inc. Low-power GPU states for reducing power consumption
KR101861742B1 (ko) 2011-08-30 2018-05-30 삼성전자주식회사 이종의 가속기들 사이에서 스위칭할 수 있는 데이터 처리 시스템과 그 방법
US9672609B1 (en) * 2011-11-11 2017-06-06 Edge 3 Technologies, Inc. Method and apparatus for improved depth-map estimation
TWI511078B (zh) * 2012-06-11 2015-12-01 Acer Inc 影像處理的調整方法及其電子裝置
CN103531217B (zh) * 2012-07-02 2016-06-08 宏碁股份有限公司 影像处理的调整方法及其电子装置
KR20140013652A (ko) * 2012-07-26 2014-02-05 삼성전자주식회사 시스템 온 칩 및 이를 포함하는 전자 기기
US9760967B2 (en) 2013-11-13 2017-09-12 Qualcomm Incorporated System and method of dynamically throttling CPU frequency for gaming workloads
KR102092315B1 (ko) * 2013-11-14 2020-04-14 한화테크윈 주식회사 영상 기록 시스템, 호스트 시스템의 영상 처리 방법 및 장치
BR112016026264B1 (pt) * 2014-05-09 2022-01-18 Huawei Technologies Co., Ltd Método implementado por computador para otimizar um tempo de inicialização de um sistema de computador e sistema de computador
CN105446462B (zh) * 2014-06-27 2020-12-18 联想(北京)有限公司 一种显示方法、装置、电路及电子设备
KR101706088B1 (ko) * 2015-11-10 2017-02-13 홍성규 Ssd 제어기에서의 프로세서 스위칭 방법 및 장치
US9971708B2 (en) 2015-12-02 2018-05-15 Advanced Micro Devices, Inc. System and method for application migration between docking station and dockable device
JP6641484B2 (ja) * 2015-12-03 2020-02-05 華為技術有限公司Huawei Technologies Co.,Ltd. シナリオに従いグラフィック処理解像度を変更する方法及びポータブル電子装置
US10528509B2 (en) 2016-01-29 2020-01-07 Hewlett Packard Enterprise Development Lp Expansion bus devices comprising retimer switches
JP6658136B2 (ja) 2016-03-14 2020-03-04 コニカミノルタ株式会社 描画処理装置、画像処理装置、描画処理方法及び描画処理プログラム
US10255652B2 (en) * 2017-01-18 2019-04-09 Amazon Technologies, Inc. Dynamic and application-specific virtualized graphics processing
US10776895B2 (en) * 2017-02-10 2020-09-15 Apple Inc. GPU power and performance management
TWI676129B (zh) * 2018-06-29 2019-11-01 致茂電子股份有限公司 多核心同步處理裝置及其同步控制方法
JP6695942B2 (ja) * 2018-08-24 2020-05-20 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、制御方法、及びプログラム
US11107181B2 (en) * 2018-11-15 2021-08-31 Arizona Board Of Regents On Behalf Of Arizona State University Fidelity-driven runtime thermal management for near-sensor architectures
US11893962B2 (en) 2020-02-18 2024-02-06 Hewlett-Packard Development Company, L.P. Graphics processor switching based on coupled display devices
US11763414B2 (en) * 2020-09-23 2023-09-19 Ati Technologies Ulc Glitchless GPU switching at a multiplexer
CN112416441A (zh) * 2020-11-03 2021-02-26 西安领创电子科技有限公司 基于物联网的设备管理方法及装置、系统
WO2023277869A1 (en) * 2021-06-29 2023-01-05 Hewlett-Packard Development Company, L.P. Activation of integrated graphical processing units
CN113777476B (zh) * 2021-08-30 2024-02-23 苏州浪潮智能科技有限公司 一种gpu故障诊断系统、诊断方法、设备及可读存储介质

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862156A (en) 1984-05-21 1989-08-29 Atari Corporation Video computer system including multiple graphics controllers and associated method
EP0482678B1 (en) 1984-07-23 1998-01-14 Texas Instruments Incorporated Video system
US5155595A (en) 1991-01-31 1992-10-13 Lsi Logic Corp. Genlock frequency generator
JPH066708A (ja) 1992-06-23 1994-01-14 Mitsubishi Electric Corp 画面表示装置
EP0734011A3 (en) 1995-03-21 1999-01-20 Sun Microsystems, Inc. Field synchronization of independent frame buffers
US5969728A (en) 1997-07-14 1999-10-19 Cirrus Logic, Inc. System and method of synchronizing multiple buffers for display
US5943064A (en) 1997-11-15 1999-08-24 Trident Microsystems, Inc. Apparatus for processing multiple types of graphics data for display
JP3464924B2 (ja) 1998-03-13 2003-11-10 株式会社東芝 同期制御回路
US6424320B1 (en) 1999-06-15 2002-07-23 Ati International Srl Method and apparatus for rendering video
US6624816B1 (en) 1999-09-10 2003-09-23 Intel Corporation Method and apparatus for scalable image processing
US6778187B1 (en) 1999-12-27 2004-08-17 Oak Technology, Inc. Methods and devices to process graphics and/or video data
US6535208B1 (en) 2000-09-05 2003-03-18 Ati International Srl Method and apparatus for locking a plurality of display synchronization signals
EP1189198A1 (en) 2000-09-18 2002-03-20 Siemens Aktiengesellschaft A method and system for operating a unified memory and graphics controller combination
US6903732B2 (en) 2001-01-15 2005-06-07 Matsushita Electric Industrial Co., Ltd. Image display device
AU2002338475A1 (en) 2001-04-23 2002-11-05 Quantum 3D, Inc. System and method for synchronization of video display outputs from multiple pc graphics subsystems
US6943844B2 (en) 2001-06-13 2005-09-13 Intel Corporation Adjusting pixel clock
US6919899B2 (en) 2002-10-19 2005-07-19 Via Technologies, Inc. Continuous graphics display for single display device during the processor non-responding period
JP3726905B2 (ja) 2003-01-31 2005-12-14 セイコーエプソン株式会社 表示ドライバ及び電気光学装置
US7483031B2 (en) 2003-04-17 2009-01-27 Nvidia Corporation Method for synchronizing graphics processing units
EP1629853A1 (en) 2003-06-04 2006-03-01 SHIONOGI & CO., LTD. Method for preparing powder exhibiting low susceptibility to electrification
US7119808B2 (en) * 2003-07-15 2006-10-10 Alienware Labs Corp. Multiple parallel processor computer graphics system
TW591375B (en) 2003-08-08 2004-06-11 Via Tech Inc Video display system and its power-saving method
US7839419B2 (en) 2003-10-23 2010-11-23 Microsoft Corporation Compositing desktop window manager
US7499044B2 (en) 2003-10-30 2009-03-03 Silicon Graphics, Inc. System for synchronizing display of images in a multi-display computer system
US6985152B2 (en) 2004-04-23 2006-01-10 Nvidia Corporation Point-to-point bus bridging without a bridge controller
JP2005316176A (ja) 2004-04-28 2005-11-10 Toshiba Corp 電子機器及び表示制御方法
US20070094444A1 (en) 2004-06-10 2007-04-26 Sehat Sutardja System with high power and low power processors and thread transfer
US8446417B2 (en) 2004-06-25 2013-05-21 Nvidia Corporation Discrete graphics system unit for housing a GPU
US7506240B2 (en) 2004-07-02 2009-03-17 Filmlight Limited Method and apparatus for image processing
TWM261751U (en) 2004-07-09 2005-04-11 Uniwill Comp Corp Switching display processing architecture for information device
US7576745B1 (en) 2004-11-17 2009-08-18 Nvidia Corporation Connecting graphics adapters
US7502947B2 (en) * 2004-12-03 2009-03-10 Hewlett-Packard Development Company, L.P. System and method of controlling a graphics controller
US7522167B1 (en) * 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
US8274518B2 (en) 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
US7730336B2 (en) 2006-05-30 2010-06-01 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US8681160B2 (en) 2005-05-27 2014-03-25 Ati Technologies, Inc. Synchronizing multiple cards in multiple video processing unit (VPU) systems
CN100549870C (zh) 2005-06-28 2009-10-14 佳能株式会社 应用程序管理系统、应用程序管理方法、程序及存储介质
JP4847168B2 (ja) 2005-06-28 2011-12-28 キヤノン株式会社 アプリケーション管理システム、アプリケーション管理方法およびプログラム
US7545381B2 (en) 2005-11-10 2009-06-09 Via Technologies, Inc. Interruptible GPU and method for context saving and restoring
US7340557B2 (en) 2005-12-15 2008-03-04 Via Technologies, Inc. Switching method and system for multiple GPU support
JP5076317B2 (ja) 2005-12-27 2012-11-21 ソニー株式会社 情報処理装置、情報処理方法及びそのプログラム
JP4625781B2 (ja) * 2006-03-22 2011-02-02 株式会社東芝 再生装置
US7882380B2 (en) * 2006-04-20 2011-02-01 Nvidia Corporation Work based clock management for display sub-system
US7499043B2 (en) 2006-05-30 2009-03-03 Intel Corporation Switching of display refresh rates
US8555099B2 (en) * 2006-05-30 2013-10-08 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
JP4952119B2 (ja) * 2006-08-02 2012-06-13 日本電気株式会社 ファイルサーバを用いたコンテンツ管理システムと方法およびプログラム
US20080030510A1 (en) 2006-08-02 2008-02-07 Xgi Technology Inc. Multi-GPU rendering system
US7698579B2 (en) * 2006-08-03 2010-04-13 Apple Inc. Multiplexed graphics architecture for graphics power management
US8681159B2 (en) * 2006-08-04 2014-03-25 Apple Inc. Method and apparatus for switching between graphics sources
US7830389B2 (en) 2006-10-03 2010-11-09 Honeywell International Inc. Dual processor accelerated graphics rendering
US8199155B2 (en) * 2006-11-22 2012-06-12 Nvidia Corporation System, method, and computer program product for saving power in a multi-graphics processor environment
KR100829111B1 (ko) 2006-11-27 2008-05-16 삼성전자주식회사 휴대단말기 및 그 제어방법
KR101467558B1 (ko) 2007-07-26 2014-12-01 엘지전자 주식회사 그래픽데이터 처리 장치 및 방법
US20090079746A1 (en) 2007-09-20 2009-03-26 Apple Inc. Switching between graphics sources to facilitate power management and/or security
US8233000B1 (en) 2007-11-08 2012-07-31 Nvidia Corporation System and method for switching between graphical processing units
JP5427187B2 (ja) * 2007-12-13 2014-02-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 複数のグラフィックサブシステムおよび低電力消費モードを有するコンピューティングデバイス用ドライバアーキテクチャ、ソフトウェアおよび方法
US8022956B2 (en) 2007-12-13 2011-09-20 Ati Technologies Ulc Settings control in devices comprising at least two graphics processors
US8330762B2 (en) 2007-12-19 2012-12-11 Advanced Micro Devices, Inc. Efficient video decoding migration for multiple graphics processor systems
JP2009288430A (ja) * 2008-05-28 2009-12-10 Toshiba Corp 情報処理装置
US8300056B2 (en) 2008-10-13 2012-10-30 Apple Inc. Seamless display migration
US8368702B2 (en) 2010-01-06 2013-02-05 Apple Inc. Policy-based switching between graphics-processing units
US8797334B2 (en) 2010-01-06 2014-08-05 Apple Inc. Facilitating efficient switching between graphics-processing units
US20110216078A1 (en) 2010-03-04 2011-09-08 Paul Blinzer Method, System, and Apparatus for Processing Video and/or Graphics Data Using Multiple Processors Without Losing State Information

Also Published As

Publication number Publication date
US8368702B2 (en) 2013-02-05
US20130088500A1 (en) 2013-04-11
EP2521971B1 (en) 2018-09-12
KR101606428B1 (ko) 2016-03-28
TWI452514B (zh) 2014-09-11
TW201142702A (en) 2011-12-01
JP2013516697A (ja) 2013-05-13
US8564599B2 (en) 2013-10-22
US20110164046A1 (en) 2011-07-07
CN102763081A (zh) 2012-10-31
KR20120120281A (ko) 2012-11-01
CN102763081B (zh) 2016-06-01
WO2011084831A1 (en) 2011-07-14
EP2521971A1 (en) 2012-11-14

Similar Documents

Publication Publication Date Title
JP5784633B2 (ja) グラフィック処理装置の間のポリシーベースの切り換え
US8692833B2 (en) Low-power GPU states for reducing power consumption
JP5684285B2 (ja) グラフィック処理ユニットの間の効率的な切り換えを容易にする方法及びシステム
JP6526920B2 (ja) 処理ユニットのためのフレームベースのクロックレート調整
RU2451989C2 (ru) Поддержка нескольких операционных систем в мультимедийных устройствах
US10118095B2 (en) Implementing a remote gaming server on a desktop computer
US20100211769A1 (en) Concurrent Execution of a Smartphone Operating System and a Desktop Operating System
US9626313B2 (en) Trace buffer based replay for context switching
US20120092351A1 (en) Facilitating atomic switching of graphics-processing units
US9208755B2 (en) Low power application execution on a data processing device having low graphics engine utilization
TWI502334B (zh) 在資料處理裝置之處理器的低活動期間來自與其相關聯之記憶體的靜態圖框顯示
WO2019001320A1 (zh) 追踪方法、装置、设备和机器可读介质
WO2021056364A1 (en) Methods and apparatus to facilitate frame per second rate switching via touch event signals
JP2016537751A (ja) コンピューティングデバイスにおける消費電力の低減
TWI772438B (zh) 用於計算設備中的動態緩衝器大小設定的系統和方法
US20190385567A1 (en) Display processing blinking operation
TW202223831A (zh) 用於基於區域不連續性的運動估計的方法和裝置
BR112018015857B1 (pt) Ajuste da taxa de clock baseado em quadro para unidade de processamento

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131007

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140106

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140114

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140205

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140307

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140730

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140916

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20141205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150722

R150 Certificate of patent or registration of utility model

Ref document number: 5784633

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250