操作系统是 Debian 10。我目前有一个 Geforce 1060 GTX,我正在尝试将其用于各种 CUDA 任务。然而,没有办法“调整”在显卡上运行的进程,因此当我的任务运行时,我在 x.org 中出现严重滞后。
明显的解决方法是“获取第二个 GPU”,所以我正在尝试这样做。目前正在考虑 K10,它几乎可以满足我所有的 CUDA 需求。(K10 的功率足够低,并且具有额外的内存,这使其成为理想的选择)
然而,K10的计算能力仅为3.0。我想要运行一些其他任务,这些任务需要 3.5 甚至更高的计算能力。
在花钱买K10之前,我想知道,这个有用吗?是否可以在 K10(最高 CC 3.0)和 1060 GTX(最高 CC 6.1)上同时运行 CUDA 任务?nvidia 驱动程序是否涵盖了这种边缘情况?似乎是一种罕见的情况,但我真的希望这是可能的。
在运行任务之前,可以通过调整 CUDA_VISIBLE_DEVICES环境变量将任务绑定到给定 GPU。您可以使用此变量来限制应用程序在单个设备或一组设备上运行。
您可以创建一个脚本,将 CUDA_VISIBLE_DEVICES 设置为以逗号分隔的设备 ID 列表,以仅使这些设备对应用程序可见。
来自帖子 如何选择在哪个 GPU 上运行作业?
所以回答你的问题:
答案:是的,可以使用 CUDA_VISIBLE_DEVICES 手动将任务分配给正确的 GPU。