CUDAプログラムを実行するために4つのNVIDIA GPUを持つSLES11SP1を実行するLinuxシステムがあります。
ルートとして実行されるプロセスがGPUにアクセスする場合、/dev/nvidia{0,1,2,3,ctl}に対する権限は、root以外のユーザーがアクセスできないように変更されます。しかし、Ubuntuで実行すると、この動作は発生しないようです。
SLESでこれらの動作が発生する可能性のある原因とそれを無効にする方法を知っている人はいますか?
答え1
SLES11sp1でも同じ問題が発生しました。この問題を解決した唯一の方法は、ローカルコンピュータのビデオグループにLDAPユーザーアカウントを追加することでした。 /etc/modprobe.d/50-nvidia.confの行をNVreg_DeviceFileMode=0660からNVreg_DeviceFileMode=0666に変更することもできると聞きました。
答え2
Markの答えは正しいですが、666は私には適していません。ビデオグループに自分のユーザー名を追加する必要があります。
私はopenSUSE 15を実行しており、複数のGPU設定でも同じ問題が発生しました。
自分が属するグループを表示するには、次のように入力します。
groups <username>
<username>
ユーザー名に変更してください。
ビデオグループにユーザー名を追加できます。
sudo usermod -a -G video <username>
ここで<username>
再びユーザー名に置き換えられます。ログインしている場合は、変更を確認するにはログアウトしてから再度ログインする必要があります。