Multi-GPU Understanding Concurrent kernel execution on multi-GPU


I am new to multi-GPU systems. I shall be grateful if you guys can verify my understanding:

1- Multi-GPUs can be used to run “same” or “different” kernels SIMULTANEOUSLY on different GPUs.

2- Computation speed will be thus doubled on a 2 GPU system as compared to a single GPU system.

3- For getting the advantage of two GPUs we need to create two host threads to control two GPUs.
These two host threads will launch two kernels meant for two GPUs.

4- We will have to disable the SLI mode if we want to utilize the two GPUs for Computations.

5- The SLI can only benefit gaming applications.

Thanks in advance

P.S: Sorry for multiple post, I inadvertently posted it as a reply in another forum.

Everything except 2 is pretty much correct.

Because two GPUs have to share the PCI-e bus and host CPU interconnect and memory bandwidth, it is rare to get an effective doubling of computation throughput with two GPUs because of host resource contention.

Thanks for your reply. You cleared my doubts :-)

4 is old news. Drivers for the past year or so are able to run multi-GPU CUDA when SLI is enabled. The game community needed this so they could run physX on a chosen GPU at the same time as a game in SLI mode.

Now that I think of it, the whole physX/CUDA buzz has died down, hasn’t it. I don’t recall seeing any articles on cool new games with GPU-acellerated physX support since all that hype over a year ago. Odd how quickly a whole industry can loose interest in something so quickly.