EVERY ONCE IN a while, a company comes out of nowhere with a really good idea, and Lucid Logix's Hydra 100 chip is one of those. It basically allows for seamless multi-GPU load balancing between disparate GPUs.
The Hydra Engine is a little chip that sits on the motherboard taking up only about 5W and requiring no heatsink. It lies on the PCIe bus physically, and logically between the DX or OpenGL software and the PCIe Bus driver. The software intercepts graphics calls and shunts them off to the Hydra 100 for 'magic'.
The Hydra 100 chip
What happens really is magic. You can take up to four GPUs from the same manufacturer and put them together in a system. Got an old 2600 series ATI card on the shelf that you replaced with a 4850 recently? Why not plug it in and add a bit to performance, with the Hydra Engine, it just works.
The way the magic happens is the chip will dynamically read GPU time used, GPU memory used, textures left in GPU memory, pixel shader bandwidth and a host of other things in real time. It also dynamically figures out the capacity of each GPU in the system.
It knows if it needs to draw one million pixels a frame, and GPU1 has 3x the power of GPU2, that 750K pixels go to GPU1 and 250K go to GPU2. It can do the same for geometry and all the other functions on a sub-frame basis. Each frame, it reevaluates the mix, so if the scene changed from geometry heavy to shader heavy, it can deal with it in real time.
Lucid rendering pic
As you can see above in a debug mode demo, half of the frame is rendered on one GPU, the other half on the other. Unlike Crossfire or SLI, you don't get alternate frames, and you don't get split screens, although in some modes Hydra can do split screens. Instead you get per object, or sometimes sub-object breakdowns of the render.
Although it is a little hard to see here, the screen on the left is rendering the floor and some of the windows while the right renders the windows that the left does not, and skips the floor. Basically, it renders things in an uneven way on both GPUs. This changes on a per-frame basis, so if you run around, it turns into a psychotic lightshow as the chip parses things out differently each frame.
After it is all rendered, the raw pixels are sent back across the PCIe bus for recombining on one GPU, and sent to the monitor. This has a really big bandwidth advantage over SLI and Crossfire because it means that a frame is sent out once to the Hydra 100, not once per GPU. That more than makes up for the pixel bandwidth used in recombining.
The initial Hydra 100 supports up to 32 PCIe 2.0 lanes, and you can split it up to 2x16 or 4x8, hence the 4 GPU support. It could possibly do 8 GPUs in 4870x2 configurations, but that will have to wait for future drivers.
If you think this sounds neat, Lucid can do a lot of tricks. Multi-monitor acceleration is the obvious one, but that is obvious. Imagine you are watching a movie on one screen taking up essentially no GPU time, and on the other you have a game going. The Hydra 100 can use the excess GPU power to accelerate the game on one monitor, and give only enough to draw the screen on the second. If you can think it up, the Hydra can probably accomplish it.
What Lucid came up with, if it ends up working as advertised, is the holy grail of multi-GPU acceleration. Pick any four GPUs from a given manufacturer, and throw them at a machine. It simply makes them work together correctly, automagically. If you buy a faster card a year later, no problem, add it in. I can see this being a really nice selling point for laptops and high end systems. It should just work, and comes with a lot of bells and whistles as well.
The Hydra 100 should be out around the end of the year with no price set yet. Lucid won't sell them, they will be on the motherboard, and sold by the various board makers. If you don't game, it will be transparent. When you do, it will be magic.