У меня есть настольный компьютер с графическим процессором Nvidia, и на нем установлена библиотека машинного обучения Python Theano. Theano использует графический процессор для выполнения определенных вычислений.
Когда я запускаю IPython и импортирую Theano, я получаю уведомление об использовании графического процессора. Аналогично, когда я запускаю тестовый скрипт, я получаю подтверждение о том же самом. Однако недавно я добавил нового пользователя на свой компьютер следующим образом:
sudo useradd -m -g fbar -G plugdev -s /bin/bash -c "Foo Bar" fbar
Этот пользователь не может получить доступ к графическому процессору в тех же двух случаях, которые я только что описал, и это работает для меня.
Я также опубликую это в группе пользователей Theano, так как не уверен, является ли это проблемой с доступом на уровне ОС, Python или модульного уровня. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Спасибо!
РЕДАКТИРОВАТЬ:
По предложению Рича я попробовал id с обоими пользователями. Первоначально второго пользователя (который не может получить доступ к графическому процессору) не было в некоторых группах, в которых был первый. Я сделал их обоих членами одной группы. Так что теперь id возвращает следующее для обоих пользователей:
uid=1000(myusername) gid=1000(myusername) groups=1000(myusername),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare)
Разница лишь в том, что для второго пользователя uid и gid равны 1001. Тем не менее он не может получить доступ к GPU.
Выход из
$ ls -l /dev/nvidia*
выглядит так:
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
Любые другие предложения? Я пойду читать, что означают эти столбцы. Спасибо!