Graphics Execution Manager

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The Graphics Execution Manager (GEM) is a computer software system developed by Intel to do memory management for device drivers for graphics chipsets.

GEM manages graphics memory (which means dealing with Non-Uniform Memory Access (NUMA) on modern graphics chipsets) and control the execution context for graphics-related code. They allow multiple applications to share graphics device resources without the need to store and restore the entire graphics card state between changes. GEM ensures conflict-free sharing of data between applications by managing the memory synchronization. It uses many existing kernel subsystems for its operations and hence has a very modest code size.

GEM is included in the Linux kernel from version 2.6.28 for use by drivers for Intel graphics hardware.[1] Drivers for ATI Radeon and VIA S3 chipsets now use a "GEM-ified TTM manager", which provides the same interface as GEM but uses TTM internally.[2][3] GEM is also designed to be compatible with "*BSD" kernels.

GEM's API is documented in the original announcement of GEM.[4]

Contents

[edit] History

GEM was developed by Intel, starting in May 2008, as a minimalist, easy-to-use alternative to the Translation Table Maps memory manager developed by Tungsten Graphics.[5][1]

However, GEM caused problems for non-Intel developers and collided with current X.Org Server development (notably DRI2 and new EXA acceleration architecture), leading some developers to use a "GEM-ified TTM manager".[2]

[edit] See also

[edit] References

  1. ^ a b Michael Larabel (June 12, 2008). "Intel's GEM Merging To Master". Phoronix. http://www.phoronix.com/scan.php?page=news_item&px=NjUyMQ. 
  2. ^ a b Michael Larabel (August 26, 2008). "A GEM-ified TTM Manager For Radeon". Phoronix. http://www.phoronix.com/scan.php?page=news_item&px=NjY3Ng. 
  3. ^ Michael Larabel (June 10, 2009). "TTM Memory Manager Gets Ready For Release". Phoronix. http://www.phoronix.com/scan.php?page=news_item&px=NzMxOA. 
  4. ^ Keith Packard (May 27, 2008). "GEM - the Graphics Execution Manager". LWN.net. http://lwn.net/Articles/283798/. 
  5. ^ Michael Larabel (May 14, 2008). "Intel's Graphics Execution Manager". Phoronix. http://www.phoronix.com/scan.php?page=news_item&px=NjQ3Ng. 

[edit] External links

Personal tools
Namespaces

Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages