CUDAを使用してGPUでいくつかのものを実行するソフトウェアを使用しています。
Sshを使用してボックスまたはvncに接続しているときに、プログラムを実行しようとすると、CUDAデバイスが有効になっていないというエラーが表示されます。マシンに移動して物理的にログインし、「startx」と入力してデバイスを検出する必要があります。 Xセッションを使用するボックスでの別の使用法でもありますが、CUDAを機能させるには、ボックスのどこかで開始する必要があります。 SSHセッションを介して「startx」する方法はありますか?これが機能し、ログインする必要がありませんか?
ありがとう
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行を繰り返し、両方の行でnvidia1
をnvidia2
に変更し、最初の行の最後の1
を2
に変更します。マシン内の各reaminingカードに対してこれを繰り返します。それを保存したら、実行可能にする必要があります。
chmod +x /lib/udev/cuda.sh
最後に、/lib/udev/cuda.sh
を1回実行して、再起動せずに機能させます。