Scalable Link Interface

From Wikipedia, the free encyclopedia

NVIDIA SLI Logo
Enlarge
NVIDIA SLI Logo

Scalable Link Interface (SLI) is a method developed by NVIDIA for linking two (or more) video cards together to produce a single output. SLI is an application of parallel processing for computer graphics, meant to increase the processing power available for graphics. With SLI, it is possible to roughly double the amount of graphic complexity that can be handled by a computer just by adding a second identical video card.

The name SLI was first used by 3dfx with its Scan-Line Interleave, which was introduced in 1998 and used in the Voodoo 2 line of graphics accelerators. 3dfx was later purchased by NVIDIA, who ended development, and then sales, of the Voodoo series cards. NVIDIA reintroduced the SLI name in 2004 and intends for it to be used in modern computer systems based on the PCI Express (PCIe) bus. However, the technology behind the name SLI has changed dramatically.

Contents

[edit] Implementation

The basic idea of SLI is to allow two (or more) processors to share the rendering load, with one of the cards acting as a master, and another as a slave. Both are given some portion of the screen to render, and the slave uses the SLI connector to send its rendered output to the master, where it is incorporated into the master's frame buffer and sent to the screen as if it had been generated locally.

In its first implementation, motherboards capable of SLI required a special PCB card, which came with the motherboard, that fitted into a socket, usually between the first and second PCI-Express slots. Depending on which way the card was inserted, the motherboard would allow the full x16 lanes for a single GPU configuration available. If it was in SLI mode, the motherboard would split full x16 lanes between the two PCI-Express slots equally. Motherboards today do not require this card due to advances in chipsets and drivers.

The PCB connector is only used to reduce bandwidth requirements for PCI-Express. It is possible to run SLI without using the PCB connector on a pair of low-end to mid-range graphics cards (i.e. 6600GT) with the new 80.XX drivers from NVIDIA. Low-end/mid-range graphics have lower data transfers that can be relayed through just the chipsets on the motherboard. This is also possible on ATI CrossFire. Both CrossFire and SLI suffer severe performance penalties when this method is used on two high end cards, however, as the bus will be loaded down with data both from the host CPU as well as the slave sending data to the master.

Since rendering speed is often strongly related to the speed of memory local to the individual GPU's, using SLI means that both cards need to be sent the same set of data for things like texture maps and geometry models. A custom driver is used to "split" the data at the CPU end, so that when an application attempts to load a texture into the card, for instance, it is invisibly sent to both. To make this task as simple as possible, SLI demands that both cards be connected to the motherboard using PCIe x16 slots. This severely limits the number of computers that are capable of running SLI; most motherboards support only one x16 slot and then some number of "narrower" slots, typically a mix of x8 and x4. In order to fill this niche, NVIDIA also supplies motherboard chip sets with the required connectivity.

Once the data is sent to the cards, the next task is to divide up the actual rendering task, generating on-screen pixels from the data in the card's memory. SLI supports three methods of dividing up this task:

  • The first method, known as Split Frame Rendering (SFR), analyzes the rendered image in order to split the workload 50/50 between the two GPUs. To do this, the frame is split horizontally in varying ratios depending on geometry. For example, in a scene where the top half of the frame is mostly empty sky, the dividing line will lower, balancing geometry workload between the two GPUs. This method does not scale geometry work as well as AFR, however.
  • The second method is known as Alternate Frame Rendering (AFR), in which one GPU processes even frames, and the second processes odd frames, one after the other. When the secondary card finishes work on a frame (or part of a frame) the results are sent via the SLI bridge to the master GPU, which then outputs the completed frame. Ideally, this would result in the rendering time being cut in half, and thus performance from the video cards would double. In their advertising, NVIDIA claims up to 1.9 x the performance of one card, with the dual-card setup. However, this mode cannot be used in games that use Render To Texture functions, as neither GPU can directly access the frame buffer of the other. (There is another mode, AFR2, which can be manually chosen, but NVIDIA has not documented the difference between it and normal AFR.)
  • The third method is SLI Antialiasing. This is a standalone rendering mode that offers up to double the antialiasing performance by splitting the antialiasing workload between the two graphics cards, offering superior image quality. One GPU performs an antialiasing pattern which is slightly offset to the usual pattern, and the second GPU uses a pattern offset by an equal amount in the opposite direction. Compositing both the results gives higher image quality than is normally possible. This mode is not intended for higher framerates, and can actually lower performance, but is instead intended for games which are not GPU-bound, offering a clearer image in place of better performance. When enabled, SLI Antialiasing offers advanced antialiasing options: SLI 8X and SLI 16X. A Quad SLI system is capable of SLI 32X antialiasing.

NVIDIA has created a set of custom video game profiles in cooperation with video game publishers that will automatically enable SLI in the mode that gives the largest performance boost. It is also possible to create custom game profiles or modify pre-defined profiles using their Coolbits Software.

For more information on SLI-optimized games, visit NVIDIA's SLI Zone

[edit] Other Implementations

[edit] Two GPUs on one card

In February 2005, Gigabyte Technology released the GV-3D1-68GT, a single video card that uses NVIDIA's SLI technology to run two 6600-series GPUs. Since some motherboards are expecting to split the 16 lanes of the PCIe x16 bus across two PCIe slots (x8 lanes for each) when in SLI mode, at release the card was only supported by one of Gigabyte's own motherboards, with which it was bundled.

