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:
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?
Is SLI required for peer-to-peer memory transfers in CUDA 4.0?
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.
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]