【发布时间】:2011-09-19 17:07:07
【问题描述】:
在具有多个 GPU 的 Linux 系统中,您如何确定哪个 GPU 正在运行 X11,而哪个可以完全免费地运行 CUDA 内核?在具有低功率 GPU 运行 X11 和高功率 GPU 运行内核的系统中,这可以通过一些启发式方法来确定以使用更快的卡。但在两张相等卡的系统上,不能使用此方法。是否有 CUDA 和/或 X11 API 来确定这一点?
更新:命令“nvidia-smi -a”显示是否连接了“显示器”。我尚未确定这是否意味着物理连接、逻辑连接(运行 X11)或两者兼而有之。在此命令上运行 strace 会显示调用了许多 ioctl,并且没有调用 X11,因此假设卡报告显示器已物理连接。
【问题讨论】:
-
为什么 GPU 不能同时运行 X 和 CUDA? X 不需要那么多处理。
-
如果在运行 X11 的 GPU 上运行内核,则无法运行调试器。此外,在同一个 GPU 上运行时,如果您正在处理的内核冻结,X11 也会挂起,导致显示锁定。
-
运行X11的不是带显示器的吗?它应该对内核有运行时间限制(您可以检查设备属性),而另一张卡应该没有运行时间限制(我认为这在 Linux 上也是如此,不仅在 Windows 上)