Как узнать версию cuda
Перейти к содержимому

Как узнать версию cuda

  • автор:

Шпаргалка по установке CUDA, cuDNN, Tensorflow и PyTorch на Windows 10

Author's picture

В очередной раз после переустановки Windows осознал, что надо накатить драйвера, CUDA, cuDNN, Tensorflow/Keras для обучения нейронных сетей.

Каждый раз для меня это оказывается несложной, но времязатратной операцией: найти подходящую комбинацию Tensorflow/Keras, CUDA, cuDNN и Python несложно, но вспоминаю про эти зависимости только в тот момент, когда при импорте Tensorflow вижу, что видеокарта не обнаружена и начинаю поиск нужной страницы в документации Tensorflow.

В этот раз ситуация немного усложнилась. Помимо установки Tensorflow мне потребовалось установить PyTorch. Со своими зависимостями и поддерживаемыми версиями Python, CUDA и cuDNN.

По итогам нескольких часов экспериментов решил, что надо зафиксировать все полезные ссылки в одном посте для будущего меня.

Краткий алгоритм установки Tensorflow и PyTorch

Примечание: Установить Tensorflow и PyTorch можно в одном виртуальном окружении, но в статье этого алгоритма нет.

Подготовка к установке

  1. Определить какая версия Python поддерживается Tensorflow и PyTorch (на момент написания статьи мне не удалось установить PyTorch в виртуальном окружении с Python 3.9.5)
  2. Для выбранной версии Python найти подходящие версии Tensorflow и PyTorch
  3. Определить, какие версии CUDA поддерживают выбранные ранее версии Tensorflow и PyTorch
  4. Определить поддерживаемую версию cuDNN для Tensorflow – не все поддерживаемые CUDA версии cuDNN поддерживаются Tensorflow. Для PyTorch этой особенности не заметил

Установка CUDA и cuDNN

  1. Скачиваем подходящую версию CUDA и устанавливаем. Можно установить со всеми значениями по умолчанию
  2. Скачиваем cuDNN, подходящую для выбранной версии Tensorflow (п.1.2). Для скачивания cuDNN потребуется регистрация на сайте NVidia. “Установка” cuDNN заключается в распакове архива и заменой существующих файлов CUDA на файлы из архива

Устанавливаем Tensorflow

  1. Создаём виртуальное окружение для Tensorflow c выбранной версией Python. Назовём его, например, py38tf
  2. Переключаемся в окружение py38tf и устанавливаем поддерживаемую версию Tensorflow pip install tensorflow==x.x.x
  3. Проверяем поддержку GPU командой
python -c "import tensorflow as tf; print('CUDA available' if tf.config.list_physical_devices('GPU') else 'CUDA not available')" 

Устанавливаем PyTorch

  1. Создаём виртуальное окружение для PyTorch c выбранной версией Python. Назовём его, например, py38torch
  2. Переключаемся в окружение py38torch и устанавливаем поддерживаемую версию PyTorch
  3. Проверяем поддержку GPU командой
python -c "import torch; print('CUDA available' if torch.cuda.is_available() else 'CUDA not available')" 

В моём случае заработала комбинация:

  • Python 3.8.8
  • Драйвер NVidia 441.22
  • CUDA 10.1
  • cuDNN 7.6
  • Tensorflow 2.3.0
  • PyTorch 1.7.1+cu101

Tensorflow и PyTorch установлены в разных виртуальных окружениях.

Итого

Польза этой статьи будет понятна не скоро: систему переустанавливаю я не часто.

Если воспользуетесь этим алгоритмом и найдёте какие-то ошибки – пишите в комментарии

Если вам понравилась статья, то можете зайти в мой telegram-канал. В канал попадают небольшие заметки о Python, .NET, Go.

Как получить версию CUDA, установленную в Linux 1 мин для чтения

Как получить версию CUDA, установленную в Linux

C UDA — это язык программирования для графических процессоров NVIDIA. Он используется для ускорения сложных вычислений с использованием графических процессоров NVIDIA, то есть программ искусственного интеллекта.

В этой статье мы покажем вам, как найти версию CUDA, поддерживаемую драйверами графического процессора NVIDIA, установленными в Linux. Мы также покажем вам, как узнать номер версии CUDA, установленной на вашем компьютере с Linux.

Получение максимального поддерживаемого номера версии CUDA в Linux

Если вы хотите узнать версии CUDA, которые поддерживают установленные драйверы NVIDIA на вашем компьютере с Linux, откройте приложение «Терминал» и выполните следующую команду:

$ nvidia-smi

В данном выводе команды вы увидите номер версии драйвера NVIDIA, который вы установили на свой компьютер с Linux[1]. Вы также увидите максимальную версию CUDA, которую поддерживает установленная версия драйвера NVIDIA [2] .

В этом примере версия драйвера NVIDIA 525.105.17 поддерживает CUDA версии 12.0 или ниже.

Получение номера версии установленной CUDA в Linux

Чтобы узнать номер версии CUDA, установленной на вашем компьютере с Linux, откройте приложение «Терминал» и выполните следующую команду:

$ nvcc --version

Должен отображаться номер версии CUDA, установленной на вашем компьютере с Linux.

В этом примере версия CUDA, установленная на нашем компьютере с Ubuntu, — v11.5.119.

Заключение

Мы показали вам, как узнать версии CUDA, поддерживаемые текущими установленными драйверами графического процессора NVIDIA на вашем компьютере с Linux. Мы также показали вам, как узнать номер версии CUDA, установленной
на вашем компьютере с Linux.

