Настройка Ubuntu 8.10 для кодинга под NVIDIA CUDA

Решил я всерьез заняться программированием распределенных вычислений с использованием этой технологии. Не буду подробно рассказывать, что она из себя представляет, скажу только, что CUDA предназначена для проведения распределенных вычислений не на процессоре, а на чипе видеокарты, что позволяет производить неграфические вычисления с феноменальной скоростью (производительность чипа GeForce 8800 GTX при математических расчетах примерно равна производительности 180(!)-ядерного Pentium 4 1,5 ГГц). В основном это используется для решения научных задач, вроде моделирования различных сложных систем. Кстати, данную технологию использует последняя версия Adobe Photoshop (CS4) — рендеринг картинок и многие эффекты обрабатываются именно с помощью CUDA. Технология поддерживается видеокартами на чипах NVIDIA начиная с 8 серии и новее, включая, само собой, Quadro и Tesla.
Сказано — сделано. Буду настраивать свою убунту под это дело, а заодно и о своем опыте расскажу 😉
Примечание:
1. Примеры для CUDA можно благополучно писать и компилировать даже на компьютере без поддерживаемой видеокарты, однако работать они будут раз в сто медленнее, чем при ее наличии.
2. Есть известная проблема — CUDA состоит в плохих отношениях с компилятором gcc-4.3, который по умолчанию установлен в Ubuntu 8.10, поэтому приходится откатываться на gcc-4.1. Подробности ниже 🙂
Начнем!
Для начала установим необходимые библиотеки.
$ sudo apt-get install linux-headers-`uname -r` binutils pkg-config build-essential xserver-xorg-dev libc-dev
Самое важное здесь — libc-dev, без ее наличия ничего работать не будет.
Отлично, продолжаем! Теперь настроим компилятор. Для начала скачаем gcc и g++ нужной нам версии (это важно — их версия должна быть одинаковой). Проще всего это сделать через Synaptic, отыскав там gcc-4.1 и g++-4.1, а можно и прописать в консоли:
$ sudo apt-get install gcc-4.1 g++-4.1
Нужно настроить систему на использование нужного нам компилятора (см АПД в конце!). Делается это до смешного просто:
$ sudo rm -d /usr/bin/gcc
$ sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc
$ sudo rm -d /usr/bin/g++
$ sudo ln -s /usr/bin/g++-4.1 /usr/bin/g++
Кстати, вернуть на место «старый» компилятор легко — достаточно заменить в приведенных командах 4.1 на 4.3.
Ну и, само собой, нам нужны сами компоненты CUDA — видеодрайвер, тулкит и SDK. Берем их с родного сайта. Систему указываем 8.04, все будет прекрасно работать и так.
Поскольку мы собираемся использовать последнюю версию — выбираем пакеты для 2.1:
1. CUDA Driver — NVIDIA-Linux-x86-180.06-pkg1.run
(Спасибо товарищу Frosty — недавно вышел драйвер версии 180.22, скачать его можно, естественно, с официального сайта. Процедура установки не отличается)
2. CUDA Toolkit — cuda-linux-rel-nightly-2.1.1635-3065709.run
3. CUDA SDK code samples — cuda-sdk-linux-2.10.1126.1520-3141441.run
Сохраняем их куда-нибудь на диск (желательно, чтобы путь к ним не содержал пробелов и символов кириллицы) и устанавливаем для всех трех пакетов chmod +x. Предварительный этап завершен!
Собственно установка.
Для начала надо поставить видеодрайвер. Ставится он стандартно:
$ sudo -s -H
# /etc/init.d/gdm stop
Жмем Ctrl+Alt+F1 и логинимся. Затем:
# sh NVIDIA-Linux-x86-180.06-pkg1.run
Нам предлагают скачать precompiled headers с сервера NVIDIA. Отказываемся.
Тогда нам предлагают скомпилировать их под наше ядро. Соглашаемся.
Ждем несколько секунд — и вуаля! Драйвер установлен.
Теперь можно снова запустить X-Server:
# /etc/init.d/gdm start
Теперь нужно немного подправить один файл:
$ sudo gedit /etc/default/linux-restricted-modules-common
там нужно исправить строчку на вот такую
DISABLED_MODULES=«nvidia nvidia_legacy nvidia_new»
Сохраняемся и ребутимся. Если же X-сервер не запустился, то можно просто восстановить конфигурационный файл:
$ sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf
и пересмотреть свои действия на предмет ошибки.
Отлично! Теперь установим оставшиеся два компонента:
$ sudo ./cuda-linux-rel-nightly-2.1.1635-3065709.run
$ sudo ./cuda-sdk-linux-2.10.1126.1520-3141441.run
Пути (в первом случае /usr/local/cuda и $HOME/NVIDIA_CUDA_SDK во втором) лучше оставить по умолчанию, во избежание.
Теперь немного поковыряем переменные окружения. Они в Ubuntu хранятся в /etc/environment. Нужно добавить в PATH:»/usr/local/cuda:/usr/local/cuda/bin». А потом осталось отредактировать один файл:
$ sudo gedit /etc/ld.so.conf
Добавляем в конец
# NVIDIA CUDA v2.1 support
/usr/local/cuda/lib
и набираем ldconfig:
$ sudo ldconfig
Все, можно начинать радоваться! Теперь идем в каталог SDK и пробуем собрать примеры.
$ cd ~/NVIDIA_CUDA_SDK
$ make
Кстати, не стоит забывать про параметры команды make. При компилировании кода под CUDA они могут быть такие:
— release configuration — make
— debug configuration — make dbg=1
— emurelease configuration — make emu=1
— emudebug configuration — make emu=1 dbg=1
Не забывайте, что если на вашем компьютере нету совместимой видеокарты — обязательно ставим параметр emu=1.
Вот, собственно, и все! Теперь, если все правильно собралось(если нет — перепроверьте, нужной ли версии gcc и g++), можно идти в каталог ~/NVIDIA_CUDA_SDK/bin/linux/release/ и наслаждаться примерами. Лично мне больше всего понравился fluidsGL.
Если есть какие-то недочеты — постараюсь исправить. Удачи!
АПД: Меня попросили сразу два товарища (3dm и timyr_lan) поправить способ смены дефолтного компилятора. Спасибо за поправку.
Корректнее делать вот так:
Прописать в ~/.bashrc или просто выставлять эти переменные перед компиляцией CUDA кода.
АПД2: Вариант нумбер 2, даже проще:
$ gedit ~/NVIDIA_CUDA_SDK/common/common.mk
# Compilers
NVCC := $(CUDA_INSTALL_PATH)/bin/nvcc.
CXX := g++-4.1
CC := gcc-4.1
LINK := g++-4.1 -fPIC
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.052 секунд. Запросов: 26.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Как проверить версию CUDA в Ubuntu 20.04 Focal Fossa Linux
Цель этого руководства — показать читателю, как проверить версию CUDA в Ubuntu 20.04 Focal Fossa Linux.
В этом уроке вы узнаете:
- Как проверить версию CUDA в Ubuntu

