The Quick SLI and CrossFire Guide
Scalable Link Interface (SLI) and CrossFire are competing technologies from NVIDIA and ATI/AMD, respectively, that allow users to make use of multiple video cards at once for improved performance. Although there are significant technical differences, and major incompatibilities, between the two, they are overall quite similar from an end-user's perspective.
- The basics: What do they do?
- So do they provide twice (or three or four times) the performance of a single card?
- Is SLI or CrossFire right for me?
- Requirements for an SLI or CrossFire system
- Do I need an "SLI Certified"/"CrossFire Certified" power supply or memory?
- Differences between SLI and CrossFire
- How SLI works
- How CrossFire works
- Hybrid CrossFire and Hybrid SLI
SLI and CrossFire provide a system for two or more video cards to work together to render the same video stream. This is intended to be as transparent to the rest of the computer as possible.
Originally the limit was two cards, and therefore two Graphics Processing Units (GPUs). However, both companies have now produced cards with 2 GPUs on a single card (model numbers ending in X2), opening the door to what are called Quad-SLI or CrossFireX Quad configurations. Additionally, NVIDIA has now made it possible to use 3 cards together (which it calls 3-way SLI). Because CrossFire allows different cards to be used, 3-GPU CrossFire systems (called CrossFireX, without the Quad) can be built by combining one card with 2 GPUs and another with 1 GPU. So computers with 2, 3, or 4 GPUs may be built using either technology.
The theoretical upper limit for performance of an SLI/CrossFire system with 2 GPUs is twice that of a single-card system (assuming two identical cards are used; an issue we will touch on later). However, in practice this is never achieved. There are real-world issues related to parsing a scene out to the two cards, and some 3D engines are not very accomodating to the multi-card approach.
Performance of SLI and CrossFire systems is heavily dependent on what is being rendered and on the video drivers. This means that under certain circumstances, with certain software, performance can actually be worse than a single card. This is rare, however. Typical performance gains are something like 20 to 50% above a single card. Additionally, there are sometimes driver issues with very new cards, which of course is very problematic for a technology aimed at early adopters.
These issues remain when 3 or 4 GPUs are used, where again performance is nowhere near the theoretical limit. Tom's Hardware has performance benchmark charts that include single-, dual-, and quad-GPU configurations or just dual- and quad-GPU configurations.
If you absolutely must have the best performance that money can buy today, then these are technologies intended specifically for you. Go hog wild.
Most people have a budget, though. For them it is not such a clear proposition. Combining multiple cards does provide more performance, but the gains are not huge and not universal. Two of today's top-end cards put together will perform roughly as well as a high-end card from the next generation, assuming past trends hold. But the two cards cost more overall (if you buy a card today and a next-gen card down the road, you can sell the first card to help finance the second one), consume more power (with rare exceptions), and generally not offer a performance advantage.
Others plan to buy a mid-range card, and down the line (once prices fall) add another mid-range card like it. This yields performance comparable to a single high-end card from the same generation, typically. Performance that is not too far above a mid-range card from the next generation. As before, the possibility of selling the old card to finance a new one makes it hard to justify two cards on a cost basis.
And some people think it very clever to buy up two very cheap cards, stick them together, and have a cheap solution for great performance. In practice these set-ups often perform terribly, and don't even touch a single, mid-range card of the same generation... or even one generation older.
The requirements to build a system around these technologies have, fortunately, loosened up a bit over time. But there are still some, and remeber that these are requirements and not recommendations.
Your video cards must support SLI if made by NVIDIA, or CrossFire if made by ATI/AMD. For SLI this means explicit SLI support (usually with the special SLI connector) for each card. For CrossFire it used to mean having a CrossFire "Master" card (which cost extra), although some newer chipsets eliminate this requirement. Fortunately, there's a compatibility chart. For SLI, cards should be nearly identical; they need to have the same model number, down to the 2- or 3-letter suffix. CrossFire is slightly more flexible, but cards can differ only in the last two digits of the model number and the suffix. In either case, brands, clock frequencies, and memory sizes do not have to match; however, mixing clock frequencies or memory sizes will drag down the superior card to match the inferior card.
Your motherboard also has to support the relevant technology. For SLI, this means an NVIDIA chipset bearing the SLI sticker, although driver hacks sometimes coax other motherboards to work. If you want to use 3-way SLI, make sure your motherboard has at least 3 PCI-Express x16 slots. For CrossFire, it means an ATI/AMD or Intel chipset with the CrossFire sticker. Again, refer to the compatibility chart if you are building a CrossFire system.
You will need a supported operating system. SLI supports Windows XP, Windows Vista, and Linux in 32-bit and 64-bit flavors except when using 3-way SLI. 3-way SLI requires Windows Vista (32-bit or 64-bit). CrossFire supports Windows XP or Windows Vista, 32-bit or 64-bit, except CrossFireX Quad. CrossFireX Quad requires Windows Vista, 32-bit or 64-bit.
As is often neglected , you will need a power supply capable of powering all this. As a ballpark estimate, your power supply should be able to supply 100 W of power at 12 V to your CPU and each of your graphics cards. For 2 cards, that is 300 W, or 25 A. For 3 cards, 400 W or 33 A. Please note that these are very rough, general estimates. Before buying a power supply, you should look for the power consumed by your specific components. You should also make sure your power supply has enough connectors (or failing that, adapters) to support however many cards you decide to use.
There are also a lot of smaller, less obvious things to worry about. You will need a reasonably large case to accomodate the extra cards. You will need better-than-average cooling (which is partially a function of the case) to deal with the extra heat.
These products are made to essentially the same specifications as non-certified components, the difference being that these have been through a qualification testing system run by NVIDIA or ATI/AMD. There's nothing at all wrong with buying certified components, and if it provides you peace of mind then that's fine. In the case of power supplies, especially, it at least ensures you are buying something halfway decent.
The most obvious difference between the technologies is that one is NVIDIA-centric and one is ATI/AMD-centric. But there is more to it than that.
SLI relies on a special internal SLI connector on the top of each card. A bridge connector (either a hard PCB or a flexible cable) plugs in to this and is used to facilitate communication between the cards. This ensures that even if the PCI-Express links begin to run out of bandwidth, the cards can talk to each other. Lower-end cards do not have this connector, presumably because they are not expected to ever be at any risk at all of saturating the PCI-Express bus.
CrossFire initially relied on a special DVI Y cable to serve the same purpose. At the time it also relied on a special Master card that had extra electronics to exercise some control over the other card. This was replaced in the 2xxx and later generations by communication over the PCI-Express bus.
The way they divide the workload is also different. As we shall see shortly, SLI either has cards render alternating frames or splits frames into large chunks. CrossFire divides frames up in a checkerboard pattern.
SLI has a master card and one or more slave cards. The master divides up the workload among the available GPUs. Ordinarily, SLI uses Alternate Frame Rendering (AFR): the GPUs take turns rendering frames. For two GPUs, they will alternate. For three GPUs, each GPU will render every third frame. For four GPUs, every fourth frame.
Under certain circumstances where this mode would not perform well, SLI switches to Split Frame Rendering (SFR). In SFR, the frame is split into chunks (as many as there are GPUs), one above the other (if you drew a dividing line between the chunks, you would have a horizontal line). These chunks are not necessarily the same size; if the bottom half of the screen is more complex to render, the line will shift down so that the overall workload is more evenly split among GPUs. Figuring out where to divide the frame is more complicated than just having GPUs render alternating frames (which, as long as frames don't change complexity very rapidly, ensures an equitable distribution of the workload), which is why AFR is the default mode. Anandtech has more detail on how this division of labor is managed.
The slave(s) sends its output data to the master card, which combines the data to produce a single output stream to the monitor.
Special note: NVIDIA's SLI (Scalable Link Interface) accomplishes more or less the same thing as 3dfx's SLI (Scan Line Interleave), but in 3dfx's implementation two cards would each render alternating scan lines within a frame. Thus each card would render exactly half the frame, by rendering every other horizontal line of pixels.
CrossFire again has a master card that calls the shots. Overall it works very similarly to SLI, with the key difference being how the workload is divided.
CrossFire divides each frame into a "checkerboard" pattern. Imagine a checkboard of red and black squares superimposed over your monitor. In a 2-GPU CrossFire system, one GPU would render all of the red squares and one would render all of the black squares (so that they are each rendering every other square). In a 3-GPU system, each GPU would render every third square. In a 4-GPU system, 2 GPUs would each render half of the red squares, and the other two would each render half of the black squares.
Again, all data passes back to the master to be combined and sent to the monitor.
Hybrid CrossFire and Hybrid SLI are technologies intended to help laptops balance power and performance. They both allow a motherboard's integrated graphics processor to be used alongside a discrete graphics processor. When the laptop is plugged in to the wall, and thus doesn't need to worry much about power use, it can turn on the discrete graphics processor, combining its performance with the integrated graphics processor, for improved performance. When it is operating from its battery, and very much cares about power use, it can shut the discrete processor off and fall back to using only the integrated graphics processor. The integrated processor acts as the "master" to help make the transition smoother.
Many of the things we have said above do not exactly apply to these technologies, which are in fact quite different from "vanilla" SLI and CrossFire. Unfortunately, a full discussion of these technologies would make this guide much longer than it already is, and so will have to wait for another day.