我有一个运行 SLES11SP1 的 Linux 机器,里面有 4 个 NVIDIA GPU,用于运行 CUDA 程序。
如果 GPU 由以 root 身份运行的进程访问,则会将 /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
马克的回答是正确的;然而,666 对我不起作用。我必须将我的用户名添加到视频组中。
我正在运行 openSUSE 15,并且在多 GPU 设置中遇到了同样的问题。
要查看您属于哪些组,请键入
groups <username>
其中<username>
替换为您的用户名。
您可以将您的用户名添加到视频组。
sudo usermod -a -G video <username>
其中<username>
再次由您的用户名替换。如果您已登录,则需要注销然后重新登录才能看到更改。