d3p5kor, thanks mate.
Nipun here is a small article on SLI, Crossfire and PhysX.
PS: The article is not small as I promised
SLI and Crossfire are multi-GPU technologies developed by nVidia and ATI respectively. The basic idea is to use multiple GPU to process the graphics processing tasks to produce a single output. Both the techniques use the concept of parallel processing ( 2 GPU are processing the data in parallels) to increase performance by increasing the number of Graphics operations executed in unit time.
Nvidia SLI: SLI stands for Scalable Link Interface and it is Nvidia’s offering for multi-GPU solution and introduced in 2004. Actually the idea is rooted back in 1998 when Voodoo, market leader of Gfx card business on that time, first created a Dual GPU card by using their own technique Scan-Line Interleave. When nVidia bought Voodoo, they acquired the technology but did not use it until 2004, when PCI-E graphics card started to emerge.
In SLI, two exactly same models of Graphics cards are needed to be plugged in a SLI capable motherboard. The 1st SLI chipset is nForce4 SLI chipset, running @ X8-X8 speed of PCI-E 1.0 standard. I used to have one…Gigabyte nForce 4 Ultra SLI…got it from US (had two 6800 Ultra in SLI in 2005)
In SLI, both cards are given the same part of the 3D scene to render, but effectively half of the work load is sent to the slave card through a connector called the SLI Bridge. As an example, the master card works on the top half of the scene while the slave card works on the bottom half. When the slave card is done, it sends its output to the master card, which combines the two images to form one and then outputs the final render to the monitor. That is the reason in SLI (also in Crossfire) effective memory does not get doubled since the whole workload is getting mirrored in both the cards, but they work on different portions of the workload.
SLI Bridge: Normally cards in SLI setup are connected by a SLI bridge. It is used to reduce bandwidth constraints and send data between both graphics cards directly. It is possible to run SLI without using the bridge connector on a pair of low-end to mid-range graphics cards (e.g. 7100GS or 6600GT) with NVIDIA's Forceware drivers 80.XX or later. Since these graphics cards do not use as much bandwidth, data can be relayed through just the chipsets on the motherboard. However, if no SLI bridge is used on two high-end graphics cards, the performance suffers severely as the chipset does not have enough bandwidth. Until recently, SLI always has better scaling and driver support than Crossfire.
The Dual GPU cards like GTX 295 or GTX 590 have their internal SLI bridge to transfer data to and fro between the two GPUs inside the package. As per current status Quad SLI or 4 nVidia cards can be SLIed together. Initially dual GPU cards from Nvidia were using two different PCB (printed Circuit Board) for each card (like 7950X2, 9800 GX2), but current cards like GTX 590 use single PCB for both the GPUs.
let me clear one thing, the dual PCB based Dual GPU cards are needed to be used with a SLI enabled motherboard, although it will occupy one slot. 7950X2 and 9800GX2 are perfect example of it. If they are plugged in a Non-SLI board, only one of the GPUs of the card will work. That;s why ATI has introduced the 1st single PCB based Dual GPU card, 3870X2. It can work in a non-Crossfire mobo
ATI Crossfire: Crossfire is the ATI’s counterpart and direct competitor of SLI and debuted at September, 2005. Here unlike SLI where two exactly same models of card are required, Crossfire can run two cards of same series. So HD 5850 and 5870 can run in Crossfire but HD 5850 and HD 6950 can’t.
1st Gen: The 1st Gen of Crossfire setup was problematic as it needed a special master card and another slave cards to run Crossfire in Crossfire enabled motherboard. The reason being is that time ATI driver was not able to combine the outcomes of the two cards into a single output, it was implanted in hardware of the Master card by adding 5 extra image compositing chips.
2nd Gen: In 2nd generation the concept of Master-Slave configuration was removed and Crossfire ready cards came into picture. Any two crossfire ready cards can be plugged a Radeon Express 3200 chipset based motherboard where they communicate through low latency and high bandwidth PCI-E lane. Till 2nd generation no Crossfire bridge was in picture.
3rd Gen or Current status: With Radeon X1950 (RV570 architecture), ATI crossfire became more like SLI, any cards of same series can be used in Crossfire mode and they are connected by a ribbon like Crossfire bridge, which you see today. Another advantage is from ATI 3800 series (HD 3850 and HD 3870), cards in Crossfire setup can have their separate Clock speed control, unlike SLI where both the cards run in the same speed, determined by the speed of the slower card.
With the release of Catalyst 11.XX driver and HD 6000 series card, Crossfire scaling has been increased in a very large margin and actually scales better than SLI in most of the cases. In fact it has reached 2X performance increase in a lot of demanding games like Metro 2033, Battle Field Bad Company.
In Crossfire of dissimilar cards graphics driver decides how the workload will be divided so that the weaker cards get the less amount of processing while the more powerful one does the higher amount of the workload.
Another advantage of Crossfire over SLI is Crossfire can run on X4 mode, so X16-X4 or X8-X4 setup are possible in Crossfire. On the other hand SLI needs the cards to be plugged in at least two X8 slot. So possible combinations are X16-X16 or X16-X8 or X8-X8 but not X8/16-X4.
PhysX: For understanding PhysX let us discuss first about Physics Engine. A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics, of use in the domains of computer graphics, video games and film. Graphics processing will make the games look better whereas Physics implementation brings real life Physics law implementations in computer graphics.
Initially Physics instructions were executed by CPU but with GPU becoming more and more powerful in parallel processing, CPU bottlenecks came into the picture and it was observed that if coded properly Physics calculation can be done in GPU to increase performance. Ageia is the company who 1st introduced their card, dedicated for Physics processing and were called PPU or Physics Processing Unit.
Nvidia bought Ageia and released their proprietary Physics Engine, which you guys know as PhysX and it will only run on nVidia GPU starting from 8000 series. The Gfx card must have at least 32 stream processors and 256 MB of memory. Games can implemented PhysX by utilizing PhysX SDK released by Nvidia.
A lot of people use a two card setup where the powerful card like GTX 460 is used for processing the Graphics and a 8800 GT is used solely to process PhysX processing. This kind of setup improves the performance in games with PhysX as the workload is devided....Gaming card only processes the Graphics and PhysX card will only do the PhysX calculation.
My setup is like same....two HD 6870 in Crossfire are for the graphics calculation and 8800 GT is for PhysX processing.