CUDA 프로그램을 실행하기 위해 4개의 NVIDIA GPU가 있는 SLES11SP1을 실행하는 Linux 시스템이 있습니다.
루트로 실행되는 프로세스가 GPU에 액세스하는 경우 /dev/nvidia{0,1,2,3,ctl}에 대한 권한은 루트가 아닌 사용자가 액세스할 수 없도록 변경됩니다. 그러나 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>
다시 사용자 이름으로 대체됩니다. 로그인한 경우 변경 사항을 보려면 로그아웃했다가 다시 로그인해야 합니다.