Не удалось установить ROCm на Ubuntu 20.04

Я хочу настроить AMD Radeon для глубокого обучения в Ubuntu. Основные библиотеки для моей работы - keras и pytorch. Я строго следовал руководству по установке ROCm здесь, но не смог выполнить 3-й шаг с помощью команды sudo apt install rocm-dkms. Сообщения об ошибках отображались следующим образом.

      Setting up dkms (2.8.1-5ubuntu1) ...
Setting up hip-rocclr (4.0.20496.5685.40000-23) ...
Setting up rock-dkms (1:4.0-23) ...
Loading new amdgpu-4.0-23 DKMS files...
Building for 5.8.0-41-generic
Building for architecture x86_64
Building initial module for 5.8.0-41-generic
Error! Bad return status for module build on kernel: 5.8.0-41-generic (x86_64)
Consult /var/lib/dkms/amdgpu/4.0-23/build/make.log for more information.
dpkg: error processing package rock-dkms (--configure):
 installed rock-dkms package post-installation script subprocess returned error 
exit status 10
Setting up g++-9 (9.3.0-17ubuntu1~20.04) ...
Setting up g++ (4:9.3.0-1ubuntu2) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mo
de
Setting up build-essential (12.8ubuntu1.1) ...
dpkg: dependency problems prevent configuration of rocm-dkms:
 rocm-dkms depends on rock-dkms; however:
  Package rock-dkms is not configured yet.

dpkg: error processing package rocm-dkms (--configure):
 dependency problems - leaving unconfigured
Setting up gcc-multilib (4:9.3.0-1ubuntu2) ...
No apport report written because the error message indicates its a followup erro
r from a previous failure.
                          Setting up g++-9-multilib (9.3.0-17ubuntu1~20.04) ...
