The GeForce GTX 690 (from vendors like Zotac and EVGA) can be used for CUDA programming, much like a Tesla K10.
Question: Does the GeForce GTX 690 support GPUDirect? Specifically: If I were to use two GTX 690 cards, I would have 4 GPUs (two GPUs within each card). If I connect both GTX 690 cards to the same PCIe switch, will GPUDirect work well for communication between any pair of the 4 GPUs?
Thanks.
This blog might be of help ... [NVIDIA Hardware Comparison – GeForce GTX 690 vs. Tesla K10][1]
http://www.acceleware.com/blog/nvidia-hardware-comparison-%E2%80%93-geforce-gtx-690-vs-tesla-k10
According to the requirements stated here it is necessary to have Tesla series GPUs. So GeForce devices are not officially supported for GPUDirect Peer-to-Peer.:
"When the application is run as a 64-bit process on Windows Vista/7 in TCC mode (see Tesla Compute Cluster Mode for Windows), on Windows XP, or on Linux, devices of compute capability 2.0 and higher from the Tesla series may address each other’s memory (i.e., a kernel executing on one device can dereference a pointer to the memory of the other device). This peer-to-peer memory access feature is supported between two devices if cudaDeviceCanAccessPeer() returns true for these two devices. "
According to NVidia's NVIDIA GPUDirect page