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 controls 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

History [edit]

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]

See also [edit]

References [edit]

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

External links [edit]