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 (2008年6月12日). “Intel's GEM Merging To Master”. Phoronix. 2008年6月12日閲覧。
  2. ^ a b Michael Larabel (2008年8月26日). “A GEM-ified TTM Manager For Radeon”. Phoronix. 2008年8月26日閲覧。
  3. ^ Michael Larabel (2009年6月10日). “TTM Memory Manager Gets Ready For Release”. Phoronix. 2009年6月10日閲覧。
  4. ^ Keith Packard (2008年5月27日). “GEM - the Graphics Execution Manager”. LWN.net. 2008年5月27日閲覧。
  5. ^ Michael Larabel (2008年5月14日). “Intel's Graphics Execution Manager”. Phoronix. 2008年5月14日閲覧。

外部リンク 編集