Eu tenho um computador desktop com uma GPU da Nvidia, e a biblioteca de aprendizado de máquina Theano instalada nele. Theano usa a GPU para realizar certos cálculos.
Quando inicio o IPython e importo o Theano, recebo uma notificação de que a GPU está sendo usada. Da mesma forma, quando executo um script de teste, recebo uma confirmação sobre o mesmo. No entanto, recentemente adicionei um novo usuário ao meu computador da seguinte forma:
sudo useradd -m -g fbar -G plugdev -s /bin/bash -c "Foo Bar" fbar
Este usuário não consegue acessar a GPU nos mesmos dois casos que acabei de descrever que funcionaram para mim.
Eu também vou postar isso no grupo de usuários Theano, pois não tenho certeza se é um problema com o acesso no nível do sistema operacional ou no nível do Python ou no nível do módulo. Por favor, deixe-me saber se você precisar de alguma informação adicional.
Obrigado!
EDITAR:
Por sugestão de Rich, eu tentei id com os dois usuários. Inicialmente, o segundo usuário (que não pode acessar a GPU) não estava em alguns dos grupos em que o primeiro estava. Fiz de ambos os membros dos mesmos grupos. Então agora id retorna o seguinte para os dois usuários:
uid=1000(myusername) gid=1000(myusername) groups=1000(myusername),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare)
A única diferença é que, para o segundo usuário, uid e gid são 1001. Ainda assim, ele não pode acessar a GPU.
A saída de
$ ls -l /dev/nvidia*
é assim:
crw-rw-rw- 1 root root 195, 0 May 30 17:42 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 May 30 17:42 /dev/nvidiactl
Alguma outra sugestão? Eu vou ler o que essas colunas significam. Obrigado!