GPU switching
GPU switching is a mechanism used on computers with multiple graphic controllers. This mechanism allows the user to either maximize the graphic performance or prolong battery life by switching between the graphic cards. It is mostly used on gaming laptops which usually have an integrated graphic device and a discrete video card.
Basic components
Most computers using this feature contain integrated graphics processors and dedicated graphics cards that applies to the following categories.
Integrated graphics
Also known as: Integrated graphics, shared graphics solutions, integrated graphics processors (IGP) or unified memory architecture (UMA). This kind of graphics processors usually have much fewer processing units and share the same memory with the CPU.
Sometimes the graphics processors are integrated onto a motherboard. It is commonly known as: on-board graphics. A motherboard with on-board graphics processors doesn't require a discrete graphics card or a CPU with graphics processors to operate.
Dedicated graphics cards
Also known as: discrete graphics cards. Unlike integrated graphics, dedicated graphics cards have much more processing units and have its own RAM with much higher memory bandwidth.
In some cases, a dedicated graphics chip can be integrated onto the motherboards, B150-GP104 for example. Regardless of the fact that the graphics chip is integrated, it is still counted as a dedicated graphics cards system because the graphics chip is integrated with its own memory.
Theory
Most Personal Computers have a motherboard that uses a Southbridge and Northbridge structure.
Northbridge control
The Northbridge is one of the core logic chipset that handles communications between the CPU, GPU, RAM and the Southbridge. The discrete graphics card is usually installed onto the graphics card slot such as PCI-Express and the integrated graphics is integrated onto the CPU itself or occasionally onto the Northbridge. The Northbridge is the most responsible for switching between GPUs. The way how it works usually has the following process (refer to the Figure 1. on the right):[1][2]
- The Northbridge receives input from Southbridge through the internal bus.
- The Northbridge signals to CPU through the Front-side bus.
- The CPU runs the task assignment application (usually the graphics card driver) to determine which GPU core to use.
- The CPU passes down the command to the Northbridge.
- The Northbridge passes down the command to the according GPU core.
- The GPU core processes the command and returns the rendered data back to the Northbridge.
- The Northbridge sends the rendered data back to Southbridge.
Southbridge control
The Southbridge is a set of integrated circuits such Intel's I/O Controller Hub (ICH). It handles all of a computer's I/O functions, such as receiving the keyboard input and outputting the data onto the screen. The way how it usually works usually has two steps:[3]
- Take in the user input and pass it down to the Northbridge.
- (Optional) Receive the rendered data from the Northbridge and output it.
The reason why the second step can be optional is that sometimes the rendered the data is outputted directly from the discrete graphics card which is located on the graphics card slot so there is no need to output the data through the Southbridge.
Main purpose
GPU switching is mostly used for saving energy by switching between graphic cards. The dedicated graphics cards consume much more power than integrated graphics but also provides higher 3D performances, which is needed for a better gaming and CAD experience. Following is a list of the TDPs of the most popular CPU with integrated graphics and dedicated graphics cards.
Model | Platform | ||||||
---|---|---|---|---|---|---|---|
Integrated Graphics | Dedicated Graphics Cards | ||||||
Intel | TDP | Nvidia | TDP | AMD | TDP | ||
CPU Model & Frequency | Intel IGP Serie | ||||||
Intel Core i7-6700K @ 4.00 GHz | Intel HD Graphics 530 | 91W | GTX 1080 | 180W | Radeon R9 Fury | 275W | Desktop |
Intel Core i5-6600K @ 3.50 GHz | Intel HD Graphics 530 | 91W | GTX 970 | 145W | Radeon R9 Nano | 175W | |
Intel Core i7-4790K @ 4.40 GHz | Intel HD Graphics 4600 | 88W | GTX 780Ti | 250W | Radeon RX 480 | 150W | |
Intel Core i7-6700HQ @ 2.60 GHz | Intel HD Graphics 530 | 45W | GTX 1080 | 165W | Radeon R9 M485X | 125W | Laptop |
Intel Core i7-6500U @ 2.50 GHz | Intel HD Graphics 520 | 15W | GTX 980M | 100W | Radeon R9 M470X | 75W | |
Intel Core i5-6200U @ 2.30 GHz | Intel HD Graphics 520 | 15W | GTX 880M | 103W | Radeon R9 M470 | 75W | |
Intel Core i5-5200U @ 2.20 GHz | Intel HD Graphics 5500 | 15W | GTX 870M | 103W | Radeon HD 7950M | 50W |
The dedicated graphics cards exhibit much higher power consumption than the integrated graphics on both platforms. Disabling them when no heavy graphics processing is needed can significantly lower the power consumption.
Technologies
Nvidia Optimus
Nvidia Optimus™ is a computer GPU switching technology created by Nvidia that can dynamically and seamlessly switch between two graphic cards based on running programs.
AMD Enduro
AMD Enduro™ is a collective brand developed by AMD that features many new technologies that can significantly save power. It was previously named as: PowerXpress and Dynamic Switchable Graphics (DSG). This technology implements a sophisticated system to predict the potential usage need for graphics cards and switch between graphics cards based on predicted need. This technology also introduces a new power control plan that allows the discrete graphics cards consume no energy when idling.[8]
Manufacturers
Integrated graphics
In personal computers, the IGP (integrated graphics processors) are mostly manufactured by Intel and AMD and are integrated onto their CPUs. They are commonly known as:[9][10]
- Intel HD and Iris Graphics - also called HD series and Iris series
- AMD Accelerated Processing Unit (APU) - also formerly known as: fusion
Drivers & OS support
Most common operating systems have built-in support for this feature. However, the users may download the updated drivers from Nvidia or AMD for better experience.
Windows support
Windows 7 has built-in support for this feature. The system automatically switches between GPUs depending on the program that's running. However, the user may switch the GPUs manually through device manager or power manager.[11]
Linux support
In the Linux systems, a patch named vga_switcheroo
[13] has been added to the Linux kernel since version 2.6.34 in order to deal with multiple GPUs. Here, the switch requires a restart of the X Window System to be taken into account.
Ubuntu Control Center allows the user to access vga_switcheroo
functionality through a GUI.
Mac OS support
Mac OS has built-in support for this feature since v10.5 Leopard. Since OS X Mountain Lion, Apple has integrated the GPU monitor into the Activity Monitor.[14]
Existing troubles
- System incompatibility or unstable power supply may cause Blue Screen of Death or other bugs
- Unable to switch if the system wrongly estimated the required computing resource
- Switching may cause unstable voltage which can lead to flashy screen
- Inconsistent drivers across vendors for smooth switching
References
- "What is northbridge?". Retrieved 2016-11-06.
- "How Motherboards Work". HowStuffWorks. 2005-07-20. Retrieved 2016-11-06.
- "What is southbridge?". Retrieved 2016-11-06.
- "ARK | Your Source for Intel® Product Specifications". Intel® ARK (Product Specs). Retrieved 2016-10-24.
- "What's New | GeForce". www.geforce.com. Retrieved 2016-10-24.
- "Notebook / Laptop Reviews and News". www.notebookcheck.net. Retrieved 2016-10-24.
- "Graphics, Processors and Immersive VR Solutions | AMD". www.amd.com. Retrieved 2016-10-24.
- "Enduro™ Power Management Technologies | AMD". www.amd.com. Retrieved 2016-11-06.
- "The History Of Intel CPUs". Tom's Hardware. 2016-06-11. Retrieved 2016-10-24.
- "The History Of AMD CPUs". Tom's Hardware. 2016-04-25. Retrieved 2016-10-24.
- "Manually activating power management in Windows 7". www.energystar.gov. Retrieved 2016-10-24.
- "VGA Switcheroo — the Linux Kernel documentation".
- "HybridGraphics - Community Help Wiki". help.ubuntu.com. Retrieved 2016-10-24.
- "MacBook Pro: How to determine which graphics processor is in use". Apple Support. Retrieved 2016-10-24.