We have 20 guests online

Login Form



Remember me
Password Reminder

AMD RADEON HD 4890 CrossFire Print E-mail
Written by Michael Schuette   
Jul 16, 2009 at 12:15 PM

Multi-GPU processing has come a long way since the days of the 3dfx Voodoo2 and ATI’s Rage Maxx, with scan line interleaving (SLI) providing the first acronym headed towards immortality in the world of splitting the graphics workload over two separate cards. Even though the term SLI is now used to mean something different, the pioneering work done by 3dfx, ATI and Quantum3D has laid the foundations of most of the graphics processing using massive parallel rendering engines on a single GPU and taking the concept further towards multiple GPUs on single cards or sharing the system barebones to increase 3D graphics power. On a side note, the term GPU needs to be credited to nVidia - before it was coined we were all talking about video graphics arrays (VGA) as it was introduced back in 1987 by IBM. Anybody remember a “Hercules card”?

Multi-GPU processing is not as simple as it may look at the surface. We all know the problems of getting multiple CPUs to work on selected tasks, leading to multithreading and power of two concerns that are still plaguing the desktop world. Take the same complexity a level further and that is essentially what the software and driver developers are facing: many applications that stubbornly refuse to be split into multiple fragments for easier digestion by the hardware / drivers. Arguably, there are a number of different workarounds for that situation, from deferred rendering to super-tiling and split frame rendering (that all require an intricate knowledge of the actual workload in progress) or else the much more simplistic approach of using alternate frame rendering. At least if it really was that simplistic.

Alternate frames have one inherent problem, the entire frame including all overhead for anti aliasing and anisotropic filtering needs to be handled by each of the processing units separately. Of particular interest in this context is the fact that the memory space associated with each GPU is private or exclusive, that is, one GPU cannot access and use the memory space of the other GPU, regardless of whether it is on the same card or whether it is on a physically separate device. None of the current cards at this point support anything that is comparable to non-uniform memory architecture. Given the fact that the majority of data in graphics processing are uncashed, issues like cache coherency would not even come into play, therefore, greatly simplifying the distribution of the memory space. On the other hand NUMA is somewhat slower than direct access of memory when both cores are busy at all times, plus, allowing both cores to access the entire memory space still does not double the total amount of memory and in so far, keeping things private is the simpler solution even on a conceptual level, not to mention the necessary debugging. Of course, this is a rather simplistic view, in reality, there is considerable overlap, particularly with respect to texture memory that could be shared and needs not to be duplicated but at some point, you have to make a decision where you want to go with the design. Given the current price of memory components, that decision is rather simple.

In any event, there are multi-GPU solutions that are on a single card like for example AMD’s X2 series and there are of course the CrossFire solutions, talking to each other through peer-to-peer transactions over the PCIe bus. Bear in mind that even the dual-GPU cards are using a PCIe bridge to communicate between the two graphics cores, so in theory, there should be no difference one way or the other. At least as far as performance goes. With respect to taking up expansion slots and real estate inside the case, the differences naturally prevail but we are not concerned about this issue for the scope of this article. Rather, we wanted to take AMD’s current flagship card, that is, the RADEON HD 4890 and run it in Crossfire against the existing X2 cards. And see what happens.

Last Updated ( Oct 23, 2009 at 05:36 AM )
<Previous Article   Next Article>