Is SLI required to compute in CUDA on 2 or more GTXes? + misc. questions about UVA, TCC and peer-to-


I’m a CUDA programmer. I’ve been working on CUDA 2.x and 3.x before, now I’m getting familiar with CUDA 4.0. I’ve never worked with more that one CUDA device and now I want to use several CUDA devices. I believe Teslas are too expensive, so I will start with regular GTXes.

Suppose I buy two (or four) GTX 580 cards, put it in one PC and I want to render textures using one card, but compute on all available cards. I want to run different kernels on different cards and send results to one card which will be also used for visualisation purposes.

Now, questions:

  1. Should I connect them by SLI cable to be able to compute in CUDA on all devices or SLI is only used to speed-up graphics rendering?
  2. Is SLI required for peer-to-peer memory transfers in CUDA 4.0?
  3. What is TCC and UVA and how can it help me?

Thanks for your time, any help will be highly appreciated.
P.S. Sorry if I put my post in wrong group, I couldn’t find better one.

  1. Only for graphics.

  2. No

  3. TCC = Tesla Compute Cluster (drivers for Tesla/Quadro cards) UVA[font=“arial, verdana, tahoma, sans-serif”] = Unified Virtual Address wo. UVA you have different address space for each device. With UVA you look at the address space as unified for all devices.[/font]

[font=“arial, verdana, tahoma, sans-serif”]


Thank you very much for all the answers.

Resolving TCC abbreviation helped a lot. UVA is now much more clear for me.