Graphics Execution Manager

Graphics Execution ManagerGEM)は、グラフィックスチップセット用のデバイスドライバメモリ管理を行うためにインテルが開発したコンピュータソフトウェアシステム。

GEMは、グラフィックスメモリ(現代のグラフィックスチップセット上の非均一メモリアクセス(NUMA)を扱うことを意味する)を管理し、グラフィックス関連のコードの実行コンテキストを制御する。複数のアプリケーションが切り替えの間で全体のグラフィックスカードの状態を保存および復元することなく、グラフィックスデバイスのリソースを共有することができる。 GEMは、メモリの同期を管理することでアプリケーション間のデータの矛盾のない共有を保証する。その操作に多くの既存のカーネルサブシステムを使用するので、コードサイズは非常に控えめである。

GEMは、バージョン 2.6.28 のLinuxカーネルから含まれていて、Intelのグラフィックスハードウェア用のドライバで使用されている[1]。ATI RadeonおよびVIA S3のチップセット用ドライバは、現在、GEMと同じインタフェースを提供する"GEM化されたTTMマネージャ"を使用しているが、内部的にTTMを使用している[2][3]。GEMはまた"*BSD"カーネルと互換性を持つように設計されている。

GEMのAPIは、GEMのオリジナルの発表に記載されている[4]

Intel 915 チップセットで、openarena で 50%、glxgears で 60%高速化した。

歴史

GEMは、Tungsten Graphics によって開発された Translation Table Maps メモリマネージャに代わるミニマリストで使いやすいものとして、インテルによって2008年5月に開発が開始された[5][1]

しかし、GEMは、インテル以外の開発者のための問題を引き起こし、現在のX.Orgサーバの開発(特にDRI2と新しいEXAアクセラレーションアーキテクチャ)と衝突し、一部の開発者は、"GEM化されたTTMマネージャ"を使用することへとつながった[2]

参照

  1. ^ a b Michael Larabel (June 12, 2008). “Intel's GEM Merging To Master”. Phoronix. June 12, 2008閲覧。
  2. ^ a b Michael Larabel (August 26, 2008). “A GEM-ified TTM Manager For Radeon”. Phoronix. August 26, 2008閲覧。
  3. ^ Michael Larabel (June 10, 2009). “TTM Memory Manager Gets Ready For Release”. Phoronix. June 10, 2009閲覧。
  4. ^ Keith Packard (May 27, 2008). “GEM - the Graphics Execution Manager”. LWN.net. May 27, 2008閲覧。
  5. ^ Michael Larabel (May 14, 2008). “Intel's Graphics Execution Manager”. Phoronix. May 14, 2008閲覧。

外部リンク

  • GEM update - Keith Packard, 2008年7月4日
  • TTM - X.org の wiki のエントリ
  • GEM - the Graphics Execution Manager - Keith Packard による詳細な GEM の情報