Установка Nvidia CUDA toolkit на Ubuntu 12.04 x64

в 8:40, , рубрики: ubuntu 12.04, Песочница, метки:

Доброго времени сутоке, в этом посте я попытаюсь наглядно объяснить про установку Nvidia CUDA toolkit на Ubuntu 12.04 x64. Начну с того, что меня сподвигло написать данный пост. Совсем недавно мне потребовалось установить Nvidia CUDA toolkit себе на домашний компьютер.image Почитав добрую часть мануалов по установке, при чем не только на русском языке, я решил, что установить пакет от Nvidia будет проще пареной репы, но вот тут я ошибался. Большинство мануалов заточено под старые версии убунты, кроме того, зачастую в них отсутствуют некие изюминки установки, что рано или поздно приводит читателя в тупик. И так кто заинтересовался — милости прошу под кат…

Разобьем установку на несколько этапов:
1) Загрузка необходимых программных компонентов.
2) Подготовка к установке.
3) Установка драйвера, тулкита и сдк.
4) Настройка системы после установки.
5) Компиляция и запуск примеров для проверки работоспособности.

Этап 1 — Загрузка необходимых программных компонентов.

Думаю глупо рассказывать людям читающим этот пост зачем нужна технология CUDA, т.к. если уж вы его читаете, то определились для чего она вам нужна. Т.к. технология CUDA существует только на графических карточках Nvidia, потребуется карточка данного производителя. С перечнем карточек поддерживающими технологию CUDA можно ознакомится на официальном сайте Nvidia — developer.nvidia.com/cuda-gpus. Точкой отсчета в десктопном сегменте можно считать GeForce 8100 mGPU, а соответственно в ноутбучном — GeForce 8400M GT. Так с карточкой разобрались. Теперь необходимо перейти на сайт developer.nvidia.com/ и выбрать графу «Cuda Download» (рис 1).

image Рис. 1. Главная страница Developer.nvidia.com.

Сразу после перехода по ссылке «Cuda Download», мы попадаем на страницу загрузки ПО. Т.к. Ubuntu 12.04 вышла относительно недавно, на сайте до сих пор висит ПО для предыдущих стабильных версий, а именно 11.04 и 10.04. При установке на свой пк я выбирал 11.04 х64. С остальными компонентами интуитивно понятно — в зависимости от версии дистрибутива выбираем корректный продукт и скачиваем (рис 2).

image Рис. 2. ПО для инсталяции.

В результате в выбранной папке(у меня это Downloads) должно лежать 3 файла (рис 3):
1) cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
2) devdriver_4.2_linux_64_295.41.run
3) gpucomputingsdk_4.2.9_linux.run

image Рис. 3. Просматриваем папку со скаченными файлами.

Этап 2 — Подготовка к установке

Собственно вся проблема при установке заключается в девелоперском драйвере Nvidia который необходимо установить, его и будем устанавливать первым. Для начала необходимо добавить в blacklist свободные драйвера. Открываем любым текстовым редактором blacklist (в моем случае gedit), в терминале(рис 4):

sudo gedit /etc/modprobe.d/blacklist.conf

и добавляем в самый конец blacklist'a следующие строчки:

blacklist amd76x_edac #как правило данная строчка уже добавлена, считайте ее за ориентир.
blacklist vga16fb
blacklist nouveau
blacklist lbm-nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv 

image
Рис. 4. Редактируем blacklist.

Сохраняем его и закрываем до лучших времен. После этого можете пробовать ставить драйвер. Но перед этим необходимо избавиться от разного рода мусора который оставляют старые драйвера, в терминале вводим:

sudo apt-get remove --purge nvidia*

После того как операция завершилась, необходимо перезагрузить пк:

sudo reboot

Но тут стоит заметить интересную вещь, что проделанные выше манипуляции не отключают драйвер nouveau, а на чистой системе именно он мешает поставить CUDA драйвер, соответственно нам необходимо опять вооружиться текстовым редактором и сделать следующие (рис 5):

sudo gedit /etc/modprobe.d/nvidia-graphics-drivers.conf

открываем данный файл и добавляем в него следующее:

blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off

image
Рис. 5. Редактируем nvidia-graphics-drivers.conf.

Этап 3 — Установка драйвера, тулкита и сдк.

Данный этап покажет насколько правильно вы все сделали. И так, мы загрузились до момента выбора пользователя и ввода пароля (так называемый login screen). Именно на login screen'e нажимаем комбинацию клавиш:

ctrl + alt + F1

Попадаем в консольный режим. Необходимо залогиниться и перейти в папку со скаченными ранее программными продуктами Nvidia, а так же отключить gdm или lightdm для установки CUDA драйвера, после этого необходимо поменять права доступа для нашего драйвера и непосредственно его установить:

cd Downloads
sudo service lightdm stop
#или
sudo service gdm stop
chmod +x devdriver_4.2_linux_64_295.41.run
sudo ./devdriver_4.2_linux_64_295.41.run

Далее все просто, нажимаем «Accept» и установка началась. По ходу установки у вас спросят нужно ли установить OpenGL библиотеки — дело, как говорится хозяйское. Далее система оповестит вас об успешном установке CUDA драйвера. Необходимо снова перезагрузить систему. После перезагрузки следует установить оставшиеся компоненты, а именно cudatoolkit_4.2.9_linux_64_ubuntu11.04.run и gpucomputingsdk_4.2.9_linux.run, переходим в папку со скаченными файлами и устанавливаем нужные компоненты:

cd Downloads
sudo ./cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
sudo ./gpucomputingsdk_4.2.9_linux.run

Тут можно отметить, что при установке программа попросит указать разного рода пути, собственно заморачиваться не стоит — при возникновении данной ситуации просто нажимаем «Enter».

Этап 4 — Настройка системы после установки.
Далее необходимо настроить систему, для этого в терминале вводим:

export PATH=/usr/local/cuda/bin:$PATH &&export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc && echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc

Ууууф ну вроде все, система настроена. Дело осталось за малым, переходим к пятому этапу.

Этап 5 — Компиляция и запуск примеров для проверки работоспособности.

Теперь необходимо лишь скомпилировать примеры и окончательно проверить работоспособность. Для этого в терминале вводим:

cd ~/NVIDIA_GPU_Computing_SDK/C 
make

При сборке примеров могут возникнуть ошибки, ну собственно тогда необходимо запустить утилиту «make» под рутом и опять попробовать собрать или же запустить утилиту make c флагом -k:

make -k

И так кульминация, осталось запустить какой либо из скомпилированных примеров, в терминале вводим (рис 6):

cd ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release
./deviceQuery

image
Рис. 6. Результат запуска программы «deviceQuery».

Ну вот в общем-то и все, что я хотел рассказать про настройку CUDA toolkit'a. Прошу строго не судить, т.к. это мой первый пост на хабре, старался делать все основательно. Надеюсь, данный пост поможет кому-то в настройке CUDA toolkit'a. Спасибо за внимание.

Автор: Relaps

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js