Установить Cuda без корня

Я знаю, что могу установить Cuda со следующим:

wget http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run
chmod +x cuda_7.0.28_linux.run
./cuda_7.0.28_linux.run -extract=`pwd`/nvidia_installers
cd nvidia_installers
sudo ./NVIDIA-Linux-x86_64-346.46.run 
sudo modprobe nvidia
sudo ./cuda-linux64-rel-7.0.28-19326674.run 

Просто интересно, могу ли я установить Cuda без root?

Спасибо,

Ответ 1

Вы можете установить CUDA и компилировать программы, но вы не сможете запускать их из-за отсутствия доступа к устройствам.

Ответ 2

Обновление Пользовательский интерфейс установки для 10.1 изменен. Следующие работы:

  • Отмените выбор установки драйвера (нажав ENTER на нем)
  • Измените options -> root install path на каталог не-sudo.
  • Нажмите A в строке, отмеченной +, чтобы получить доступ к дополнительным параметрам. Отмените выбор create symbolic link и измените toolkit install path.
  • Теперь установка должна работать без прав root

Большое спасибо за подсказки в вопросе! Я просто хочу дополнить его подходом, который работал для меня, также вдохновлен этой сущностью и, надеюсь, поможет в ситуациях, когда установлен действительный драйвер, и установке более поздней версии CUDA в Linux без root-права все еще нужны.

TL; DR: Вот шаги по установке CUDA9 + CUDNN7 в Debian и установке предварительно скомпилированной версии TensorFlow1.4 на Python2.7, чтобы проверить, что все работает. Все без рут прав и через терминал. Также должно работать на других версиях CUDA, CUDNN, TensorFlow и Python на других системах Linux.


УСТАНОВКА

  1. Посетите веб-сайт официального релиза NVIDIA для CUDA (по состоянию на ноябрь 2017 года CUDA9 вышла): https://developer.nvidia.com/cuda-downloads.

  2. Под вашим дистрибутивом Linux выберите опцию runfile (local). Обратите внимание, что указание sudo в инструкциях по установке обманчиво, так как можно запустить этот установщик без прав root. На сервере одним из простых способов является копирование <LINK> кнопки Download и в любом месте вашего домашнего каталога запустите wget <LINK>. Он загрузит файл <INSTALLER>.

  3. Запустите chmod +x <INSTALLER>, чтобы сделать его исполняемым, и выполните его ./<INSTALLER>.

  4. accept EULA, скажите no для установки драйвера и введите местоположение <CUDA> в вашем домашнем каталоге для установки инструментария и <CUDASAMPLES> для примеров.

  5. Здесь не спрашивается, но рекомендуется: Загрузите совместимый файл CUDNN с официального веб-сайта (вам необходимо войти в систему). В моем случае я загрузил cudnn-9.0-linux-x64-v7.tgz, совместимый с CUDA9, в папку <CUDNN>. Распакуйте его: tar -xzvf ....

  6. Необязательно: скомпилируйте образцы. cd <CUDASAMPLES> && make. Там есть несколько очень хороших примеров и очень хорошая отправная точка для написания собственных сценариев CUDA.

  7. (Если вы сделали 5.): Скопируйте необходимые файлы из <CUDNN> в <CUDA> и предоставьте разрешение на чтение пользователю (не уверен, если это необходимо):

cp -P <CUDNN>/cuda/include/cudnn.h <CUDA>/include/
cp -P <CUDNN>/cuda/lib64/libcudnn* <CUDA>/lib64
chmod a+r <CUDA>/include/cudnn.h <CUDA>/lib64/libcudnn*
  1. Добавьте библиотеку в вашу среду. Обычно это делается добавлением следующих двух строк в файл ~/.bashrc (в данном примере каталог <CUDA> был ~/cuda9/:
export PATH=<CUDA>/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<CUDA>/lib64/

ДЛЯ БЫСТРОГО ИСПЫТАНИЯ ИЛИ ТЕНСОРНОГО ПОЛЬЗОВАТЕЛЯ

Самый быстрый способ получить TensorFlow-совместимость с CUDA9 и CUDNN7 (и очень быстрый способ проверить это) - это загрузить предварительно скомпилированный файл wheel и установить его с помощью pip install <WHEEL>. Большинство версий, которые вам нужны, можно найти в репозитории (большое спасибо, ребята). Минимальный тест, который подтверждает, что CUDNN также работает, включает использование tf.nn.conv2d:

import tensorflow as tf
x = tf.nn.conv2d(tf.ones([1,1,10,1]), tf.ones([1,5,1,1]), strides=[1, 1, 1, 1], padding='SAME')
with tf.Session() as sess:
    sess.run(x) # this should output a tensor of shape (1,1,10,1) with [3,4,5,5,5,5,5,5,4,3]

В моем случае, колесо, которое я установил, требовало библиотеку Intel MKL, как описано здесь. Опять же, с терминала и без root-пользователей, вот шаги, которые я выполнил, чтобы установить библиотеку и заставить TensorFlow найти ее (ссылка):

  1. git clone https://github.com/01org/mkl-dnn.git
  2. cd mkl-dnn/scripts && ./prepare_mkl.sh && cd ..
  3. mkdir -p build && cd build
  4. cmake -D CMAKE_INSTALL_PREFIX:PATH=<TARGET_DIR_IN_HOME> ..
  5. make # это занимает некоторое время
    1. make doc # сделать это по желанию, если у вас есть doxygen
  6. make test # также занимает некоторое время
  7. make install # installs into <TARGET_DIR_IN_HOME>
  8. добавьте в свой ~/.bashrc следующее: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<TARGET_DIR_IN_HOME>/lib

Надеюсь, это поможет!
Andres

Ответ 3

Вы можете установить с помощью conda с помощью следующей команды.

conda install -c anaconda cudatoolkit

Но вам необходимо иметь предварительный доступ к устройству (GPU).

РЕДАКТИРОВАТЬ: Если вы обнаружите ошибку в репозитории anaconda, измените репозиторий на conda-forge который часто обновляется.

conda install -c conda-forge cudatoolkit