Я использую некоторое программное обеспечение, которое использует CUDA для выполнения некоторого материала на GPU.
Если я использую ssh для соединения с полем или vnc даже, и я пытаюсь запустить программу, я получаю ошибку, которую не включено никакое устройство CUDA. Я должен перейти к машине и физически войти в систему и ввести "startx", чтобы заставить это обнаруживать устройство. Это может также быть другое использование на поле с помощью X сессий, но нужно быть запущен soemwhere на поле для получения работы CUDA. Существует ли путь к "startx" по сессии SSH так, чтобы это работало, и я не должен переходить и входить в систему?
Спасибо
Если Вы имеете корневой доступ к полю, выполняющему CUDA, или можете получить кого-то, кто делает для внесения этого изменения, можно настроить его таким образом, что X не необходимо использовать CUDA.
Для этого создайте названный файл 85-cuda.rules
в /etc/udev/rules.d
со следующим содержанием:
SUBSYSTEM=="module", KERNEL=="nvidia", RUN+="/lib/udev/cuda.sh"
Затем создайте названный файл cuda.sh
в /lib/udev
со следующим содержанием:
#!/bin/sh
mknod -m 660 /dev/nvidia1 c 195 1
chown root:video /dev/nvidia1
mknod -m 660 /dev/nvidiactl c 195 255
chown root:video /dev/nvidiactl
Если машина имеет несколько GPU, повторите первые две строки, изменившись nvidia1
кому: nvidia2
на обеих строках и изменении последнего 1
из первой строки к 2
. Повторите это для каждой остающейся карты в машине. После того как Вы сохраняете это, необходимо сделать это исполняемым файлом:
chmod +x /lib/udev/cuda.sh
Наконец, выполненный /lib/udev/cuda.sh
однажды для получения его работающий, не имея необходимость перезагружать.
При использовании ssh, включайте-X опцию. Это позволит графическим приложениям работать на основе SSH. Просто запустите программу от командной строки как обычный, и необходимо видеть, что он открывается.
ssh -X user@host
Это сделает его так, Вы не должны запускать всю сессию только для запущения приложения или два.
Иначе Вы могли запустить x как фоновый процесс? (Используя и в конце).
X (Xorg) дизайном клиент-серверная модель. SSH'ing в... Вашем "X-сервере" по умолчанию не x-сессия удаленной машины. Это попробует и соединится с x-сессией, пробегающей туннель. Во многих находящихся в x приложениях у Вас есть опция указать, какой X-сервер отобразиться на, и как таковой Вы смогли говорить Вашему приложению запускать на X-сервере удаленной машины. http://www.x.org/archive/X11R6.8.0/doc/Xorg.1.html
Насколько VNC идет, все это зависит от того, как это настроено. Большую часть времени vnc создаст новую сессию, когда Вы соединитесь, который не использует gpu-поддерживающий X-сервер. По сути, это также не позволит, Вы для запущения gpu-поддерживающих приложений под non-gpu включили X-сервер. Я честно не использую VNC, таким образом, я не парень, чтобы спросить, как реконфигурировать его для работы с gpu-поддерживающим X-сервером.