Cuda linux что это

Электрический блогнот

мои заметки на полях

Linux как установить CUDA

Установить CUDA (Compute Unified Device Architecture) библиотеки в Linux очень легко и в тоже время сложно. Казалось бы, что тут сложного, сделай какой-нибудь apt-get install cuda или yum install cuda и система на автомате все сама установит. Действительно, во многих случаях этого достаточно, но, как говорится, есть нюансы.

Так вот, чтобы использовать всю мощь вашей графической карты необходимо выполнение следующих условий:

  1. Наличие карты Nvidia (будем считать, что она уже есть);
  2. Установленные в системе драйвера от Nvidia (будем исходить из того, что тоже установлены);
  3. CUDA Toolkit, те самые библиотеки и программы, которые чаще всего для простоты называют CUDA (без Toolkit)

Вот пунктом номер 3 мы и будем заниматься в этой статье.
Все последующие шаги будут приведены для Ubuntu 18.04 (самая популярная система), но они так же подойдут и для других дистрибутивов Linux.

Предисловие

Устанавливать CUDA будем от обычного пользователя, в домашнюю папку. Я не сторонник установки в /usr/local таких вещей, которые часто приходится обновлять. Лучше поставить куда-нибудь в безопасное место, чтобы не запороть работающую систему. Например, /home/username/cuda подойдет отлично. Надоест эксперементировать с CUDA, просто удалите эту папку и все. И не надо заботиться, что какие-то зависимости нарушились в системе.

Шаг 1 — проверяем nvidia драйвер

Исходим из того, что Nvidia карточка у ва есть и nvidia драйвер установлен в систему и запущен.

Проверяем:
lsmod | grep -i nvidia
вывод должен быть похожим на следующий:

Далее определяем версию nvidia драйвера с помощью команды modinfo:

Есть еще один способ определить версию драйвера. Для этого воспользуемся утилитой nvidia-smi:

Nvidia-smi так же выдала версию 435.21.
Если nvidia-smi не будет в вашей системе, то пользуйтесь способом с modinfo.

Шаг 2 — качаем CUDA Toolkit

Между весрией Nvidia драйвера и версией CUDA Toolkit существует связь. Для определенной версии Nvidia драйвера нужно скачивать и устанавливать строго соответствующий пакет CUDA Toolkit, иначе ничего не получится. Опять же есть два способа определить версию CUDA Toolkit.

Первый способ:
идем на страницу cuda toolkit release notes и в таблице «Table 1. CUDA Toolkit and Compatible Driver Versions» ищем нужное соотвествие между версией драйвера и версией CUDA Toolkit:

Например, на моем ноуте установлен nvidia драйвер версии 435.21, значит мне подойдут все версии CUDA Toolkit кроме 10.2. Иными словами 10.1 включительно и ниже.
Если у вас драйвер версии 390, то CUDA Toolkit надо скачивать версии 9.1 и ниже.

Второй способ:
можно снова воспользоваться утилитой nvidia-smi:

здесь четко написано, для вашего драйвера нужна CUDA 10.1.

После того, как определились с версией CUDA Toolkit идем и скачиваем его со страницы:
https://developer.nvidia.com/cuda-toolkit-archive


Здесь выбираем:
Linux -> x86_64 -> Ubuntu -> 18.04 -> runfile (local)

После скачивания в директории для загрузок появится файл:
cuda_10.1.105_418.39_linux.run

Шаг 3 — устанавливаем CUDA Toolkit

Инсталлер скачан. Сделаем его исполняемым:

И сразу же запускаем:

Запускается долго (наверняка происходит самораспаковка).

После соглашения с EULA появляется экран:

Как видите здесь размечен драйвер, мы его устанавливать не будем, он уже в системе и запущен.

Далее наводи курсор на «CUDA Toolkit 10.1» и жмем букву «A», тем самым переходя к расширенным настройкам:

Здесь делаем неактивными все позиции, как на скриншоте и переходим в «Change Toolkit Installation Path» и вводим имя директории для установки:

в прцессе установки нужно будет еще ввести «Root install path» вводим туже саму директорию:

Когда установка завершится нужно будет дать системе знать куда установлена CUDA, для этого в файл

/.bashrc прописываем следующие строки:

На этом установка закончена.

Шаг 4 — Тест

Тестируем связку CUDA и драйвера Nvidia. Для этого воспользуемся примеры из устанвки CUDA.
Возьмем тест с частицами.

