Cuda toolkit for linux

Enabling GPU acceleration on Ubuntu on WSL2 with the NVIDIA CUDA Platform

While WSL’s default setup allows you to develop cross-platform applications without leaving Windows, enabling GPU acceleration inside WSL provides users with direct access to the hardware. This provides support for GPU-accelerated AI/ML training and the ability to develop and test applications built on top of technologies, such as OpenVINO, OpenGL, and CUDA that target Ubuntu while staying on Windows.

What you will learn:

  • How to install a Windows graphical device driver compatible with WSL2
  • How to install the NVIDIA CUDA toolkit for WSL 2 on Ubuntu
  • How to compile and run a sample CUDA application on Ubuntu on WSL2

What you will need:

  • A Windows 10 version 21H2 or newer physical machine equipped with an NVIDIA graphics card and administrative permission to be able to install device drivers
  • Ubuntu on WSL2 previously installed
  • Familiarity with Linux command line utilities and interacting with Ubuntu on WSL2

Note: If you need more introductory topics, such as how to install Ubuntu on WSL, refer to previous tutorials that can be found here for Windows 11 and here for Windows 10.

Prerequisites

The following steps assume a specific hardware configuration. Although the concepts are essentially the same for other architectures, different hardware configurations will require the appropriate graphics drivers and CUDA toolkit.

Make sure the following prerequisites are met before moving forward:

  • A physical machine with Windows 10 version 21H2 or higher
  • NVIDIA’s graphic card
  • Ubuntu 20.04 or higher installed on WSL 2
  • Broadband internet connection able to download a few GB of data

2. Install the appropriate Windows vGPU driver for WSL

Specific drivers are needed to enable use of a virtual GPU, which is how Ubuntu applications are able to access your GPU hardware, so you’ll need to follow this step even if your system drivers are up-to-date.

Please refer to the official WSL documentation for up-to-date links matching your specific GPU vendor. You can find these in Install support for Linux GUI apps > Prerequisites . For this example, we will download the NVIDIA GPU Driver for WSL.

Note: This is the only device driver you’ll need to install. Do not install any display driver on Ubuntu.

Once downloaded, double-click on the executable file and click Yes to allow the program to make changes to your computer.

Читайте также:  Как распаковать run linux

Confirm the default directory and allow the self-extraction process to proceed.

A splash screen appears with the driver version number and quickly turns into the main installer window. Read and accept the license terms to continue.

Confirm the wizard defaults by clicking Next and wait until the end of the installation. You might be prompted to restart your computer.

This step ends with a screen similar to the image below.

3. Install NVIDIA CUDA on Ubuntu

Normally, CUDA toolkit for Linux will have the device driver for the GPU packaged with it. On WSL 2, the CUDA driver used is part of the Windows driver installed on the system, and, therefore, care must be taken not to install this Linux driver as previously mentioned.

Then setup the appropriate package for Ubuntu WSL:

sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600

sudo apt-key adv —fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/3bf863cc.pub

sudo add-apt-repository ‘deb https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ /’

Once complete, you should see a series of outputs that end in done.:

Congratulations! You should have a working installation of CUDA by now. Let’s test it in the next step.

4. Compile a sample application

NVidia provides an open source repository on GitHub with samples for CUDA Developers to explore the features available in the CUDA Toolkit. Building one of these is a great way to test your CUDA installation. Let’s choose the simplest one just to validate that our installation works.

Let’s say you have a ~/Dev/ directory where you usually put your working projects. Navigate inside the directory and git clone the cuda-samples repository:

git clone https://github.com/nvidia/cuda-samples

To build the application, go to the cloned repository directory and type make:

A successful build will look like the screenshot below. Once complete, run the application:

You should see a similar output to the following detailing the functionality of your CUDA setup (the exact results depend on your hardware setup):

5. Enjoy Ubuntu on WSL!

That’s all folks! In this tutorial, we’ve shown you how to enable GPU acceleration on Ubuntu on WSL 2 and demonstrated its functionality with the NVIDIA CUDA toolkit, from installation through to compiling and running a sample application.

We hope you enjoy using Ubuntu inside WSL for your Data Science projects. Don’t forget to check out our blog for the latest news on all things Ubuntu.

Further Reading

Источник

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

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

Но перед этим давайте вкратце разберемся, что такое CUDA и зачем это вообще все надо.
Технологию CUDA придумали в Nvidia — это их разработка. В AMD Radeon’ах CUD’ы нет. Если грубо то видеокартах Nvidia есть вычислительные ядра (cores). Можно сказать маленькие процессоры. Эти ядра умеют считать, как и обычные процессоры CPU, но делают это немножко по другому. Если кратко, то они могут складывать несколько чисел одновременно. Поэтому получается быстро. Этих ядер в видеокарте много. Очень много. Количество nvidia cores можно подсмотреть командой: nvidia-settings -q CUDACores -t . Например в GeForce 840m (древняя дешевая ноутбучная видюха) 384 ядра. Так почему бы эти ядра задействовать не только для игр, но и для других полезных дел. Например, майнить биткоины или подбирать забытый пароль для архива (шутка).
На следующей картинке схематично изображен чип видеокарты NVidia. С блоками nvenc и nvdec мы уже разобрались в статье по ускорению конвертации видео из одного формата в другой с помощью ffmpeg. И научились использовать мощь видеокарты в ffmpeg. Теперь настала очередь CUDA ядер. Чего зря простаивают. Будем использовать их на всю катушку.

Читайте также:  Linux как посмотреть количество ядер

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

  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 драйвер установлен в систему и запущен.

lspci | grep -i nvidia 04:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 840M] (rev a2)

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

lsmod | grep -i nvidia nvidia_uvm 880640 0 nvidia_drm 45056 4 nvidia_modeset 1118208 2 nvidia_drm nvidia 19472384 88 nvidia_uvm,nvidia_modeset ipmi_msghandler 53248 2 ipmi_devintf,nvidia drm_kms_helper 172032 2 nvidia_drm,i915 drm 401408 7 drm_kms_helper,nvidia_drm,i915

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

modinfo nvidia| grep -i "^version" version: 435.21

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

nvidia-smi | grep -i "driver version" | NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1 |

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

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

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

Читайте также:  Посмотреть свойства процессора linux

Первый способ:
идем на страницу 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:

nvidia-smi | grep -i "driver version" | NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1 |

здесь четко написано, для вашего драйвера нужна 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

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

chmod +x cuda_10.1.105_418.39_linux.run
./cuda_10.1.105_418.39_linux.run

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

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

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

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

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

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

Когда установка завершится нужно будет дать системе знать куда установлена CUDA, для этого в файл ~/.bashrc прописываем следующие строки:

export PATH=/home/username/cuda/bin:$PATH export LD_LIBRARY_PATH=/home/username/cuda/lib64:$LD_LIBRARY_PATH

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

Шаг 4 — Тест

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

Sample: particles Minimum spec: SM 3.0 This sample uses CUDA to simulate and visualize a large set of particles and their physical interaction. Adding "-particles EnlighterJSRAW" data-enlighter-language="null"> cd /home/username/cuda/samples/5_Simulations/particles make

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

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

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

Выводы

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

Источник

Оцените статью
Adblock
detector