Видеокарты уже давно перестали быть только устройствами, способными рисовать красивую графику в играх. Перед ними всё чаще ставят задачи, связанные со сложными математическими вычислениями, расчётами и искусственным интеллектом. Видеокарты намного лучше справляются с такими заданиями, чем обычные процессоры. Именно для того, чтобы обеспечить работу своих карт в этой сфере, NVIDIA выпустила платформу CUDA (Compute Unified Device Architecture).
В этой статье мы рассмотрим, как выполняется установка Cuda Ubuntu, как установить библиотеки и окружение для разработки, а также необходимую версию программы.
Содержание статьи
- Что такое Nvidia CUDA
- Какую версию CUDA выбрать
- Установка CUDA из репозиториев Ubuntu
- Установка CUDA 9 в Ubuntu
- Установка CUDA 6.5, 7 или другой версии
- Удаление Cuda из Ubuntu
- Выводы
Что такое Nvidia CUDA
Архитектура CUDA позволяет разработчикам использовать вычислительные возможности видеокарт Nvidia для параллельных расчётов. Это очень сильно повышает производительность программ, которым нужно решать много однообразных задач. Одни из самых популярных способов применения CUDA - это майнинг криптовалюты, а также разработки в сфере искусственного интеллекта.
https://youtu.be/TDn_wnAcI8Y
Платформа позволяет программистам самим управлять доступными инструкциями видеоускорителя, а также распределять память. Все программы пишутся на Си-подобном языке программирования.
Какую версию CUDA выбрать
На данный момент самая свежая версия NVIDIA CUDA Ubuntu - девятая. Если вы собрались создавать собственное программное обеспечение на основе этой платформы, лучше всего начать с этой или восьмой версии. Но если вам нужно запустить в системе программу, которая уже собрана под определенный вариант CUDA, то вам придется ставить именно его. Потому что между более старыми и новыми вариациями есть серьезные отличия, и приложение может попросту не заработать. Попытайтесь запустить нужную вам программу и посмотрите, каких библиотек ей не хватает в сообщении об ошибке:
Или же эту информацию можно найти в описании программы. Обычно разработчики пишут, какая версия CUDA нужна для работы. А теперь давайте рассмотрим, как выполняется установка CUDA на Ubuntu 16.04, 17.10 и другие модификации этого дистрибутива.
Установка CUDA из репозиториев Ubuntu
Нужно отметить, что для успешной работы Nvidia, CUDA необходимо, чтобы уже был установлен драйвер NVIDIA. Сейчас в официальных репозиториях Ubuntu находится восьмая версия платформы. Вы можете без проблем её установить, выполнив всего несколько команд. Сначала обновите списки пакетов:
sudo apt update
Затем наберите такую команду, чтобы установить CUDA Ubuntu:
sudo apt install nvidia-cuda-toolkit
Если вам также нужны заголовочные файлы для разработки, то понадобится дополнительно установить пакет nvidia-cuda-dev:
sudo apt install nvidia-cuda-dev
Установка платформы может длиться достаточно много времени, поскольку все необходимые библиотеки занимают около одного гигабайта. После завершения установки вы можете проверить, всё ли работает, выполнив:
nvcc -v
Установка CUDA 9 в Ubuntu
Самая свежая на данный момент, как уже упоминалось, версия - Nvidia Cuda 9.0. Она включает некоторые алгоритмы для ускорения вычислений в приложениях AI и HPC на видеокартах NVIDIA Volta. Кроме того, были исправлены некоторые ошибки и проблемы платформы. Но для девятки нужен свежий драйвер Nvidia 384. Установить его вы можете с официального сайта.
Тут вам необходимо выбрать операционную систему, архитектуру и дистрибутив Linux, а в самом конце - способ установки (deb-пакет).
Только после этого появиться ссылка на установщик. Скачайте его, нажав кнопку Download 1.2 GB, и запустите установку с помощью dpkg:
sudo dpkg -i ~/Загрузки/cuda-repo-ubuntu1704-9-1-local_9.1.85-1_amd64.deb
Перед тем, как будет выполнена установка CUDA 9 Ubuntu, вам необходимо добавить ключ репозитория:
sudo apt-key add /var/cuda-repo-ubuntu1704-9-1-local_9.1.85-1/7fa2af80.pub
И обновить список пакетов:
sudo apt update
Затем можно установить CUDA 9 в Ubuntu:
sudo apt install cuda cuda-libraries-9.1
Готово, теперь можете проверить версию:
nvcc -v
Установка CUDA 6.5, 7 или другой версии
Для многих программ необходима определенная версия CUDA, например, многие майнеры были собраны только с версией 6.5, и поэтому вам нужно будет установить именно эти библиотеки, чтобы всё заработало. На сайте Nvidia есть архив со всеми предыдущими версиями платформы. Рассмотрим установку на примере версии 6.5. Первое, что вам нужно выбрать - версия:
Затем выберите операционную систему Linux x86:
А дальше установочный deb-пакет для Ubuntu 14.04. Проверено на Ubuntu 17.10: установка работает. После загрузки пакета репозитория выполните:
sudo apt install ~/Загрузки/cuda-repo-ubuntu1404_6.5-14_amd64.deb
Далее обновите список пакетов:
sudo apt update
Осталась установка CUDA Ubuntu нужной вам версии:
sudo apt install nvidia-cuda-6.5
Поскольку программа размещается в /usr/local, нужно добавить путь к её папке в переменную среды PATH и LD_PRELOAD:
echo "" >> ~/.bashrc
echo "export PATH=/usr/local/cuda-6.5/bin:$PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
Готово, после этого можно проверять версию:
nvcc -v
Удаление Cuda из Ubuntu
Удалить Nvidia CUDA вы можете также, как и устанавливали. Еесли вы ставили nvidia-cuda-toolkit, то для удаления достаточно набрать:
sudo apt purge nvidia-cuda-toolkit
Или для версии 6.5:
sudo apt purge nvidia-cuda-toolkit-6.5
Также не забудьте удалить репозиторий:
sudo apt purge cuda-repo-ubuntu1404
Имя пакета может отличаться в зависимости от версии. Если вы выполняли установку с помощью бинарного файла или из исходников, то для удаления нужно использовать скрипт, который вы применяли при инсталляции.
Выводы
В этой небольшой статье мы рассмотрели, как выполняется установка CUDA Ubuntu 17.10 и в других версиях этой операционной системы. Как видите, это не так сложно, и вы можете установить не только последнюю версию, но и ту, которая вам нужна.
Что лучше, CUDA или OpencCL?
Это одно и то же. CUDA модификация под архитектуру Nvidia OpenCL.
И почему при компиляции net-wireless/pyrit можно поставить только USE-флаг "opencl", хотя "cuda" тоже присутствует в списке возможных?
Только КУДА CUDA в линуксе применить, вариантов мало для обычного пользователя.
К примеру поддержка в blender, а в avidemux то же есть, но не работает, ни как (задействует мощности процессора).
Для винды, поболее оптимизированных под CUDA программ будет (перебор паролей, некоторые медиаплееры и т.д.
Может кто знает и продолжит (расширит) список программ под cuda в Линуксе.
Нейросети
Исправьте nvcc -V
А то копипаст не проходит)
Огромное количество научного софта, например.