Ваша видеокарта не поддерживает CUDA 9.0.
Поскольку я видел много вопросов, относящихся к таким проблемам, я пишу подробный ответ о том, как проверить, совместима ли ваша система с CUDA, специально предназначенная для использования PyTorch с поддержкой CUDA.
Системные требования для использования PyTorch с CUDA следующие:
- Ваша видеокарта должна поддерживать требуемую версию CUDA
- Ваша видеокарта драйвер должна поддерживать требуемую версию CUDA
- Двоичные файлы PyTorch должны быть построены с поддержкой вычислительных возможностей вашей видеокарты
Примечание : если вы устанавливаете предварительно собранные двоичные файлы (используя pip или conda), вам не необходимо установить инструментарий CUDA или среду выполнения в вашей системе перед установкой PyTorch с поддержкой CUDA. Это потому, что PyTorch, если он не скомпилирован из исходного кода, всегда поставляется с копией библиотеки CUDA.
1. Как проверить, поддерживает ли ваша видеокарта / видеокарта определенную версию CUDA
Сначала определите модель вашей видеокарты.
Прежде чем двигаться вперед, убедитесь, что у вас есть видеокарта NVidia. Видеокарты AMD и Intel не поддерживают CUDA .
NVidia не справляется с задачей предоставления информации о совместимости CUDA в одном месте. Лучшим ресурсом, вероятно, является этот раздел на странице Википедии CUDA . Чтобы определить, какие версии CUDA поддерживаются
- Найдите модель вашей видеокарты в большой таблице и запишите версию с возможностями вычислений. Например, вычислительная способность GeForce 820M составляет 2,1.
- . В списке маркеров, предшествующем таблице, проверьте, поддерживается ли требуемая версия CUDA вычислительными возможностями вашей видеокарты. Например, CUDA 9.2 не поддерживается для совместимости вычислений 2.1.
Если ваша карта не поддерживает требуемую версию CUDA, см. Параметры в разделе 4 этого ответа.
Примечание : вычислительные возможности относятся к вычислительным возможностям, поддерживаемым вашей видеокартой. Новые версии библиотеки CUDA опираются на новые аппаратные функции, поэтому нам необходимо определить вычислительные возможности, чтобы определить, какие версии CUDA поддерживаются.
2. Как проверить, поддерживает ли ваш графический процессор / графический драйвер определенную версию CUDA
Графический драйвер - это программное обеспечение, которое позволяет вашей операционной системе взаимодействовать с вашей видеокартой. Поскольку CUDA полагается на низкоуровневую связь с графической картой, вам необходим обновленный драйвер для использования последних версий CUDA.
Сначала убедитесь, что у вас установлен графический драйвер NVidia. ваша система. Вы можете приобрести новейший драйвер для вашей системы на веб-сайте NVidia .
Если вы установили последнюю версию драйвера, тогда ваш графический драйвер , вероятно, поддерживает все совместимые версии CUDA с вашей видеокартой (см. раздел 1). Для проверки вы можете проверить Таблицу 1 в примечаниях к выпуску CUDA . В редких случаях Я слышал о последних рекомендованных графических драйверах, не поддерживающих последние версии CUDA. Вы сможете обойти это, установив инструментарий CUDA для требуемой версии CUDA и выбрав опцию установки совместимых драйверов, хотя обычно это не требуется.
Если вы не можете или не можете Если вы хотите обновить графический драйвер, проверьте, поддерживает ли ваш текущий драйвер указанную c версию CUDA следующим образом:
Вкл. Windows
- Определите текущий версия графического драйвера (Источник https://www.nvidia.com/en-gb/drivers/drivers-faq/)
Щелкните правой кнопкой мыши на рабочем столе и выберите «Панель управления NVIDIA». В меню панели управления NVIDIA выберите «Справка»> «Информация о системе». Версия драйвера указана в верхней части окна Подробности. Для большего Опытные пользователи также могут получить номер версии драйвера из Windows Диспетчер устройств. Щелкните правой кнопкой мыши на графическом устройстве в разделе «Адаптеры дисплея» и выберите «Свойства». Выберите вкладку Драйвер и прочитайте версию драйвера. Последние 5 цифр - номер версии драйвера NVIDIA.
Ознакомьтесь с примечаниями к выпуску
CUDA и прокрутите вниз до таблицы 1. Используйте эту таблицу, чтобы убедиться, что ваш графический драйвер достаточно новый для поддержки требуемой версии CUDA.
Вкл. Linux / OS X
Запустите следующую команду в окне терминала
nvidia-smi
, что должно привести к чему-то вроде следующего:
Sat Apr 4 15:31:57 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| 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 RTX 206... Off | 00000000:01:00.0 On | N/A |
| 0% 35C P8 16W / 175W | 502MiB / 7974MiB | 1% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1138 G /usr/lib/xorg/Xorg 300MiB |
| 0 2550 G /usr/bin/compiz 189MiB |
| 0 5735 G /usr/lib/firefox/firefox 5MiB |
| 0 7073 G /usr/lib/firefox/firefox 5MiB |
+-----------------------------------------------------------------------------+
Driver Version: ###.##
- это ваш график c версия драйвера. В приведенном выше примере версия драйвера 435.21
.
CUDA Version: ##.#
- это последняя версия CUDA, поддерживаемая вашим графическим драйвером. В приведенном выше примере графический драйвер поддерживает CUDA 10.1 , а также все совместимые версии CUDA до 10.1 .
Примечание : CUDA Version
, отображаемый в этой таблице, не означает, что инструментарий CUDA или среда выполнения фактически установлены в вашей системе. Это просто указывает, с какими версиями CUDA совместим ваш графический драйвер.
Чтобы быть уверенным в том, что ваш драйвер поддерживает желаемую версию CUDA, вы можете обратиться к Таблице 1 на странице Примечания к выпуску CUDA .
3. Как проверить, совместима ли конкретная версия PyTorch с вашей вычислительной возможностью на GPU / видеокарте
Даже если ваша видеокарта поддерживает требуемую версию CUDA, возможно, что предварительно скомпилированные двоичные файлы PyTorch не были скомпилированы с поддержка ваших вычислительных возможностей. Например, в PyTorch 0.3.1 была прекращена поддержка вычислительных возможностей <= 5.0 </a>.
Сначала убедитесь, что ваша видеокарта и драйвер поддерживают требуемую версию CUDA (см. Разделы 1 и 2 выше) , информация в этом разделе предполагает, что это так.
Самый простой способ проверить, поддерживает ли PyTorch ваши вычислительные возможности, - это установить желаемую версию PyTorch с поддержкой CUDA. и запустите следующее из python интерпретатора
>>> import torch
>>> torch.zeros(1).cuda()
Если вы получите сообщение об ошибке, которое гласит
Found GPU0 XXXXX which is of cuda capability #.#.
PyTorch no longer supports this GPU because it is too old.
, то это означает, что PyTorch не был скомпилирован с поддержкой ваших вычислительных возможностей. Если это работает без проблем, то вы должны быть хороши к go.
4. Заключение
Если ваша видеокарта и драйвер поддерживают требуемую версию CUDA (раздел 1 и 2), но двоичные файлы PyTorch не поддерживают ваши вычислительные возможности (раздел 3), тогда вы можете выбрать
- Компиляция PyTorch из исходного кода с поддержкой ваших вычислительных возможностей (см. здесь )
- Установка PyTorch без поддержки CUDA (только для ЦП)
- Установка более старой версии бинарные файлы PyTorch, которые поддерживают ваши вычислительные возможности (не рекомендуется, так как PyTorch 0.3.1 очень устарел). Возможность вычислений AFAIK старше 3.X никогда не поддерживалась в готовых двоичных файлах
- Обновите вашу видеокарту
Если ваша видеокарта не поддерживает требуемую версию CUDA (раздел 1), тогда вы можете выбрать
- Установить PyTorch без поддержки CUDA (только для процессора)
- Установить более старую версию PyTorch, которая поддерживает версию CUDA, поддерживаемую вашей видеокартой ( может потребоваться компиляция из исходного кода, если двоичные файлы не поддерживают ваши вычислительные возможности)
- Обновите графическую карту