Around March 2006, ASUS released the N7800GT Dual. Similar to Gigabyte's design, but mounting two 7800GT GPUs on one video card. Again, this faced several issues, such as high price (it retailed for around $800, while two 7800GT's were cheaper total at the time), limited release, and limited compatibility. It would only be supported on the nForce4 chipset and only a few motherboards could actually utilize it. It was also one of the first video cards with the option to use an external power supply if needed [2].

In January 2006, NVIDIA released the 7900 GX2, their own attempt at a two-GPU card. Effectively, this product is a pair of slightly lower clocked 7900GTX cards bolted together into one discrete unit, with separate frame buffers for both GPUs (512MB of GDDR3 each). The GeForce 7900 GX2 is only available to OEM companies for inclusion in four-GPU systems, and it cannot be bought in the consumer market. The Dell XPS, announced at the 2006 Consumer Electronics Show, used two 7900 GX2's to build a quad-GPU system. Later, Alienware acquired the technology in March.

A newer version, the GeForce 7950 GX2, addresses many issues in the 7900 GX2, and is available to consumers for separate purchase. More recently, in August 2006, NVIDIA has released the drivers to allow end-users to build their own quad-GPU systems using the 7950 GX2[1].

[edit] Quad SLI

The idea of Quad SLI may have started as early as late 2005. In October 2005, Gigabyte Technology released the GA-8N SLI Quad Royal. Essentially it was a motherboard with four PCI-Express x16 slots. At the time of release however, NVIDIA stated that it would not be the direction it would take SLI [3].

In early 2006, NVIDIA revealed its plans for Quad SLI. Instead of combining two GPUs onto one board, two separate boards would be stacked on top of each other into one discrete unit, using the existing on-die SLI bridge connectors to send frame data. This way, four GPUs can contribute to performance. However, it is still not possible to run four separate graphics cards in Quad SLI, even when a motherboard has four PCI-Express slots.

The official implementations of Quad SLI work in the same fashion. Two GPUs are placed on two separate boards, with their own power circuitry and memory. Both boards have slim coolers, cooling the GPU and memory. The 'primary' GPU can be considered to be the one on the rear board, or 'top' board (being on top when in a standard ATX system). The primary board has a physical PCIe x16 connector, and the other has a round gap in it to provide cooling for the primary HSF. Both boards are connected to each other by two physical links; one for 16 PCI-Express lanes, and one for the 400MHz SLI bridge. An onboard PCI-Express bridge chip, with 48 lanes in total, acts as the MCP does in SLI motherboards, connecting to both GPUs and the physical PCI-Express slot, removing the need for the motherboard to support SLI. One or both boards features an SLI connector, depending on the model.

Quad SLI has yet to show any massive improvements in gaming using the common resolutions of 1280x1024 and 1600x1200, but has showed improvements by enabling 32x anti-aliasing in SLI-AA mode, and support for 2560x1600 resolutions at smooth framerates (Typically 50FPS or better) on maximum settings. As with other early implementations of multi-processor setups, Quad-SLI may perform worse than SLI.

NVIDIA has recently released official Quad SLI drivers, marking the first time one can use Quad SLI with official support.[4] For more information, visit NVIDIA's Quad SLI website.

[edit] Caveats

  • Cards from two separate retail companies will work together in SLI mode, but they must be the same GPU model (i.e. G70, G73, G80, etc). The cards may have different BIOS revisions, different default clock speeds, or even different memory sizes. However, the faster card - or the card with more memory - will run at the speed of the slower card or disable its additional memory.
  • SLI doesn't always give a performance benefit - in some extreme cases, it can lower the framerate due to the particulars of an application's coding.[2] This is also true for ATI's CrossFire, as the problem is inherent in multi-GPU systems.
  • In order to use SLI, a motherboard with an nForce4, nForce 500, or nForce 600 SLI chipset must be used. But with the use of hacks and older drivers, one can now make SLI work on motherboards with Intel, ATI and ULi chipsets, NVIDIA have stated that only their own chipsets can allow SLI to function optimally, and that they will not allow SLI to work on any other vendor's chipsets (even though some early SLI systems used Intel's E7525 Xeon chipset, which caused problems when NVIDIA started locking out other vendor's chipsets as it limited them to an outdated driver set).

[edit] References

  1. ^ [1]
  2. ^ Performance Comparison Between Single Configurations And SLI Setups. Tom's Hardware. Retrieved on June 1, 2006.

[edit] See also

[edit] External links



NVIDIA Gaming Graphics Processors
Early Chips: NV1NV2
DirectX 5/6: RIVA 128RIVA TNTRIVA TNT2
DirectX 7.x: GeForce 256GeForce 2
DirectX 8.x: GeForce 3GeForce 4
DirectX 9.x: GeForce FXGeForce 6GeForce 7
Direct3D 10: GeForce 8
Other NVIDIA Technologies
nForce: 220/415/420234500600SoundStorm
Professional Graphics: QuadroQuadro Plex
Graphics Card Related: TurboCacheSLI
Software: GelatoCg
Consumer Electronics: GoForce
Game Consoles: XboxPlayStation 3