ArticleslgStudy

science

Nvidia Optimus

Nvidia Optimus is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Nvidia Optimus rather than just read about it. In short: Nvidia Optimus is a computer GPU switching technology created by Nvidia which, depending on the resource load generated by client software applications, will seamlessly switch between two graphics adapters within a computer system in order to provide either maximum performance or minimum power draw from the system's graphics rendering hardware. A typical platform includes both a lower-performance integrated graphics…

Nvidia Optimus — main illustration
Nvidia Optimus — illustration

Key takeaways

  • Nvidia Optimus belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Nvidia Optimus to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Nvidia Optimus from memory before moving on to harder problems.

Reference excerpt

Nvidia Optimus is a computer GPU switching technology created by Nvidia which, depending on the resource load generated by client software applications, will seamlessly switch between two graphics adapters within a computer system in order to provide either maximum performance or minimum power draw from the system's graphics rendering hardware. A typical platform includes both a lower-performance integrated graphics processor, usually by Intel or AMD, and a high-performance one, usually by Nvidia or AMD. Optimus saves battery life by automatically switching the power of the discrete graphics processing unit (GPU) off when it is not needed and switching it on when needed again. The technology mainly targets mobile PCs such as notebooks. When an application is being launched that is determined to benefit from the performance of the discrete GPU, the discrete GPU is powered up and the application is served by a rendering context via that GPU. Otherwise the application is served by a rendering context that uses the integrated GPU. Switching between the graphics processors is designed to be completely seamless and to happen "behind the scenes". Official supported operating systems by Nvidia are Microsoft Windows and Linux. A project called Bumblebee is an alternative open source implementation of Optimus support for Linux.

Operation

When a user launches an application, the graphics driver tries to determine whether the application would benefit from the discrete GPU. If so, the GPU is powered up from an idle state and is passed all rendering calls. Even in this case, though, the integrated graphics processor (IGP) is used to output the final image. When less demanding applications are used, the IGP takes sole control, allowing for longer battery life and less fan noise. Under Windows the Nvidia driver also provides the option to manually select the GPU in the right-click menu upon launching an executable. Within the hardware interface layer of the Nvidia GPU driver, the Optimus Routing Layer provides intelligent graphics management. The Optimus Routing Layer also includes a kernel-level library for recognizing and managing specific classes and objects associated with different graphics devices. This Nvidia innovation performs state and context management, allocating architectural resources as needed for each driver client (i.e., application). In this context-management scheme, each application is not aware of other applications concurrently using the GPU. By recognizing designated classes, the Optimus Routing Layer can help determine when the GPU can be utilized to improve rendering performance. Specifically, it sends a signal to power-on the GPU when it finds any of the following three call types:

DX Calls: Any 3D game engine or DirectX application will trigger these calls DXVA Calls: Video playback will trigger these calls (DXVA = DirectX Video Acceleration) CUDA Calls: CUDA applications will trigger these calls Predefined profiles also assist in determining whether extra graphics power is needed. These can be managed using the Nvidia control panel. Optimus avoids usage of a hardware multiplexer and prevents glitches associated with changing the display driver from IGP to GPU by transferring the display surface from the GPU frame buffer over the PCI Express bus to the main memory-based framebuffer used by the IGP. The Optimus Copy Engine is a new alternative to traditional DMA transfers between the GPU framebuffer memory and main memory used by the IGP. Using the IGP to output data from the discrete GPU may become a bottleneck at high framerates. On desktop-replacement or gaming laptops (where performance is prioritized over energy efficiency), Optimus technology has been heavily criticized. Some vendors have provided hardware multiplexer solutions to completely shut off the Optimus architecture. The operation may be hosted in the BIOS, and often require a reboot.

Linux support

While historically problematic, the binary Nvidia driver since beta version 435.17 officially supports Optimus render offloading for OpenGL and Vulkan applications under the name "PRIME". The binary Nvidia driver added partial Optimus support May 3, 2013 in the 319.17. As of May 2013, power management for discrete card is not supported, which means it cannot save battery by turning off Nvidia graphic card completely. The open-source project Bumblebee tries to provide support for graphics-chip switching. As in the Windows implementation, by default all applications run through the integrated graphics processor. As of 2013 one can only run a program with improved graphical performance on the discrete GPU by explicitly invoking it as such: for example, by using the command line or through specially configured shortcut icon. Automatic detection and switching between graphics processors is not yet available. Work in progress on a graphical interface - bumblebee-ui - aims to allow more convenient starting of programs for improved graphical performance when necessary. Steam for Linux can be set up to run games using the discrete GPU (Steam Community: Optimus and Steam for Linux). The Bumblebee Project continues to evolve as more necessary software changes are made to the graphics architecture of Linux. To make the most use of it, it is best to use a recent Linux distribution. As of 2013, Bumblebee software repositories are available for Arch Linux, Debian, Fedora, Gentoo, Mandriva, OpenSuSE and Ubuntu. The source package can be used for other distributions. An attempt by Nvidia to support Optimus through DMA-BUF, a Linux kernel-mechanism for sharing buffers across hardware (potentially GPUs), was rebuffed by kernel developers in January 2012 due to license incompatibility between the GPL-licensed kernel-code and the proprietary-licensed Nvidia blob. When no software mechanism exists for switching between graphics adapters, the system cannot use the Nvidia GPU at all, even if an installed graphics driver would support it.

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Nvidia Optimus

Start with the simplest possible case. Write down what Nvidia Optimus claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Nvidia Optimus before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Nvidia Optimus ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Nvidia Optimus

In research
Nvidia Optimus appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Nvidia Optimus in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Nvidia Optimus is common in secondary-school and first-year university syllabi. It links to neighbouring topics Graphics hardware, Nvidia, so understanding it makes those chapters shorter.
In everyday life
Look for Nvidia Optimus outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Nvidia Optimus in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Nvidia Optimus means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Nvidia Optimus out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Nvidia Optimus in simple terms?

Nvidia Optimus is a computer GPU switching technology created by Nvidia which, depending on the resource load generated by client software applications, will seamlessly switch between two graphics adapters within a computer system in order to provide either maximum performance or minimum power draw…

Why does Nvidia Optimus matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Nvidia Optimus?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Nvidia Optimus.

Tags

  • Graphics hardware
  • Nvidia

Keep exploring