Использованная литература:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

TensorFlow не видит Cuda

Пользуюсь JupyterNotebook из дистрибутива Anaconda. ОС — Windows 11. CUDA v11. CUDNN v8.7. Команда nvcc -V в PowerShell работает, выводит версию CUDA.

Отслеживать
задан 30 янв в 15:01
11 3 3 бронзовых знака

А посмотрите что внутри ноутбука выдаст !set , правильный ли там PATH ? И !python -V посмотрите, та ли версия питона запускается. В общем, посмотрите окружение из самого юпитер ноутбука, всё ли там нормально.

31 янв в 6:54

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Долго мучился с похожей проблемой. Переустановил всё что можно и CUDA, и Python, и библиотеки, и разные версии всего, что только можно. В итоге на одном сайте, нашёл информацию как проверить версию установленного драйвера CUDA https://russianblogs.com/article/8204984484/. Если кратко, то в трее двойным щелчком открываете настройки Nvidia

Скриншот трея

Затем в левом нижнем углу нажимаем информация о системе

Панель Nvidia

[

Переходим на вкладку Компоненты и смотрим версию драйвера CUDA

Версия драйвера CUDA

Поскольку я не так давно обновился, то отображается стоит 12.0. И видимо поэтому при установке более ранней CUDA tensorflow не запускался. После этого скачал и установил CUDA Toolkit 12.0 и tensorflow начал нормально видеть GPU.

Запуск кода CUDA на видеокартах AMD

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

В 2016 году AMD представила в буквальном смысле клон платформы CUDA — ROCm. Альтернативы модулей CUDA для ROCm можно увидеть в таблице с официального сайта AMD.

Таблица соответствия модулей платформ

Модуль платформы CUDA

Модуль платформы ROCm

Данная библиотека позволяет в автоматическом режиме переносить исходный код предназначенный для платформы CUDA на ROCm и выполнять его компиляцию. Одним из недостатков данной платформы является исключительная ориентированность на ОС Linux.

Перейдем непосредственно к переносу кода и сравнению производительности платформ.

Тестовая конфигурация

Windows 10 Pro 21H1

x2 Intel Xeon Gold 6132

GeForce RTX 3070 8GB

Radeon RX 6800 XT 16GB

1. Установка CUDA на ОС Windows

Переходим на сайт NVidia (https://developer.nvidia.com/cuda-downloads) и скачиваем последнюю версию CUDA Toolkit для необходимой платформы. На скриншоте ниже представлена минимально необходимая конфигурация для компиляции и запуска платформы CUDA на ОС Windows.

Минимально необходимая конфигурация установки

2. Установка ROCm на ОС Linux

Рассмотрим ход установки ROCm на ОС Ubuntu 22.04. (https://docs.amd.com/bundle/ROCm-Installation-Guide-v5.3/page/How_to_Install_ROCm.html — на данном веб-сайте перечислены способы установки для некоторых других дистрибутивов Linux)

2.1 Загружаем пакет установщика и устанавливаем его.

sudo apt-get update wget https://repo.radeon.com/amdgpu-install/5.3/ubuntu/jammy/amdgpu-install_5.3.50300-1_all.deb sudo apt-get install ./amdgpu-install_5.3.50300-1_all.deb

2.2 Установка необходимых компонентов ROCm

sudo amdgpu-install --usecase=dkms,rocm,rocmdevtools,lrt,hip,hiplibsdk,mllib,mlsdk

В процессе установки могут появиться ошибки, однако они никак не должны повлиять на работу платформы. На самом деле я на 100% не уверен, что это минимально необходимый набор модулей для установки, но путем проб и ошибок я пришел именно к этому набору.

2.3 Установка CUDA.

Для портирования кода CUDA на ROCm также необходимо установить CUDA Toolkit. Проще всего это сделать следующей командой. (Другие версии CUDA и методы установки можно найти на данной веб-странице https://developer.nvidia.com/cuda-downloads)

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run

Конфигурация установки CUDA

3. Компиляция исходного кода на ОС Windows

В качестве тестового примера возьмем код перемножения матриц случайных целых 32-битных чисел с Github (https://github.com/lzhengchun/matrix-cuda).

С помощью команд PowerShell представленных ниже скачиваем и компилируем исходные файлы. После выполнения приведенных ниже команд в директории с исходным кодом появится исполняемый файл «a.exe».

git clone https://github.com/lzhengchun/matrix-cuda cd matrix-cuda nvcc ./matrix_cuda.cu

4. Преобразование кода CUDA в код ROCm и его компиляция на ОС Ubuntu

Преобразование кода CUDA в ROCm выполняется при помощи утилиты платформы ROCm HIPIFY(от HIP — язык программирования платформы ROCm)

git clone https://github.com/lzhengchun/matrix-cuda cd matrix-cuda /opt/rocm-5.3.0/bin/hipify-clang matrix_cuda.cu

После выполнения данных команд в директории рядом с файлом matrix_cuda.cu появится файл matrix_cuda.cu.hip, который является файлом исходного кода для платформы ROCm.

Компиляция кода для платформы ROCm выполняется при помощи компилятора HIPCC. После выполнения приведенных ниже команд в директории с исходным кодом появится исполняемый файл «a.out».

/opt/rocm-5.3.0/bin/hipсс matrix_cuda.cu.hip

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *