通过 ssh 远程启动

Der*_*rek 5 linux ssh xorg cuda

我正在使用一些使用 CUDA 在 GPU 上运行一些东西的软件。

如果我使用 ssh 连接到盒子,甚至是 vnc,并且我尝试运行该程序,我会收到一个错误,提示没有启用 CUDA 设备。我必须转到机器并实际登录,然后键入“startx”以使其检测设备。它也可以是使用 X 会话在盒子上的另一种用途,但必须在盒子的某处启动才能使 CUDA 工作。有没有办法通过 SSH 会话“启动”,这样就可以了,而我不必再去登录?

谢谢

Pat*_*hes 2

如果您对运行 CUDA 的机器具有 root 访问权限,或者可以让某人进行此更改,您可以对其进行配置,使得 X 不需要使用 CUDA。

为此,请创建一个包含85-cuda.rules以下/etc/udev/rules.d内容的文件:

SUBSYSTEM=="module", KERNEL=="nvidia", RUN+="/lib/udev/cuda.sh"
Run Code Online (Sandbox Code Playgroud)

cuda.sh然后,创建一个名为in的文件/lib/udev,其中包含以下内容:

#!/bin/sh

mknod -m 660 /dev/nvidia1 c 195 1
chown root:video /dev/nvidia1
mknod -m 660 /dev/nvidiactl c 195 255
chown root:video /dev/nvidiactl
Run Code Online (Sandbox Code Playgroud)

如果计算机有多个 GPU,请重复前两行,将两行更改nvidia1为,并将第一行的nvidia2最后一行更改为。对机器中的每张复读卡重复此操作。保存后,您需要使其可执行:12

chmod +x /lib/udev/cuda.sh
Run Code Online (Sandbox Code Playgroud)

最后,运行/lib/udev/cuda.sh一次即可使其正常工作,而无需重新启动。