CrossFire: How and When It Works
With all the above-mentioned problems, CrossFire was still a very interesting technology, combining a number of original engineering solutions which we described in detail in our preview (for details see our article called ATI Crosses the Swords: Multi-GPU CrossFire Technology Previewed ). In brief, the main advantage of CrossFire over SLI is its theoretical capability to ensure the maximum performance gain in any fame, irrespective of its version and the drivers. This is achieved by means of a special chipset (Compositing Engine) that “seams together” the parts of the image rendered by different graphics processors. The Slave card sends the rendered part of the image via a special Y-shaped cable to the Master where the Compositing Engine combines it with the data from the Master GPU. The result is then sent to the monitor.
A CrossFire system can work in three modes that differ in how the load is distributed between the GPUs. The Scissor mode works in a similar way as the SMR mode NVIDIA implemented in its SLI technology.
The point of this mode is two split the frame in two parts each of which is processed on a separate GPU. For better balance, the size of the parts may vary dynamically. The frame is analyzed and divided by the graphics card’s driver. The downside of this mode is that the geometrical performance of the CrossFire system equals that of the single card because each card of the system processes the geometrical data for the entire frame. The Scissors mode can be used successfully with Direct3D as well as OpenGL applications.
The Alternate Frame Rendering (AFR) mode, originally introduced by ATI in its dual-chip Fury MAXX graphics card, works differently. In this mode the graphics processors process and output alternating frames, one after another.
Each GPU processes the geometrical information for its frame only which makes this mode more promising in terms of performance gains.
The SuperTiling mode is a completely new principle of distributing the load among several GPUs, developed at ATI Technologies. In this mode the image is divided into squares (tiles), 32x32 pixels each, following the checkerboard pattern:
One half of the tiles are processed by the Master card and the other half is the Slave’s responsibility. Since the size of each square is small, both graphics processors receive almost the same load automatically, without any intervention on the part of the driver. This mode works only with Direct3D applications and each GPU has to process the geometry of the entire frame. Today’s games, however, are generally satisfied with the vertex processor performance of modern graphics cards. For example, the 6 vertex processors of the RADEON X850 XT clocked at 520MHz frequency are quite enough for the lack of geometry performance scaling not to become a bottleneck of a CrossFire system.
The rendering mode of a CrossFire system is selected automatically, depending on the Catalyst A.I. option. If this option is enabled, the Scissors or SuperTiling mode is used depending on the API. The AFR mode is only enabled for applications that have the appropriate profiles written into the Catalyst driver. If the Catalyst A.I. option is turned off, the CrossFire system uses SuperTiling for Direct3D applications and Scissors in all other cases.