Как стать автором
Обновить

Как подружить PyTorch и видеокарты AMD с помощью pytorch_dlprim

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров6.3K
Всего голосов 39: ↑39 и ↓0+54
Комментарии4

Комментарии 4

Хорошо бы наработки попали в основной проект.

Но ROCm поддерживает очень мало видеокарт AMD. И только под Linux.

Не то чтобы это важно, но не так уж и мало, включая частичную поддержку даже rx 470/580. Но, конечно, не без бубнов для некоторых моделей. И для версии ROCm 5.7, которой достаточно. Не обязательно иметь именно 6.2, когда под рукой есть AMD карта и хочется с ней что-то ускорить.

Под Linux, например, для rx 6600/6700 нужно прописывать перед запуском скрипта:
export HSA_OVERRIDE_GFX_VERSION=10.3.0
Для rx 470/580:
export HSA_OVERRIDE_GFX_VERSION=8.0.3

На Windows есть ZLUDA, которая транслирует вызовы CUDA в ROCm для Windows. Для 6800 и выше это заведется само, а для моделей ниже нужно взять скомпилированные ROCmLibs отсюда: https://github.com/brknsoul/ROCmLibs

Можно использовать как с pytorch, заменяя библиотеки вручную, и работать как будто бы работа идут с CUDA, но замененные библиотеки будут ссылаться на ROCm, либо запускать вот так:
.\zluda.exe "C:\Program Files\Blender Foundation\Blender 4.0\blender.exe"

Но pytorch_dlprim конечно, удобнее, если он не требует ничего делать, хоть и OpenCL не самое быстрое из возможных решений.

Спасибо за ценный комментарий.

Есть где-то полный список этих HSA_OVERRIDE?

Пока нашёл частичный тут.

Под ROCm под Windows вы имеете ввиду HIP SDK?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий