Ответ 1
Вы можете установить 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?
Спасибо,
Вы можете установить CUDA и компилировать программы, но вы не сможете запускать их из-за отсутствия доступа к устройствам.
Обновление Пользовательский интерфейс установки для 10.1
изменен. Следующие работы:
ENTER
на нем)options -> root install path
на каталог не-sudo.A
в строке, отмеченной +
, чтобы получить доступ к дополнительным параметрам. Отмените выбор create symbolic link
и измените toolkit install path
.Большое спасибо за подсказки в вопросе! Я просто хочу дополнить его подходом, который работал для меня, также вдохновлен этой сущностью и, надеюсь, поможет в ситуациях, когда установлен действительный драйвер, и установке более поздней версии CUDA в Linux без root-права все еще нужны.
TL; DR: Вот шаги по установке CUDA9 + CUDNN7 в Debian и установке предварительно скомпилированной версии TensorFlow1.4 на Python2.7, чтобы проверить, что все работает. Все без рут прав и через терминал. Также должно работать на других версиях CUDA, CUDNN, TensorFlow и Python на других системах Linux.
Посетите веб-сайт официального релиза NVIDIA для CUDA (по состоянию на ноябрь 2017 года CUDA9 вышла): https://developer.nvidia.com/cuda-downloads.
Под вашим дистрибутивом Linux выберите опцию runfile (local)
. Обратите внимание, что указание sudo
в инструкциях по установке обманчиво, так как можно запустить этот установщик без прав root. На сервере одним из простых способов является копирование <LINK>
кнопки Download
и в любом месте вашего домашнего каталога запустите wget <LINK>
. Он загрузит файл <INSTALLER>
.
Запустите chmod +x <INSTALLER>
, чтобы сделать его исполняемым, и выполните его ./<INSTALLER>
.
accept
EULA, скажите no
для установки драйвера и введите местоположение <CUDA>
в вашем домашнем каталоге для установки инструментария и <CUDASAMPLES>
для примеров.
Здесь не спрашивается, но рекомендуется: Загрузите совместимый файл CUDNN с официального веб-сайта (вам необходимо войти в систему). В моем случае я загрузил cudnn-9.0-linux-x64-v7.tgz
, совместимый с CUDA9, в папку <CUDNN>
. Распакуйте его: tar -xzvf ...
.
Необязательно: скомпилируйте образцы. cd <CUDASAMPLES> && make
. Там есть несколько очень хороших примеров и очень хорошая отправная точка для написания собственных сценариев CUDA.
(Если вы сделали 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*
~/.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 найти ее (ссылка):
git clone https://github.com/01org/mkl-dnn.git
cd mkl-dnn/scripts && ./prepare_mkl.sh && cd ..
mkdir -p build && cd build
cmake -D CMAKE_INSTALL_PREFIX:PATH=<TARGET_DIR_IN_HOME> ..
make
# это занимает некоторое время
make doc
# сделать это по желанию, если у вас есть doxygen
make test
# также занимает некоторое времяmake install # installs into <TARGET_DIR_IN_HOME>
~/.bashrc
следующее: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<TARGET_DIR_IN_HOME>/lib
Надеюсь, это поможет!
Andres
Вы можете установить с помощью conda с помощью следующей команды.
conda install -c anaconda cudatoolkit
Но вам необходимо иметь предварительный доступ к устройству (GPU).
РЕДАКТИРОВАТЬ: Если вы обнаружите ошибку в репозитории anaconda, измените репозиторий на conda-forge
который часто обновляется.
conda install -c conda-forge cudatoolkit