ROCm - платформа с открытым исходным кодом для высокопроизводительных вычислений и сверхмасштабных вычислений на GPU.
Открытая реализация OpenCL
Создать файл репозитория
1 | sudo tee /etc/zypp/repos.d/rocm.repo <<EOF |
Теперь можно приступать к установке пакетов
ВАЖНО!!! для пользователей openSUSE Tumbleweed!!!
C недавних пор директория /usr/lib/
переехала в другое место /usr/libexec
dkms устанавливает скрипты уже в новую директорию, но пакеты собраны для leap где расположение скриптов осталось в старой директории
соотвественно при выполнении pre
и post
скриплетов из пакета необходимые скрипты не могут быть найдены, по этому я пересобрал пакет dkms
с нужными путями. Но тут есть одно большое НО, я не знаю отработают ли скриплеты из других dkms модулей если они есть у кого то в системе, по этому сначала проверьте
наличие установки других dkms модулей в системе, например у кого что может быть установлен WiFi модуль при помощи dkms. Если таковых нет, то можно продолжать установку.
1 | sudo zypper ar -f obs://home:Dead_Mozay:dkms home:Dead_Mozay:dkms |
1 | sudo zypper dup --from home:Dead_Mozay:dkms --allow-vendor-change |
если не установлен
1 | sudo zypper install dkms |
Запустим демон dkms
1 | sudo systemctl enable --now dkms |
1 | sudo zypper install rocm-dkms rocm-opencl hip-base |
на ошибку
1 | Проблема: ничто не предоставляет libffi.so.7()(64bit), необходимый для openmp-extras-12.41.0.40100-sles152.26.x86_64 |
отвечаем 2
Установка займет довольно продолжительное время, объем загружаемых пакетов 2 Гб.
Проверить модуль можно командой
1 | sudo dkms status |
Если видите
1 | amdgpu, 4.1-26.el7: added |
Значит все ОК
Далее нужно поправить шебанг у скрипта rocm_agent_enumerator
Выполняем в терминале
1 | sudo sed -i 's/^#!.*/#!\/usr\/bin\/python3/' /opt/rocm-4.1.0/bin/rocm_agent_enumerator |
Так же желательно указать корректный путь к библиотеке libamdocl64.so
в файле amdocl64_40100.icd
Открываем любым удобным способом
Например:
1 | sudoedit /etc/OpenCL/vendors/amdocl64_40100.icd |
и указываем корректный путь
1 | /opt/rocm-4.1.0/opencl/lib/libamdocl64.so |
Еще нужно созать rocm профиль с переменными, создаем скрипт
1 | sudo vim /etc/profile.d/rocm.sh |
c таким содержимым
1 | export PATH=$PATH:/opt/rocm-4.1.0/opencl/bin |
Пеоезагружаем ПК.
Для проверки работоспособности можно использовать утилиту hashcat
1 | sudo zypper install hashcat |
Запускаем бенчмарк
1 | hashcat -b |
Если тест прошел успешно, значит все работает.
Или утилитой rocminfo
первой же строкой должна быть
1 | ROCk module is loaded |
Blender пока не работает с OpenCL