Как видно из рисунка, тест запустился и судя по выводу nvidia-smi на 24% нагружает видеокарту. Буковки C+G перед ./particles говорят о том, что задействованы и вычислительные (С) и графические (G) ресурсы видеокарты.

Читайте также:  Темы для windows 10 мотоцикл

Шаг 5 — устанавливаем cuDNN

Если вы планируете использовать CUDA в машинном обучении, то просто необходимо устанвить библиотеку cuDNN. Этабиблиотека позволяет максимально эффективно использовать мощности графического ускорителя при работе с нейронными сетями. Ставится cuDNN элементрано:
1) регистрируетесь;
2) скачиваете нужную версию (для каждой CUDA своя cuDNN);
3) распаковываете архив в папку куда установлена CUDA.

Выводы

В данной статье приведено описание способа установки CUDA библиотек в Linux в случае, когда графический драйвер уже установлен, а у пользователя нет прав администратора.

Источник

Установка CUDA в Ubuntu

Видеокарты уже давно перестали быть только устройствами, способными рисовать красивую графику в играх. Перед ними всё чаще ставят задачи, связанные со сложными математическими вычислениями, расчётами и искусственным интеллектом. Видеокарты намного лучше справляются с такими заданиями, чем обычные процессоры. Именно для того, чтобы обеспечить работу своих карт в этой сфере, NVIDIA выпустила платформу CUDA (Compute Unified Device Architecture).

В этой статье мы рассмотрим, как выполняется установка Cuda Ubuntu, как установить библиотеки и окружение для разработки, а также необходимую версию программы.

Что такое Nvidia CUDA

Архитектура CUDA позволяет разработчикам использовать вычислительные возможности видеокарт Nvidia для параллельных расчётов. Это очень сильно повышает производительность программ, которым нужно решать много однообразных задач. Одни из самых популярных способов применения CUDA — это майнинг криптовалюты, а также разработки в сфере искусственного интеллекта.

Платформа позволяет программистам самим управлять доступными инструкциями видеоускорителя, а также распределять память. Все программы пишутся на Си-подобном языке программирования.

Какую версию 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

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

Установка CUDA 9 в Ubuntu

Самая свежая на данный момент, как уже упоминалось, версия — Nvidia Cuda 9.0. Она включает некоторые алгоритмы для ускорения вычислений в приложениях AI и HPC на видеокартах NVIDIA Volta. Кроме того, были исправлены некоторые ошибки и проблемы платформы. Но для девятки нужен свежий драйвер Nvidia 384. Установить его вы можете с официального сайта.

Тут вам необходимо выбрать операционную систему, архитектуру и дистрибутив Linux, а в самом конце — способ установки (deb-пакет).

Только после этого появиться ссылка на установщик. Скачайте его, нажав кнопку Download 1.2 GB, и запустите установку с помощью dpkg:

Перед тем, как будет выполнена установка 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

Готово, теперь можете проверить версию:

Установка CUDA 6.5, 7 или другой версии

Для многих программ необходима определенная версия CUDA, например, многие майнеры были собраны только с версией 6.5, и поэтому вам нужно будет установить именно эти библиотеки, чтобы всё заработало. На сайте Nvidia есть архив со всеми предыдущими версиями платформы. Рассмотрим установку на примере версии 6.5. Первое, что вам нужно выбрать — версия:

Читайте также:  Установка windows по сети с сервера 2003

Затем выберите операционную систему Linux x86:

А дальше установочный deb-пакет для Ubuntu 14.04. Проверено на Ubuntu 17.10: установка работает. После загрузки пакета репозитория выполните:

sudo apt install

Далее обновите список пакетов:

sudo apt update

Осталась установка CUDA Ubuntu нужной вам версии:

sudo apt install nvidia-cuda-6.5

Поскольку программа размещается в /usr/local, нужно добавить путь к её папке в переменную среды PATH и LD_PRELOAD:

/.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» >>

Готово, после этого можно проверять версию:

Удаление 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 в видеокартах компании Nvidia

Видеокарты производства компании Nvidia пользуются заслуженной славой в области проведения надежных высокопроизводительных вычислений. Благодаря наличию аппаратных возможностей технологии CUDA, «зеленые карты» показывают отличные результаты и при майнинге на большинстве алгоритмов консенсуса PoW.

Рассмотрим подробнее некоторые особенности CUDA.

Что такое технология CUDA?

