Original URL: https://www.theregister.com/2010/02/09/inside_nvidia_optimus/

Nvidia launches dual-GPU tech for notebooks

Hybrid graphics done properly

By Tony Smith

Posted in Channel, 9th February 2010 14:02 GMT

Nvidia reckons it has finally cracked the problem of smoothly swapping between graphics chips in notebooks that have more than one GPU. Today, it launched its solution, which it has branded Optimus.

Now, we're not talking two or more GPUs configured in SLI mode for greater graphics performance. Optimus addresses the use of a discrete graphics chip that operates when you're running software that needs one, and a separate, integrate graphics core that handles all the other tasks, and does so with a much lower impact on battery life.

Nvidia Optimus

This isn't a new notion. To date, there have been plenty of laptops with two GPUs. Originally, they required a physical reboot two switch between them, to allow Windows to load the appropriate driver. That also meant saving work and shutting down applications then reloading them after the restart.

Later, vendors worked out how to flip between the two at the flip of a physical switch. That too required a driver switch, causing the screen to flash and momentarily display garbled pixels while one GPU quit and the other kicked in, but without the need for a full restart.

If the brief blast of screen junk wasn't bad enough, the switching process had to be triggered by the user. You had to decide whether the app you planned to launch would benefit from a full GPU or not, and make the switch accordingly. And then back again when you were done, to ensure your battery wasn't being depleted as quickly.

Few folk, we suspect, bothered to do so, and Nvidia claims its own research shows that just one per cent of dual-GPU laptop owners ever switch between graphics chips.

Nvidia Optimus

Mux spreader: the old, sub-optimal approach to hybrid graphics

Nvidia's key promise is that Optimus will do all automatically and behind scenes so that the user doesn't even need to know it's happened.

"It should work like a hybrid car," says Rene Haas, head of Nvidia's notebook GPU operation. Flipping between GPUs should happen as smoothly and as transparently as a hybrid switches between electric and petrol propulsion systems.

Optimus does this by using monitoring software to see what you're running and, according to a pre-determined policy, switch GPUs on the fly. Checking your email? Stick with the integrated core. Fire up Far Cry, though, in the discrete GPU immediately takes over.

Without any interruption to the display.

Nvidia Optimus

Under Optimus, the IGP always manages the display

Here's how. Past dual-GPU solutions used a mutliplexer chip to relay the feed from each GPU to the display. It was the mux chip's switch from source to source that briefly stopped the flow of data from the display engine to the screen.

Optimus pulls the mux chip right out of the picture. Instead, it uses the integrated GPU as the sole source of screen data, and since the IGP is never turned off, there's no break in the what you see on the screen.

Rather than drive the display directly, Optimus uses the discrete GPU - it has to be an Nvidia part, of course - to tap into the IGP's frame buffer and render the off-screen image on the IGP's behalf. The rendered image travels from GPU to IGP's main memory-based frame buffer over the laptop's PCI Express bus.

It's a trick made possibly by Windows 7, which allows a GPU driver to route rendering jobs to other processors when it knows they're available. It runs both drivers simultaneously, even though one may not be doing any work.

The reliance on Windows 7 tech means there's no reason why Nvidia's rivals, like AMD's ATI division, can't create an Optimus of their own. Nvidia is patenting the software techniques it uses to decide which app runs on which GPU, and says it owns the technology used to blit the rendered frame out across the PCIe bus to the IGP frame buffer.

Nvidia Optimus

The discrete GPU is only powered up when it's needed

Haas says that the process of engaging the discrete GPU takes "just a few" CPU clock cyles. Certainly, when he demo'd the technology to Reg Hardware the jump from IGP to GPU was entirely smooth.

Running a given app can trigger the change, Nvidia said, or it can be done on a moment by moment basis. Photoshop, for example, can trigger the use of the GPU if a filter requires it. Again, it's Windows 7's graphics foundation code, rather than Nvidia technology, that makes this possible. So users won't need Optimus-specific versions of their favourite apps.

Nvidia Optimus

GPU-rendered imagery is fed into the IGP's frame buffer via the PCIe bus

There's another benefit too: better battery life. Past dual-GPU solutions never entirely disabled the discrete GPU when it wasn't being used. Nvidia has made much of its mobile chips' power conservation abilities, but it's had to admit these really only help when the GPU is operating. If the chip is idle, it's still consuming a fair bit of power.

But not in the Optimus scheme of things. When that extra rendering ability isn't required, Nvidia powers the GPU right down to zero so there's not even any leakage current. Powering up again takes a small but finite time, but not enough to interrupt the experience.

The result, though, is a battery life extension. For ordinary tasks, that amounts to a gain of two hours, Nvidia claims. Clearly, running any app that thrashes the GPU is going to mean that an Optimus system's GPU will engages frequently, so there's going to be no overall benefit then - and you'll be likely running on mains, in any case. But if the GPU is required only occasionally, simply the ability to switch it off will generate a big power saving.

Of course, if you never run the kind of software that prefers a GPU to an IGP, then there's no benefit either, though Optimus does mean you can happily rely on your IGP safe in the knowledge that the GPU is not only there should you need to call upon it, but that it's not eating into your battery life in the meantime.

Nvidia Optimus

Optimus vs solo IGP, according to Nvidia

A word of caution, though: Nvidia is charging laptop makers more for its Optimus-enabled chippery and software than it does for regular GPUs. It argues that since vendors now no longer need to fit a mux chip, and so they can use the same motherboard for IGP only laptops as IGP+GPU kit, Optimus shouldn't cost the consumer an old-style dual-GPU machine.

Maybe not, but anyone who's stuck with IGP-only equipment thus far will find themselves paying extra, if only for that second GPU.

Nvidia Optimus

Supported platforms: what Optimus will run on

Right now, Nvidia's focus is on Intel-made IGPs, specifically those in the 'Arrandale' Core i3, i5 and i7 processors; the 'Pine Trail' Atom N4xx netbook CPUs; and the integrated chipsets connected to old 'Penryn' Core 2 Duo chips.

On Nvidia's side, Optimus will be a part of special versions of the GeForce 200M and 300M series, along with the upcoming GeForce M parts and second-gen Ion platform.

Indeed, expect Nvidia to make a big play out of bringing better graphics to netbooks without losing the power-preservation benefits of the IGP.

But, says Haas, Optimus will be coming to all notebook categories this year. While only Asus is launching Optimus machines right away, Haas claims more than 50 Optimus-equipped notebooks will be shipping by the summer.

Nvidia Optimus

Keeping Optimus' profiles up to date

Optimus' GPU management utility will be kept up to date with new software releases through a push mechanism that pushed out the IGP/GPU requirements of new programs over the internet to each connected Optimus machine.

Reg Hardware will be reviewing Optimus shortly. ®