Как проверить версию CUDA в Ubuntu 20.04 Focal Fossa Linux
Как проверить версию CUDA в Ubuntu 20.04, пошаговые инструкции
Первый способ — проверить версию компилятора Nvidia CUDA nvcc . Для этого выполните:
$ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Wed_Oct_23_19:24:38_PDT_2019 Cuda compilation tools, release 10.2, V10.2.89
$ nvidia-smi Wed Jan 15 11:48:58 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 440.44 Driver Version: 440.44 CUDA Version: 10.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 106. Off | 00000000:01:00.0 On | N/A | | 24% 35C P8 6W / 120W | 330MiB / 6077MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1090 G /usr/lib/xorg/Xorg 18MiB | | 0 9782 G /usr/lib/xorg/Xorg 74MiB | | 0 10001 G /usr/bin/gnome-shell 113MiB | | 0 11724 G gnome-control-center 1MiB | +-----------------------------------------------------------------------------+
$ cat /usr/local/cuda/version.txt CUDA Version 10.2.89
$ dpkg -l | grep cuda-toolkit ii cuda-toolkit-10-2 10.2.89-1 amd64 CUDA Toolkit 10.2 meta-package
Как установить CUDA в Ubuntu 20.04 | Ubuntu 18.04
CUDA — это платформа параллельных вычислений и модель программирования, которая обеспечивает замечательное взаимодействие с пользователем при использовании GPU для повседневных вычислений общего назначения. CUDA расшифровывается как C ompute U nified D Evice A rchitecture. Он создан NVIDIA.
CUDA включает набор инструментов CUDA (компилятор, профиль и отладчик), драйвер программного обеспечения и CUDA SDK. Программный уровень предоставляет прямой доступ к виртуальному набору команд графического процессора и параллельным вычислительным элементам. Для исследований в области глубокого обучения и разработчиков фреймворков используйте cuDNN для высокопроизводительного ускорения графического процессора. Это библиотека примитивов для глубоких нейронных сетей.
В этом руководстве мы узнаем, как установить CUDA и CuDNN в Ubuntu 20.04 . Есть два способа сделать это. Вы можете установить CUDA из репозитория Ubuntu — что является наиболее простым подходом — или установить из репозитория CUDA, который предоставляет последнюю версию CUDA.
Предпосылки:
- Минимум 20 ГБ свободного дискового пространства
- Рекомендуется 2 ГБ ОЗУ
- Должен быть установлен графический драйвер NVIDIA. Драйвер, поставляемый с CUDA, может быть не последней версией.
Метод 1: установите CUDA из репозитория Ubuntu
Начните с обновления списков пакетов в вашем экземпляре Ubuntu 20.04.
$ sudo apt update
Затем установите набор инструментов CUDA с помощью диспетчера пакетов APT, как показано ниже. Обратите внимание, что установка является интенсивной, и поэтому убедитесь, что у вас есть быстрое и стабильное подключение к Интернету и минимум 10 ГБ дискового пространства.
$ sudo apt install nvidia-cuda-toolkit
После завершения установки нам нужно добавить CUDA в PATH, чтобы уведомить оболочку о местонахождении CUDA. Для этого мы укажем ПУТЬ в файле .bashrc. Итак, откройте файл с помощью текстового редактора командной строки.
$ sudo vim ~/.bashrc
В самом конце файла скопируйте и вставьте следующие строки кода.
# set PATH for cuda 10.1 installation if [ -d "/usr/local/cuda-10.1/bin/" ]; then export PATH=/usr/local/cuda-10.1/bin$> export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64$> fi
Затем перезагрузите изменения в файле .bashrc.
$ source ~/.bashrc
Теперь проверьте и подтвердите установленную версию CUDA, используя следующую команду.
$ nvcc --version