CUDA (Compute Unified Device Architecture) — это технология многопотоковых компьютерных вычислений, созданная компанией NVIDIA. Она позволяет значительно увеличить производительность при проведении сложных расчетов за счет распараллеливания на множестве вычислительных ядер.

Приложения CUDA используются для обработки видео и аудио, моделирования физических эффектов, в процессе разведки месторождений нефти и газа, проектировании различных изделий, медицинской визуализации и научных исследованиях, в разработке вакцин от болезней, в том числе COVID-19, физическом моделировании и других областях.

CUDA ™ — это архитектура параллельных вычислений общего назначения, которая позволяет решать сложные вычислительные задачи с помощью GPU. CUDA поддерживает операционные системы Linux и Windows. Чем больше ядер CUDA имеет видеокарта и чем больше частота их работы, тем большую производительность она может обеспечить.

Каждая дополнительна единица вычислительной мощности требует соответствующего количества потребленной электроэнергии. Чем меньший технологический процесс используется при производстве вычислительных ядер, тем меньшие напряжения используются для их питания и, соответственно снижается потребление. Поэтому, даже если видеокарты разных поколений имеют одинаковую теоретическую вычислительную мощность в TFlops, их эффективность кардинально отличается по КПД, в значительной мере зависящему от потребления полупроводниковых элементов, из которых состоят ядра видеопроцессоров.

Архитектура CUDA упрощенно включает набор исполняемых команд и аппаратный механизм проведения параллельных вычислений внутри графического процессора. Разработчики программного обеспечения, в том числе майнеров, для работы с CUDA обычно используют языки программирования высокого уровня (C, Фортран). В будущем в CUDA планируется добавление полноценной поддержки C ++, Java и Python. Продвинутые программисты дополнительно улучшают эффективность майнеров с помощью оптимизации кода майнеров на языке более низкого (машинного) уровня – Ассемблере. В качестве примера в этом контексте можно привести Клеймор дуал майнер, который показывает высочайшую эффективность на зеленых видеокартах.

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

Драйвер — это уровень абстракции устройств с поддержкой CUDA, который обеспечивает интерфейс доступа для аппаратных устройств. С помощью среды выполнения через этот уровень реализуется выполнение различных функций по проведению сложных вычислений.

Таблица версий CUDA, поддерживающихся в драйверах NVIDIA разных версий:

Версия CUDA Linux x86_64 Windows x86_64
CUDA 11.1 >=455.23 >=456.38
CUDA 11.0.3 Update 1 >= 450.51.06 >= 451.82
CUDA 11.0.2 GA >= 450.51.05 >= 451.48
CUDA 11.0.1 RC >= 450.36.06 >= 451.22
CUDA 10.2.89 >= 440.33 >= 441.22
CUDA 10.1 (10.1.105) >= 418.39 >= 418.96
CUDA 10.0.130 >= 410.48 >= 411.31
CUDA 9.2 (9.2.148 Update 1) >= 396.37 >= 398.26
CUDA 9.2 (9.2.88) >= 396.26 >= 397.44
CUDA 9.1 (9.1.85) >= 390.46 >= 391.29
CUDA 9.0 (9.0.76) >= 384.81 >= 385.54
CUDA 8.0 (8.0.61 GA2) >= 375.26 >= 376.51
CUDA 8.0 (8.0.44) >= 367.48 >= 369.30
CUDA 7.5 (7.5.16) >= 352.31 >= 353.66
CUDA 7.0 (7.0.28) >= 346.46 >= 347.62

Для CUDA 6.5 нужны драйвера 340.0+, для CUDA 6.0 — 331.00, для CUDA 5.5 — не ниже 319.00.

При установке новых драйверов на видеокарты со старой версией compute capability вычисления производиться не будут.

Например, на большинство видеокарт с архитектурой Kepler (GeForce 640 — 780Ti, 910M, GTX TITAN, compute capability 3.5) нет смысла ставить драйвера новее 441.22 (Windows) или 440.33 (Linux), так как в них отсутствует поддержка compute capability 3.x.

