web-dev-qa-db-ja.com

sshを介してリモートでstartx

CUDAを使用してGPUでいくつかのものを実行するソフトウェアを使用しています。

Sshを使用してボックスまたはvncに接続しているときに、プログラムを実行しようとすると、CUDAデバイスが有効になっていないというエラーが表示されます。マシンに移動して物理的にログインし、「startx」と入力してデバイスを検出する必要があります。 Xセッションを使用するボックスでの別の使用法でもありますが、CUDAを機能させるには、ボックスのどこかで開始する必要があります。 SSHセッションを介して「startx」する方法はありますか?これが機能し、ログインする必要がありませんか?

ありがとう

4
Derek

CUDAを実行しているボックスへのルートアクセス権がある場合、またはこの変更を行う人を取得できる場合は、XがCUDAを使用する必要がないように構成できます。

これを行うには、85-cuda.rules/etc/udev/rules.dというファイルを次の内容で作成します。

SUBSYSTEM=="module", KERNEL=="nvidia", RUN+="/lib/udev/cuda.sh"

次に、cuda.sh/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

マシンに複数のGPUがある場合は、最初の2行を繰り返し、両方の行でnvidia1nvidia2に変更し、最初の行の最後の12に変更します。マシン内の各reaminingカードに対してこれを繰り返します。それを保存したら、実行可能にする必要があります。

chmod +x /lib/udev/cuda.sh

最後に、/lib/udev/cuda.shを1回実行して、再起動せずに機能させます。

2
Patches