Метод 2: установить CUDA из репозитория CUDA
Как упоминалось ранее, репозиторий CUDA предоставляет последнюю версию CUDA. Итак, если вы собираетесь установить последнюю версию, следуйте приведенным здесь инструкциям.
Сначала загрузите пин-код репозитория CUDA:
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
Затем переместите булавку в /etc/preferences.d каталог и переименуйте ее как cuda-repository-pin-600 .
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
![]()
После этого загрузите файл CUDA Debian. Обратите внимание, что файл довольно большой — 2,3 ГБ, если быть точным на момент написания этого руководства. Убедитесь, что у вас хорошее подключение к Интернету и достаточно места на диске.
$ wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda-repo-ubuntu2004-11-4-local_11.4.2-470.57.02-1_amd64.deb
После загрузки используйте dpkg утилиту для выполнения файла.
sudo dpkg -i cuda-repo-ubuntu2004-11-4-local_11.4.2-470.57.02-1_amd64.deb
Затем установите ключ CUDA GPG следующим образом:
$ sudo apt-key add /var/cuda-repo-ubuntu2004-11-4-local/7fa2af80.pub
Наконец, обновите списки пакетов и установите CUDA с помощью диспетчера пакетов APT.
$ sudo apt update
$ sudo apt install cuda -y
Установить CuDNN

CuDNN не поставляется с Cuda. Чтобы загрузить CuDNN, вам необходимо зарегистрироваться, чтобы стать участником программы для разработчиков NVIDIA, которая является бесплатной.
После регистрации в программе для разработчиков NVIDIA вы можете скачать последнюю версию cuDNN. Здесь я загружаю библиотеку cuDNN для Linux.
Сначала извлеките пакет cuDNN:
$ tar -xzvf cudnn-10.2-linux-x64-v8.2.4.15.tgz
Затем скопируйте следующие файлы в каталог CUDA:
$ sudo cp cuda/include/cudnn*.h /usr/local/cuda/include $ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 $ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
Заключение
В этом руководстве мы узнали, как установить CUDA и cuDNN в Ubuntu 20.04. Спасибо за чтение, оставляйте свои отзывы и предложения.