Информация, которую нужно учитывать при установке драйверов для видеокарт Nvidia на предмет соответствия версии compute capability CUDA:

  • CUDA SDK 1.0 — поддерживает версии compute capability 1.0 – 1.1 (Tesla);
  • CUDA SDK 1.1 — 1.0 — версии 1.1+x (Tesla);
  • CUDA SDK 2.0 — 1.0 — версии 1.1+x (Tesla);
  • CUDA SDK 2.1 – 2.3.1 — версии 1.0 – 1.3 (Tesla);
  • CUDA SDK 3.0 – 3.1 — 1.0 – версия 2.0 (Tesla, Fermi);
  • CUDA SDK 3.2 — версии 1.0 – 2.1 (Tesla, Fermi) [32]
  • CUDA SDK 4.0 – 4.2 — версии 1.0 – 2.1+x (Tesla, Fermi).
  • CUDA SDK 5.0 – 5.5 — версии 1.0 – 3.5 (Tesla, Fermi, Kepler).
  • CUDA SDK 6.0 — версии 1.0 – 3.5 (Tesla, Fermi, Kepler).
  • CUDA SDK 6.5 — версии 1.1 – 5.x (Tesla, Fermi, Kepler, Maxwell). Последняя версия CUDA для видеокарт с поддержкой компьютерных вычислений версии 1.x (Tesla)
  • CUDA SDK 7.0 – 7.5 — версии 2.0 – 5.x (Fermi, Kepler, Maxwell).
  • CUDA SDK 8.0 — для версий 2.0 – 6.x (Fermi, Kepler, Maxwell, Pascal). Последняя версия CUDA для видеокарт с поддержкой компьютерных вычислений версии 2.x (Fermi) (Pascal GTX 1070Ti не поддерживается);
  • CUDA SDK 9.0 – 9.2 — поддержка версий 3.0 – 7.2 (Kepler, Maxwell, Pascal, Volta). Видеокарты с архитектурой Pascal GTX 1070Ti не поддерживаются;
  • CUDA SDK 10.0 – 10.2 — поддержка 3.0 – 7.5 (Kepler, Maxwell, Pascal, Volta, Turing). Это последняя версия CUDA с поддержкой компьютерных вычислений версии 3.x (Kepler);
  • CUDA SDK 11.0 – 11.2- частично 3.5 – 8.6 (некоторые карты с архитектурой Kepler, Maxwell, Pascal, Volta, Turing, Ampere).

Библиотеки разработки (CUDA SDK) на практике реализуют выполнение математических операций и крупномасштабных задач параллельных вычислений.

Среда выполнения CUDA — это интерфейс разработчика плюс компоненты выполнения программного кода. Она определяет основные типы данных и функций для проведения вычислений, преобразований, управления памятью, позволяет реализовать доступ к устройствам и спланировать выполнение команд.

Программный код CUDA на практике обычно состоит из двух частей, одна из которых выполняется на CPU, а другая на GPU.

Ядро CUDA имеет три важных абстрактных понятия:

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

которые могут быть достаточно легко представлены и использованы на языке программирования Си.

Программный стек CUDA состоит из нескольких уровней, аппаратного драйвера, интерфейса прикладного программирования (API) и среды его выполнения, а также двух расширенных математических библиотек общего назначения, CUFFT и CUBLAS.

Теоретически каждое новое поколение CUDA должно демонстрировать более высокую производительность за счет устранения выявленных ошибок, оптимизации кода, добавления новых алгоритмов и прочих новшеств. К сожалению, на практике это не всегда соответствует реалиям. В особенности это связано с постоянным ростом аппетита программ по отношению аппаратным ресурсам. Это касается не только программных пакетов CUDA, но затрагивает даже такие, казалось бы, независимые операционные системы, как Linux.

Влияет ли на хешрейт версия CUDA, установленная на компьютере?

Практические опыты с майнерами на разных версиях CUDA показывают, что новые версии особого прироста в хешрейте не дают.

Использование новых драйверов Nvidia обычно сопряжено с увеличением требований к аппаратному обеспечению и часто влечет рост потребления видеопамяти, что не всегда положительно сказываются на производительности видеокарт при майнинге.

Это особенно проявляется в быстродействии и потреблении видеопамяти при майнинге на алгоритме Ethash/DaggerHashimoto. Как правило, старые версии драйверов потребляют меньше видеопамяти при одинаковой производительности на Ethash.

Для обычных пользователей нет необходимости заботиться о версии CUDA, если только этого не требуют последние версии майнеров с новыми поддерживающимися алгоритмами.

Тем не менее, нужно учитывать, что технология CUDA постоянно совершенствуется, в нее добавляются новые возможности, которые требуют адаптации программ-майнеров. Поэтому современные майнеры иногда имеют разные версии, которые поддерживают работу с разными версиями CUDA 8.0, 9.1/9.2, а также 10.0, 10.1 и 10.2.

Источник

Читайте также:  Как заново переустановит windows
Оцените статью