УНИТе

Портал > Документация > Инсталиране на драйвери и софтуер за работа и управление на AMD графичен ускорител под CentOS 7 и Scientific Linux 7

Инсталиране на драйвери и софтуер за работа и управление на AMD графичен ускорител под CentOS 7 и Scientific Linux 7

Съдържание:

  1. Предварителна информация
  2. Изтегляне на архив с пакетното хранилище съдържащо драйверите и инсталирането им
  3. Проверка и настройка на параметрите на AMD графичния ускорител

 

1. Предварителна информация

Подобно на NVidia, AMD предлагат пакети с драйвери и библиотеки, чрез които хардуерните GPU устройства на AMD могат да работят с Linux ядрото и да бъдат използвани за ускоряване на изчисленията (целочислени и с плаваща запетая). Целта на този документ е да покаже как да бъдат инсталирани пакетите с драйверите и библиотеките за взаимодействие с приложенията и как да бъдат променяни параметрите на графичните ускорители с цел повишаване на производителността.

 

2. Изтегляне на архив с пакетното хранилище съдържащо драйверите и инсталирането им

Посетете страницата на AMD, от която да изтеглите пакета с драйверите:

https://www.amd.com/en/support

Най-добрият и сигурен начин да попаднете на правилните драйвъри за вашата карта е, ако укажете точния ѝ модел в падащото меню срещу "Search for your product". Всички модели, които са от интерес за HPC инфраструктурата са "pro" модели и за тях има специално поддържан драйвер за CentOS 7, които работи и за Scientific Linux 7 (ако не откриете подобен, най-вероятно картата не може да бъде използвана за GPU ускорител, защото няма съответната OpenCL библиотека за нея). Например, за версия 7.6 на Linux дистрибуцията, трябва да изтеглите архива amdgpu-pro-19.20-812932-rhel-7.6.tar.xz.

След като го изтеглите, разпакетирайте:

$ tar xvf amdgpu-pro-19.20-812932-rhel-7.6.tar.xz

и влезте в директория amdgpu-pro-19.20-812932-rhel-7.6.

$ sudo ./amdgpu-pro-install --opencl=pal,legacy --headless

Опциите --opencl=pal,legacy ще инсталират OpenCL библиотеките за поддръжка на новите ускорители (PAL е за Vega 10 и по-носи), а също така и поддръжката за стари графични ускорители на AMD. Ако сте сигурни, че вашият акселератор е от нов модел, може да използвате само --opencl=pal.

ПОВИШЕНО ВНИМАНИЕ! Скриптът amdgpu-pro-install извиква yum и инсталира RPM пакети. Внимателно преглеждайте списъка с предложените за инсталиране пакети, преди да дадете съгласието си.

Обърнете внимание на следната особеност, която е важна за HPC инфраструктурата. Скриптът amdgpu-pro-install създава локално пакетно хранилище в директория /var/opt/amdgpu-pro-local и конфигурация за използването му, във файла /etc/yum.repos.d/amdgpu-pro-local.repo. Ако това местоположение на файловото дърво на хранилището противоречи на правилата за разполагане на локални пакетни хранилища в локалните файлови системи на HPC инфраструктурата, сменете неговото местонахождение.

За да може драйвера за ядрото да се прекомпилира и инсталира при всяко зареждане на ново ядро (актуализирано чрез yum), при изпълнението на скрипта се инсталира и DKMS, както и кода на драйвера. Кодът за DKMS компилация се намира в /usr/src/amdgpu-19.20-812932.el7. Убедете се, че DKMS играждането на модула е зададено да става автоматично, като изпълните:

$ sudo dkms autoinstall -n amdgpu -v 19.20-812932.el7

В противен случай, модулът няма да може да бъде изграден, ако междувременно е инсталирана актуализация на пакета kernel и системата бъде рестартирана.

ВАЖНО! Това, че драйвера е за версия 7.6 на дистрибуцията още не означава, че ако актуализирате дистрибуцията до 7.7, то драйвера ще бъде деинсталиран. Версията на Linux дистрибуцията е важна само за инсталационния процес на пакетите на драйвера, инициран чрез инсталационния скрипт (виж по-горе)!

Остава да се изясни въпроса къде се намират библиотеките (включително и OpenCL библиотеката), предоставяни готови компилирани от AMD, за комуникация между приложния софтуер и GPU. Тези библиотеки се намират в директория /opt/amdgpu-pro/lib64, а съответните "header"-файлове са в /opt/amdgpu-pro/include.

 

3. Проверка и настройка на параметрите на AMD графичния ускорител

AMD (поне за момента), не предлагат инструменти с подходящ интерфейс за смяна на параметри в устройствата като такова честота на процесорните ядра, тактова честота на паметта и оборототите на вентилатора върху GPU устройствата. Всяка настройка се прави директно чрез записване на параметри в /sys, което създава риск и по тази причина всяка подобна операция трябва да се извършва много внимателно.

Преди да започнете с настройката на параметрите, трябва да модифицирате файла /etc/default/grub, като в края на реда започващ с GRUB_CMDLINE_LINUX, поставите символния низ amdgpu.ppfeaturemask=0xffffffff. Например:

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rhgb quiet amdgpu.ppfeaturemask=0xffffffff"

Запазете промените, изградете нова стартова конфигурация на GRUB:

$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

и след това рестартирайте системата.

Как се разполагат параметрите на GPU устройствата на AMD в /sys? За всеки един графичен ускорител, там се създава дърво с начало:

/sys/class/drm/cardX

където "X" е число от 0 до 7 (за поддръжката на повече от 8 графични ускорителя в една система, се нужни специални настройки, които изискват модифициране на драйвера и не са разгледни тук).

Преди да започнете промяната на който и да е параметър, изведете списък с текущите параметри и използвайте текущите им стойности като референтни:

$ cat /sys/kernel/debug/dri/X/amdgpu_pm_info

В случай, че желаете да видите специфично и само тактовата честота на паметта, изпълнете:

$ cat /sys/class/drm/cardX/device/pp_dpm_mclk

Ако искате да изведете подобен списък и за процесорната честота, по-долу е командния ред, с който може да направите това:

$ cat /sys/class/drm/cardX/device/pp_dpm_sclk

За да промените някои от параметрите, първо изпълнете:

$ sudo echo manual > /sys/class/drm/cardX/device/power_dpm_force_performance_level

и след това използвайте индивидуалните рецепти, описани по-долу:

  • регулиране на оборотите на вентилатора, вграден в GPU устройството:

    Направете тази настройка първа, преди да започнете промяната на тактовата честота на ускорителя. Разрешете ръчния контрол на този параметър:

    $ sudo echo "1" > /sys/class/drm/cardX/device/hwmon/hwmon1/pwm1_enable

    След това може да задавате колко процента над номиналната стойност на оборотите, да работи вентилатора. Например, увеличение с 50% се задава така:

    $ sudo echo "50" > /sys/class/drm/cardX/device/hwmon/hwmon1/pwm1
  • регулиране на тактовата честота на процесора в GPU устройството:

    Ако искате да повишите таковата честота с 20%, това може да стане така::

    $ sudo echo "20" > /sys/class/drm/cardX/device/pp_sclk_od
  • регулиране на тактовата честота на паметта в GPU устройството:

    Ако искате да повишите таковата честота с 20%, това може да стане така::

    $ sudo echo "20" > /sys/class/drm/cardX/device/pp_mclk_od

 


Последна актуализация: 28 юли 2019

2019 УНИТе, Веселин Колев