I’m looking for an affordable system which supports two GPUs. I’ve noticed that many mainboards have just one PCI-E 16x slot which is required for a fast GPU such as the GTX 470/480. Also many stock PCs come with just one fast slot. (for example the Dell XPS 8100) Since you need two GPU if you want to be able to debug a cuda program, I’m looking for a recommendations for a mainboard (or a system) which supports two GPUs. What kind of systems do you use to develop CUDA programs?
The MSI K92A2 Platinum V2 has been used by many to build 4-GPU systems. It has four PCI-E 2.0 8x dual width slots as far as I remember. However it’s only DDR2 RAM capable and supports the AMD AM2 socket.
Some companies explicitly market gaming mainboards for SLI (or Crossfire) use. These typically also have two PCI-E slots with enough spacing and enough electrical connections. Also they tend to be a bit on the expensive side.
PCI-Express makes a distinction between the “physical” and “electrical” slot size. Slots can be x16 in physical size, but only connect 8 lanes. (Or, given a finite number of lanes, many motherboards will supply an x16 slot with 16 lanes unless 2 or 3 slots are in use, in which case it downgrades the connection to x8 dynamically.) PCI-Express cards are designed to auto-negotiate this and work with however many lanes the motherboard activates.
In principle the bandwidth is proportional to the number of lanes, so you should assume that x8 is half the speed of x16. On most motherboards, an x16 connection can do 5-6 GB/sec from pinned host memory.
If you only want two cards, it is not too hard to find motherboards that provide two x16 (electrical) slots. You either need to go with AMD socket AM3 (check the motherboard specs, but I think most of them will do two x16) or an Intel X58 chipset motherboard.
Another option is to go with one of the cheaper Intel Socket 1156 motherboards (only one x16 slot can be supported), but find one that lets you use the on-CPU video and a discrete video card at the same time. Then you can run your desktop on the Intel GPU, and use the NVIDIA GPU for computing. I have not personally tried this, so I can say whether there are hidden pitfalls to this approach.
Thx for the answers so far :) Most AMD mainboards say they support cross-fire. (for example [1]) How does cross-fire or SLI affect the mainboard? And can I instead just use two Nvidia GPUs? (I think SLI is no use when doing computation, correct?)