我有一部Nvidia Tesla s2050;带有nvidia quadro card.CentOS 5.5和CUDA 3.1的主机 当我运行cuda应用程序时,我想使用4特斯拉c-2050,但不包括主机上的quadro,以便不会使整个性能落后,同时将工作分成5个等等。实现这个的任何方式?
答案 0 :(得分:2)
我假设你有四个进程和四个设备,虽然你的问题表明你有五个进程和四个设备,这意味着手动调度可能更好(特斯拉设备处于“共享”模式)。
最简单的方法是使用nvidia-smi指定Quadro设备是“禁止计算”。您还可以指定Teslas是“计算独有的”,这意味着在任何给定时间只有一个上下文可以附加到每个上下文。
运行 man nvidia-smi 以获取更多信息。
答案 1 :(得分:1)
是。查看CUDA Support/Choosing a GPU
<强>问题强>
在机器上运行代码 多个GPU可能会导致您的代码 在较旧且较慢的GPU上执行。
<强>解决方案强>
如果你知道的设备号 要使用的GPU,请致电 cudaSetDevice(N)。为了更健壮 解决方案,包括显示的代码 在程序开头的下方 自动选择最佳GPU 在任何机器上。
查看他们的网站以获得进一步的解释。
您可能还会发现this post非常有趣。