问题
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.
回答1:
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. "
回答2:
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
回答3:
According to NVidia's NVIDIA GPUDirect page
GPUDirect peer-to-peer transfers and memory access are supported natively by the CUDA Driver. All you need is CUDA Toolkit v4.0 and R270 drivers (or later) and a system with two or more Fermi- or Kepler-architecture GPUs on the same PCIe bus.
来源:https://stackoverflow.com/questions/14112700/cuda-gpudirect-on-geforce-gtx-690