Setting up g++-multilib (4:9.3.0-1ubuntu2) ...
Processing triggers for sgml-base (1.29.1) ...
Setting up x11proto-dev (2019.2-1ubuntu1) ...
Setting up libxau-dev:amd64 (1:1.0.9-0ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Processing triggers for man-db (2.9.1-1) ...
Setting up libxdmcp-dev:amd64 (1:1.1.3-0ubuntu1) ...
Setting up x11proto-core-dev (2019.2-1ubuntu1) ...
Setting up libxcb1-dev:amd64 (1.14-2) ...
Setting up libx11-dev:amd64 (2:1.6.9-2ubuntu1.1) ...
Setting up libglx-dev:amd64 (1.3.2-1~ubuntu0.20.04.1) ...
Setting up libgl-dev:amd64 (1.3.2-1~ubuntu0.20.04.1) ...
Setting up mesa-common-dev:amd64 (20.2.6-0ubuntu0.20.04.1) ...
Setting up rocm-opencl-dev (3.6Beta-17-g875c1f8-rocm-rel-4.0-23) ...
Settin XT g up rocm-clang-ocl (0.5.0.64-rocm-rel-4.0-23-50fb51a) ...
Setting up rocm-utils (4.0.0.40000-23) ...
Setting up rocm-dev (4.0.0.40000-23) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Errors were encountered while processing:
 rock-dkms
 rocm-dkms
E: Sub-process /usr/bin/dpkg returned an error code (1)

Моя версия ядра 5.8.0-41-generic. Моя карта VGA - Gigabyte Radeon RX6900 XT. Мой процессор - AMD Ryzen 9 3900 XT. Я попробовал несколько решений, предложенных в предыдущих сообщениях, но это не решило мою проблему. У меня есть предложения, как это исправить.

3 ответа

Решение

У меня тоже была такая же проблема. Единственный способ исправить это - вернуться к ядру 5.6.0-1042-oem. Драйверы AMD, похоже, не поддерживают никакое ядро, кроме этого.

Изменить: это также способ без проблем установить драйверы amdgpupro.

ВНИМАНИЕ: я пишу все это постфактум, и, возможно, я пропустил шаг или что-то в этом роде. Пожалуйста, будьте очень осторожны, особенно при удалении ядер и при работе с загрузочным каталогом. Если вам не нравится идея разрушить вашу систему, вы всегда можете установить выбор grub по умолчанию, что намного безопаснее, чем удаление initramfs.

Вот как у меня работает RocM

      sudo apt install linux-image-5.6.0-1042-oem linux-headers-5.6.0-1042-oem && reboot

Убедитесь, что вы загрузились в ядро ​​5.6, получив доступ к расширенным параметрам Ubuntu в grub.

      sudo apt remove linux-image-5.8.0-41-generic linux-headers-5.8.0-41-generic && sudo apt autoremove && reboot

Снова вам придется перезагрузиться в 5.6 через расширенные параметры. После того, как вы вернетесь, рекомендуется установить заголовки и изображение как удерживаемые, потому что обновление ядра, скорее всего, сломает RocM.

      sudo apt-mark hold linux-image-generic linux-headers-generic

Теперь мы собираемся попробовать очистить ядро ​​5.8. Начните с очистки временных файлов.

      sudo rm -rv ${TMPDIR:-/var/tmp}/mkinitramfs-*

Теперь перечислите все установленные ядра.

      dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+'

И попробуй удалить ядро ​​5.8. Сделайте это для любого ядра, которое у вас выше 5.6, которое мы установили.

      sudo update-initramfs -d -k 5.8.0-41-generic

Теперь initramfs, Systemmap и config все еще присутствуют в загрузочном каталоге, поэтому нам нужно очистить их, чтобы grub снова работал правильно.

      cd /boot/
sudo rm vmlinuz-5.8.0-41-generic System.map-5.8.0-41-generic config-5.8.0-41-generic

Теперь вы, наконец, должны быть готовы обновить grub

      sudo update-grub && reboot

Теперь, когда вы снова загрузитесь, вы сможете установить RocM.

      sudo apt install rocm-dkms

Согласно официальным примечаниям в этой ссылке, платформа AMD ROCm предназначена для поддержки Ubuntu 20.04.1 (5.4 и 5.6-oem) и 18.04.5 (ядро 5.4).

Итак, версия ядра 5.8 не поддерживается . Тем не менее, вариант с более ранней версией - это вариант, но вместо того, чтобы спешить, вы можете просто загрузиться в более старую версию ядра.

Попробуйте выполнить следующие шаги:

  1. Перезагрузите компьютер,
  2. Подождите, пока откроется меню grub (как открыть меню grub: ссылка).
  3. Выбирать advanced options for ubuntu
  4. Выберите альтернативный ядро ​​из показанного списка.

Я попытался откатиться к образу Linux 56. Но все равно при установке rock-dhms выскакивает ошибка:

      sudo apt install rocm-dkms
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  rock-dkms rock-dkms-firmware
Die folgenden NEUEN Pakete werden installiert:
  rock-dkms rock-dkms-firmware rocm-dkms
0 aktualisiert, 3 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen noch 0 B von 11,6 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 243 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] J
(Lese Datenbank ... 278958 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../rock-dkms-firmware_1%3a4.0-23_all.deb ...
Entpacken von rock-dkms-firmware (1:4.0-23) ...
dpkg: Fehler beim Bearbeiten des Archivs /var/cache/apt/archives/rock-dkms-firmw
are_1%3a4.0-23_all.deb (--unpack):
 Versuch, »/usr/share/doc/amdgpu-dkms-firmware/LICENSE« zu überschreiben, welche
s auch in Paket amdgpu-dkms-firmware 1:5.6.20.906316-1188099 ist
dpkg-deb: Fehler: »einfügen«-Unterprozess wurde durch Signal (Datenübergabe unte
rbrochen (broken pipe)) getötet
Fehler traten auf beim Bearbeiten von:
 /var/cache/apt/archives/rock-dkms-firmware_1%3a4.0-23_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

когда я перечисляю оставшиеся ядра, я получаю:

          enter code herdpkg -l |grep linux-im
rc  linux-image-5.4.0-56-generic               5.4.0-56.62                                  amd64        Signed kernel image generic
rc  linux-image-5.4.0-58-generic               5.4.0-58.64                                  amd64        Signed kernel image generic
ii  linux-image-5.6.0-1042-oem                 5.6.0-1042.46                                amd64        Signed kernel image oem
ii  linux-image-unsigned-5.4.0-54-generic      5.4.0-54.60                                  amd64        Linux kernel image for version 5.4.0 on 64 bit x86 SMP
e

Так что еще я могу сделать, чтобы он заработал? Спасибо за любую помощь. С уважением, Томас

Другие вопросы по тегам