Moving Machine Code Around

Lastly, there is another elephant in the room. It takes in API calls, but what does it send out to the GPUs? It can't send the hardware itself API calls, cause it doesn't know what to do with these. It must send machine code generated by the graphics driver. So all the difficult analysis of API calls and grouping of tasks and load balancing has to happen in software in the driver.

We really don't have any idea how this would work in the real world, but it seems like they'd have to send batches of either tagged or timed API calls to the driver and tell their chip which GPU is going to get the set. The silicon would then send the newly generated machine code down the pipe to the appropriate driver until it was told otherwise or something. And of course, the chip would also request and composite the pixel data and send it back to the display device.

But that would have to have a CPU load right? We really want and need more details before we can truly understand what is happening in this software and hardware combination. It is absolutely certain though, that the only practical way to do this is for the hardware itself to be switching machine code rather than API calls. And since the hardware also has almost no memory, it can't be doing analysis either.

The progression has to be: game -> Hydra software -> graphics card driver -> Hydra 100 hardware -> multiple graphics cards. Managing this seems like it would be a bit cumbersome, and it seems like they'd have to either set register on the hardware to tell it which direction to send the next set of commands or they would have to embed something in the commands being sent to the GPUs that would help the hardware figure out where to send the data. Or maybe it can trick the graphics driver into thinking the destination of the one graphics card it is rendering to changes multiple times in a frame. We don't know, but we really want to.

We do also get the added benefit that it offers a dedicated set of two x16 PCIe lanes to graphics hardware. This means that it can be very efficient in handling the data movement between the two and it can do full up and downstream communication with both at the same time. Since it doesn't have a memory, to composite the frame, it needs to do two reads and then a write while its doing the next two reads. It's gotta keep things moving. Which it can do very quickly and efficiently with all the PCIe lanes available to it and both graphics cards.

Also note that this really does dedicate all the graphics resources available (memory, geometry, pixel, etc.) to the processing of the scene. Each card even sees full PCIe x16 bandwidth (when the Hydra 100 is talking to it anyway), and the switching back and forth can actually act as another way to hide latency (one card continues to process data while the other is receiving and then back again).

What Does This Thing Actually Do? Barriers to Entry and Final Words
Comments Locked

57 Comments

View All Comments

  • GTVic - Friday, August 22, 2008 - link

    This company is not making graphics cards, and to use their product you have to buy more graphics cards. Seems like a win-win situation. AMD and nVidia can dump development on crossfire/sli and sales go up.
  • DerekWilson - Saturday, August 23, 2008 - link

    if nvidia dumps sli then there is zero reason for them to be in the chipset business right now.

    they are no longer needed for AMD because AMD isn't making horrid chipsets anymore. they aren't needed for Intel because Intel builds awesome motherboards.

    the only value add nvidia has on the platform side is sli. period.

    they do not want to see it become irrelevant.
  • shin0bi272 - Friday, August 22, 2008 - link

    This is a gamers dream (assuming it works as advertised) and a video card makers nightmare.

    If they really wanted to demo it they probably should have been running 2 systems side by side, one with 1 card and one with the hydra running 2 cards to show the actual difference. Maybe also not run crysis since crysis has issues with framerate on any system... maybe run 3dmark vantage (I know its not an actual game but its a standardized program) especially if its transparent to the game and hardware.

    Personally if AMD and Nvidia have a problem with this technology and they disable it (or force me to so I can play any game) there's still Intel's Larabee on the horizon and I'm sure Intel wouldnt disable the hydra so Id just dump AMD and Nvidia all together to get linear performance increases (again assuming it works).

    On top of that AMD and Nvidia have their own performance issues and competition to worry about especially now that the physx war has begun (AMD hooking up with havoc and Nvidia buying Ageia).

    I think both AMD and Nvidia should embrace this technology and abandon their approaches so that they can concentrate more on individual card performance. Since the performance gains with both SLi and crossfire arent linear and this promises to be. Even if its not 100% linear but its a 90% speed gain thats still better than either of the other solutions.

    The game designers would also love this technology because they wouldnt have to worry about enabling SLi or crossfire in their games they could concentrate on the actual game play and making the game fun and cool looking.
  • shin0bi272 - Friday, August 22, 2008 - link

    Oh also I forgot to mention that the article did say that you would have to have 2 of the same brand of card so youd still be locked into one manufacturer. So its not like youd be mixing an nvidia 280 with an amd 4870x2. So amd and nvidia really shouldnt have a huge problem with it.
  • Diesel Donkey - Friday, August 22, 2008 - link

    That is false. The article states that any combination of two, three, or four cards from either AMD or Nvidia can be used. That's one reason this technology would be so amazing if it actually works and is implemented successfully.
  • The Preacher - Saturday, August 23, 2008 - link

    I don't think you would like some portions of the same screen rendered by nvidia and others by ATI since they will look different and could create some discontinuities in the final image.
  • DerekWilson - Saturday, August 23, 2008 - link

    they try really hard to render nearly the same image ... but if you played half-life 2 then this would be an issue.

    also, to enable this they would have to wait for vista to allow it (i think) ... thing is they are building a wddm driver ... so ... nvidia's display driver wouldn't be "running" either? I don't really know how that works.
  • jordanclock - Friday, August 22, 2008 - link

    No, he is right. You can't have an nVidia card with an AMD card. As it stands, Windows won't allow two graphics drivers to run in 3D mode. This was addressed in the first article featuring this technology.
  • prophet001 - Friday, August 22, 2008 - link

    how amazing would this be. nice article with what you were given.
  • MrHanson - Friday, August 22, 2008 - link

    I thing having a separete box with it's own power supply(s) is ideal for something like this. That way if you want to add 2 or more gpu's to your hydra system, you don't have to rip apart your computer and put in a different motherboard and power supply. I imagine this system will probably come with it's own mainboard and power supply with several separate pcie x16 slots for scalablity. Also if you were to upgrade your motherboard and cpu, you don't have to worry about getting a motherboard with enough pcie x16 slots or if the motherboard supports the hydra engine. Any ol' motherboard with one pci express slot will do.


Log in

Don't have an account? Sign up now