图形执行管理器
图形执行管理器(英语:Graphics Execution Manager,简称GEM)是Intel开发的一套计算机软件系统,用于为GPU的驱动程序提供内存管理服务。
历史
GEM由Intel公司于2008年3月开始开发,目标是成为Tungsten Graphics公司所开发的TTM(Translation Table Maps)的轻量且易用的替代品[1][2]。
功能
GEM能管理显存(在现代的显示芯片上尤指处理非统一访存(即NUMA))并控制图形相关的执行上下文。GEM允许多个应用程序在不需完整地存储和恢复显卡当前状态的情况下共享显示设备资源,且以管理内存同步的方式保证了应用程序间数据共享时不发生冲突。GEM利用了许多现有的内核子系统来进行操作,因而代码量也相当小。
应用
从2.6.28版开始,Linux内核就包含了GEM以供Intel显卡驱动使用[2]。GEM也被设计成能与BSD内核兼容,实际应用仍在开发中[3]。GEM也在原始发布声明里包含了GEM的API的相关文档[4]。
但是,GEM也给非Intel开发者造成了困扰,并会与当前的X.Org Server开发相冲突(尤其是与DRI2和新的EXA加速架构),导致一些用户选择使用“GEM化”的TTM(提供了和GEM相同的接口,但内部仍用TTM实现),如ATI Radeon和VIA S3 Graphics显示芯片驱动就在此列[5][6]。
参考
- ^ Michael Larabel. Intel's Graphics Execution Manager. Phoronix. May 14, 2008 [2011-10-20]. (原始内容存档于2011-09-29).
- ^ 2.0 2.1 Michael Larabel. Intel's GEM Merging To Master. Phoronix. June 12, 2008 [2011-10-20]. (原始内容存档于2011-09-29).
- ^ Michael Larabel. GEM/KMS On FreeBSD Is Working, But Not Ready. Phoronix. July 4, 2011 [2011-10-21]. (原始内容存档于2011-10-05).
- ^ Keith Packard. GEM - the Graphics Execution Manager. LWN.net. May 27, 2008 [2011-10-20]. (原始内容存档于2011-10-10).
- ^ Michael Larabel. A GEM-ified TTM Manager For Radeon. Phoronix. August 26, 2008 [2011-10-20]. (原始内容存档于2011-11-06).
- ^ Michael Larabel. TTM Memory Manager Gets Ready For Release. Phoronix. June 10, 2009 [2011-10-20]. (原始内容存档于2011-11-21).
外部链接
- GEM update(页面存档备份,存于互联网档案馆) by Keith Packard, 4 Jul 2008
- TTM entry at X.org's wiki
- GEM - the Graphics Execution Manager(页面存档备份,存于互联网档案馆) - detailed GEM information by Keith Packard