1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Proof Of Concept: Open-Source Multi-GPU Rendering!

X.Org

Published on 12 March 2010 07:36 AM EST
Written by Michael Larabel in X.Org
26 Comments

Now that David Airlie's vga_switcheroo has went upstream in the Linux 2.6.34 kernel that provides hybrid graphics support and delayed GPU switching, David went on to look for something new to work on in his downtime when not busy with tasks at Red Hat. This new work is on GPU offloading / multi-GPU rendering.

Last month NVIDIA introduced Optimus as a way for dual-GPU notebooks to seamlessly switch between the two GPUs but also to offload the rendering workload to the other graphics processor. This is somewhat similar to NVIDIA's SLI and ATI/AMD's CrossFire for splitting the rendering workload across multiple GPUs, but it has its differences. David ended up developing a proof-of-concept similar to NVIDIA's Optimus that he is calling "Prime" and it works with Intel and ATI GPUs.

David's goals with Prime are to allow a second GPU to render 3D applications onto the screen of the first GPU, with it being configurable by the client, and just to handle the rendering side. This work isn't as simple as his vga_switcheroo implementation, but it required changes to the Linux kernel and the Graphics Execution Manager (GEM), the DRI2 protocol, the X Server and DRI2 modules, and then the actual Linux hardware drivers.

All of this code has already been published as a proof-of-concept, but David shares on his blog that he's unlikely to personally take this work further by upstreaming the code. He has been successful though in using this code to offload the rendering work from an Intel IGP that's driving a display to a discrete ATI graphics processor.

Right now Intel and ATI hardware is supported, but NVIDIA GPUs could be supported too. This work depends upon a system using DRI2 (albeit with these out-of-tree patches) and a compositing manager must be running. David also shares, "To make this as good as Windows we need to seriously re-architect the X server + drivers. At the moment you can't load an X driver without having a screen to attach it to, I don't really want a screen for the slave driver, however I still have to have one all setup and doing nothing and hopefully not getting in the way. We'd need to separate screen + drivers a lot better. Having some sort of dynamic screens would probably fall out of this work if someone decides to actually do it."

It would be wonderful if this work on Prime could be continued and it works its way upstream or that someone takes the reigns from David to continue on with this GPU offloading work for open-source drivers. First though it may make more sense to focus on getting decent performance out of a single GPU before dealing with multi-GPU excitement.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Ubuntu 15.04 Is The Easy Path To Better Performance On Intel Broadwell
  2. NVIDIA's Latest Maxwell Line-Up Against AMD With Catalyst On Linux
  3. Preliminary Tests Of Intel Sandy Bridge & Ivy Bridge vs. Broadwell
  4. AMD FX-8320E Performance On Linux
  5. Linux Compiler Benchmarks Of LLVM Clang 3.5 vs. LLVM Clang 3.6-rc1
  6. Intel Broadwell HD Graphics 5500: Windows 8.1 vs. Linux
Latest Linux News
  1. LLVM Adds Options To Do Fuzz Testing
  2. Coreboot Now Supports Another Dual-Socket AMD Motherboard
  3. Atomic Mode-Setting/Display Support Progresses In Linux 3.20
  4. NVIDIA 340.76 Brings Three Stable Fixes
  5. Intel Broadwell-U P-State vs. ACPI CPUFreq Scaling Linux Performance
  6. DragonFlyBSD Is Almost To Linux 3.10 Era Intel Graphics Support
  7. New Beta Of Witcher 2 Aims For Greater Performance
  8. NVIDIA Tegra DRM Driver Supports Atomic Mode-Setting In Linux 3.20
  9. Linux "GHOST" Vulnerability Hits Glibc Systems
  10. Linux Game Publishing Remains Offline, Three Years After The CEO Shakeup
Most Viewed News This Week
  1. LibreOffice 4.4 Is Coming Soon With New Features
  2. My Initial Intel Broadwell Linux Experience With The ThinkPad X1 Carbon
  3. Broadwell Linux Ultrabook Running MUCH Cooler Than Haswell
  4. LZHAM 1.0 Lossless Data Compression Codec Released
  5. Linux Users Upset By Chromium's Busted HiDPI Support
  6. Interstellar Marines On Linux With Catalyst: Bull S*#@
  7. Faster VP9 Decoding Is On The Horizon
  8. Radeon DRM Changes For The Linux 3.20 Kernel