ATI's Multi-GPU Solution: CrossFire
by Anand Lal Shimpi & Derek Wilson on May 30, 2005 9:00 PM EST- Posted in
- GPUs
Rendering Modes
The task of getting two separate video cards to handle drawing frames efficiently for a single application transparent to the programmer and end user is quite an undertaking. When life was fillrate limited, 3dfx solved the problem by having each card render odd and even scanlines, which were then combined in analog. This solution is no longer viable, but ATI and NVIDIA have both come up with ways to accomplish the goal.The absolute most desirable mode of operation that both companies have come up with is alternate frame rendering (AFR). As the name implies, each card renders an entire, separate frame. The major advantage to allowing each card to render an entire frame is that each card is able to handle the geometry processing required as well as the pixel processing.
Alternate frame rendering can't always be used for various reasons (such as the case when one frame depends on the previous result). When alternate frame rendering cannot be used, splitting the current frame vertically is an alternative that both ATI and NVIDIA have implemented. When the work for a single frame is split between two cards, the geometry pipeline can't be divided as easily as the pixel pipeline. As a scene is being rendered, it is not easy to assign objects to different cards as all objects in a scene can affect any of the pixels.
After geometry is sorted, a guess can be made as to how much pixel power will be required for different areas of the screen, and NVIDIA takes advantage of this to distribute the workload more evenly across the two cards. If the top half of the screen isn't as difficult to render, more than half the screen is given to the card assigned to the top. This method definitely helps to keep cards rendering split frames evenly loaded. ATI is capable of splitting the rendering work 60/40 or 70/30 under their scissor mode, but the split is determined per application.
Evenly dividing work is a very important task, and ATI has taken it a step further with CrossFire. They are introducing a rendering mode, which they call Supertiling. This mode splits the entire screen up into 32x32 pixel tiles and hands out a checkerboard pattern to each graphics card for pixel processing. Doing this effectively takes the guess work out of load balancing pixel processing between two cards. The workload averages itself out when the cards share the pixels in areas so near each other.
The caveat of Supertiling is compatibility. It has come to our attention that the "small number of applications" for which Supertiling does not work includes all OpenGL based titles. This means that OpenGL has either AFR or split frame rendering options available. AFR is the most desirable mode, but it would be nice to have a middle ground with more effective load balancing.
In addition to these multi card render modes, ATI has gone a step further to include enhanced AA modes. This is made possible by taking advantage of programmable sample points and their hardware compositing engine.
57 Comments
View All Comments
bob661 - Monday, May 30, 2005 - link
#5Try it and let us know.
ksherman - Monday, May 30, 2005 - link
so... does this man I can use the CrossFire tech on my DFI nF4 Ultra-D? since the limiting factor in making it SLi worthy was the SLi bridge, ATI's doesnt need one... and is it fully compatible with nForce4?Zebo - Monday, May 30, 2005 - link
Like a dongle is a big deal with the 95 cables already hangin out the back of my case...Slappy00 - Monday, May 30, 2005 - link
What ever happened to the Wicked Stepsister?looks good but with next gen consoles around the corner I think im gonna put my money towards a AMD 64X2 and a PS3/XBOX 360 rather than shelling out a grand for some extra frames.
AnnihilatorX - Monday, May 30, 2005 - link
"First" Second Postmattsaccount - Monday, May 30, 2005 - link
Bout time ATI gave us something.error4656 - Saturday, December 5, 2020 - link
this shit is old