昨天我测试了我的CUDA代码:
for (int i = 0; i<gpus; ++i)
for (int j = 0; j < gpus; ++j)
{
if (i != j)
{
cudaDeviceCanAccessPeer(&access, i, j);
if (access == 1)
cout << "T: " << i << " -> " << j << "\n";
else
cout << "N: " << i << " -> " << j << "\n";
}
}
硬件/软件: Windows服务器, 英特尔i9至尊版 4个GTX1080Ti。
结果是: 每个GPU均可访问其他GPU,但排除逻辑编号为1的GPU。
今天,重新安装nvidia驱动程序后,我的代码说: 任何GPU都可以访问其他-为什么?
如何使用“ cudaDeviceCanAccessPeer”查找问题。为什么一次有两个GPU可以访问,而另一次没有?
有人可以解释我吗?
“ nvidia-smi topo”在Windows中不起作用,仅在Linux中,因此我看不到此信息:(