AMD-Grafikkarten unter Linux: Treiber, OpenCL, BOINC, amdconfig und headless per ssh

Bitte die Erwartungen nicht allzu hoch ansetzen. Eine funktionierende, AMDGPU-PRO OpenCL erfolgreich benutzende, pre-Polaris habe ich noch nirgends bei BOINC gefunden. Clover/ROCm funktionieren hier oder da, kann man sicher eine Chance geben, je nach Projektpräferenzen. Wunder muss man sich nicht erhoffen...
 
Ich habe nun endlich mal die amdgpu-ocl.deb ausprobiert und teste es gerade auf meinem GPU Gruncher mit Ubuntu 18.10.
Zu meiner Überraschung läuft es nun auch mit allen 8 GPUs (Einstein darf im Moment mal ran), allerdings nicht mit Ubuntu Standard (da schafft er noch nicht einmal das Login) sondern zusammen mit Wayland.
 
Oh, da bin ich mal auf Resultate gespannt!

--- Update ---

Ich behaupte mal du bist noch auf Mesa/Clover OpenCL:

Code:
[8] AMD Radeon (TM) Pro Duo (FIJI, DRM 3.26.0, 4.18.0-16-generic, LLVM 7.0.0) (4096MB)

Siehe https://www.planet3dnow.de/vbulleti...less-per-ssh?p=5232954&viewfull=1#post5232954 bzgl. der unterschiedlichen OpenCL Strings der jeweiligen Implementierungen...

--- Update ---

Hast du ocl-icd-libopencl1 drauf?
 
Da ich heute ohnehin an der Kiste rumbastelte und deshalb 3 Karten deaktivieren musste hatte ich nochmal bei der Ubuntu Installation reingeschaut und sie auf 18.10 aktualisiert.
danach führte ich weitestgehend die Installationsprozedur aus #100 durch (die "amdgpu-ocl.deb" hatte ich damals abgespeichert), bei der Installation der "amdgpu-ocl.deb" die Datei einfach nur ausgeführt und sie Ubuntu installieren lassen. Danach habe ich "sudo apt install clinfo" und "sudo apt install boinc boinc-client-opencl" im Terminal ausgeführt, das System nochmal gestartet und schon wurden beide GPUs der Karte angezeigt. Danach versuchte ich es nochmal mit allen 8 GPUs und Ubuntu versagte erneut beim Login. Danach hatte ich es nochmal testweise mit der Wayland Variante versucht und siehe da, das Login war erfolgreich und ich konnte Einstein bei Boinc auf allen 8 GPUs starten. :)
 
https://einsteinathome.org/host/12582977/tasks/2/0

Laufen da mehrere WUs parallel?

--- Update ---

Wenn das aktuell Zeiten einer WU/GPU sind dann ist das noch recht langsam. In der Zeit schaft die RX580 2 parallel.

Mit ROCm oder OpenCL legacy sollte die Performance noch besser werden.
 
Eines nach dem anderen, aktuell läuft nur eine WU pro GPU und selbst da reagiert das System schon vergleichsweise zäh. Jetzt rechne ich erstmal die geladenen WUs durch und morgen starte ich nochmal eine Vergleichsmessung mit der Windows Installation.
 
Unter Windows ist er 2-3x schneller aber immerhin, es war schonmal ein Anfang. :)
So nebenbei, es lief definitiv mit dem Mesa Treiber. Vielleicht noch eine Leiche von vorherigen Versuchen Ubuntu zum laufen zu bringen?
 
Hast du ocl-icd-libopencl1 drauf?
Description: Generic OpenCL ICD Loader
OpenCL (Open Computing Language) is a multivendor open standard for
general-purpose parallel programming of heterogeneous systems that include
CPUs, GPUs and other processors.
.
This package contains an installable client driver loader (ICD Loader)
library that can be used to load any (free or non-free) installable client
driver (ICD) for OpenCL. It acts as a demultiplexer so several ICD can
be installed and used together.

Der müsste AMDGPU-PRO legacy OpenCL und auch ROCm laden können.
Bei MESA ist das eher mesa-opencl-icd:

Description: free implementation of the OpenCL API -- ICD runtime
This package contains the mesa implementation of the OpenCL (Open Compute
Language) library, which is intended for use with an ICD loader. OpenCL
provides a standardized interface for computational analysis on graphical
processing units.

Schau mal was du drauf hast, ggF. ersetzen...
 
Ich habe heute noch etwas damit rumprobiert und es war der Mesa OpenCL ICD aktiv.
Nachdem ich diesen deinstalliert hatte bekomme ich nun wegen Abhängigkeitsproblemen keinen neuen installiert. *suspect*
Da muss ich mich irgendwann nochmal tiefer gehend damit beschäftigen...

--- Update ---

Inzwischen ist das Problem mit den Abhängigkeiten durch aber ohne den Mesa opencl icd läuft da bei der Ubuntu 19.04 Installation nix. *noahnung*
 
Aktuell eine R7 360 unter 18.04.2 (bevorzuge LTS Versionen) ohne besondere Probleme mit amdgpu-pro-18.50-708488-ubuntu-18.04 zum laufen bekommen.
Anmerkung: auch mit Parameter -y --opencl=legacy erkennt BOINC zwei OpenCL GPUs. Eintrag von <ignore_ati_dev>1</ignore_ati_dev> in cc_config.xml hat dies schnell gelöst, alle bisher getesteten Projekte funktionieren damit. EDID HDMI Dongel ist auch nicht mehr nötig *noahnung*

radeontop stürzt leider ab, gibt es da eine Alternative um die GPU Auslastung zu prüfen?
 
Zuletzt bearbeitet:
https://github.com/Ricks-Lab/amdgpu-utils

amdgpu-utils zeigt die Auslastung, der Monitor refreshed automatisch...

Welchen OpenCL String zeigt deine R7 360?


@sompe

hast du denn den ocl-icd-libopencl1 wieder installiert?
 
Das war die gesammte Zeit über installiert aber vielleicht stecken in der Installaton auch noch Nachwehen von meinen früheren Versuchen drin die nun Probleme bereiten.
Da ich auf dem GPU Cruncher ohnehin 2 Windows Installationen drauf habe (sollte so auch fürs Bunkern noch genug Puffer haben) reicht mir mein gestern dafür verbratener Tag um das Problem dort erstmal auf die lange Bank zu schieben. Die nächsten Versuche starte ich beim DP-Cruncher, dort habe ich allerdings das Problem mit dem fehlenden UEFI Support der HD7970 da ich mit der IGP des A12 Booten muss damit diese aktiviert wird. Jene hat dummer weise UEFI Support, wodurch ich jedes mal nach einem Upgrade das Problem habe das sich die Installation dann nicht mehr mit der HD7970 verträgt und auf keiner der beiden GPUs ein Bild mehr kommt. *suspect*

Ja die Graka Treiber für Linux sind jedes mal ein Ding für sich.
 
Welchen OpenCL String zeigt deine R7 360?
OpenCL: AMD/ATI GPU 0: AMD Radeon (TM) R7 300 Series (driver version 2766.4, device version OpenCL 1.2 AMD-APP (2766.4), 2032MB, 2032MB available, 1613 GFLOPS peak)
OpenCL: AMD/ATI GPU 1: AMD Radeon (TM) R7 300 Series (BONAIRE, DRM 3.27.0, 4.15.0-29-generic, LLVM 7.0.0) (driver version 18.2.8, device version OpenCL 1.1 Mesa 18.2.8, 5961MB, 5961MB available, 1008 GFLOPS peak)

Danke für den Link, muss ich mir nur noch zusammen bauen (mach ich so gut wie nie unter Linux)...

Übrigens hätte ich nichts schreiben sollen, unter 18.04.x sorgt in dieser HW kombi der AMD 18.50 Treiber dafür, das VirtualBox crasht beim starten...probiere es seit heute Morgen und versuche nun die neuste VB Version, danach wird das System halt ohne Updater laufen.

--- Update ---

Ja die Graka Treiber für Linux sind jedes mal ein Ding für sich.
*admin* da denkt man sich, Ich habe einen funktionierende Kombi und schon schaut man auf den Monitor und fragt sich: Warum geht das den jetzt nicht mehr...
 
Danke!

Die Tools von https://github.com/Ricks-Lab/amdgpu-utils brauchst du nicht bauen, das sind Python Skripe, da reicht ein "git clone https://github.com/Ricks-Lab/amdgpu-utils.git". Git müsste idR. noch installiert werden.
Dann in das Verzeichnis wechseln und die einzelnen Tools direkt aufrufen.
 
Hat eigentlich auch jemand Erfahrungen zur Nutzung der GraKa unter openSUSE und kann mir hier etwas unter die Arme greifen?

Konkret:
1. openSUSE Leap 15 + R9 280X (früher mit fglrx kein Problem - seit der Treiber aber "rausgeschmissen" wurde, läuft die Tahiti bei mir leider nicht mehr im DC)
2. openSUSE Leap 15 + RX480 (AMDGPU-Pro lief bei mir noch nie unter openSUSE)

Gruß,
Ritschie
 
Zuletzt bearbeitet:
@Ritschie

Der aktuelle Treiber selbst unterstützt ja nur SLES 15, womöglich müsstest du dir die OpenCL legacy Bibliotheken auch aus dem Treiber herauspopeln und ins System einpflegen, analog meinem Skript...

@topic
Es gibt einen neuen Linuxtreiber (Version 19.10). Der unterstützt nun Ubuntu 18.04.2, welches ja Kernel 4.18 mitbringt, nicht wie 18.04.1 noch Kernel 4.15.
https://www.amd.com/en/support/kb/release-notes/rn-rad-lin-19-10-unified
 
So, ich habe mich nochmal mit Ubuntu 18.04 auf meinem DP-Cruncher versucht und scheitere bisher kläglich an der Berechnung mit der HD7970 (IGP derzeit deaktiviert) da diese bei Milkyway nur Berechnungsfehler ausspuckt.

Ich hatte Ubuntu 18.04 neu installiert, die amdgpu-ocl.deb mit der Installationsfolge aus Beitrag #100 installiert, ocl-icd-libopencl1 ist drauf und "radeon.si_support=0 amdgpu.si_support=1" gesetzt. clinfo sagt mir das der mesa ICD aktiv sei.

--- Update ---

So, ich habe die Kiste nochmal auf Ubuntu 19.04 upgegradet weil der BOINC Manager nicht mehr starten wollte wenn ich die IGP aktiviert hatte und auch versucht den Mesa OpenCL ICD zu installieren, an den Berechnungsfehlern bei Milkyway hat das aber nichts geändert. Mit Ubuntu 19 startet zwar der BOINC Manager wenn die IGP aktiv ist allerdings spucken dann beide GPUs Berechnungsfehler aus.
Nach dem Entfernen des Mesa OpenCL ICD gab es auch kein OpenCL device mehr und nach dessen erneuter Installation gab es nur die bereits bekannten Rechenfehler.
Die Berechnung läuft bei der Windows 8 Installation hingegen einwandfrei.

--- Update ---

Ich teste gerade ein paar Einstein WUs, die scheinen aber zu laufen. Mal schauen ob sie auch durchlaufen.
 
Wer auf einem R5 2400G kein Problem hat nur auf Konsole zu Arbeiten, kann Ubuntu 18.04.2 LTS mit dem amdgpu Treiber 19.10 installieren,
< der Boincmanager erkennt die Vega 11 als >
<![CDATA[OpenCL: AMD/ATI GPU 0: Unknown AMD GPU (driver version 2841.4 (PAL,HSAIL), device version OpenCL 2.0 AMD-APP (2841.4),
6963MB, 6963MB available, 1760 GFLOPS peak)]]> der Bildschirm bleibt nach dem Neustart dunkel aber Boinc rechnet bei mir gerade erfolgreich Milkyway
will man Ubuntu 19.04 nutzen muss man zwei Dateien anpassen um den Treiber Ubuntu 18.04.2 vorzugaukeln /etc/lsb-release und /etc/os-release
im gegensatz zu Ubuntu 18.04.2 meckert der Treiber das er amdgpu nicht konfigurieren kann, nach neustart Bildschirm dunkel(Vega 11) aber unter Boinc
rechnet die Vega 11 Milkyway, Collatz und Primegrid plus 7 X Primegrid GCW, es sollte auch mit den anderen Vega IGPs funktionieren.

lsb-release
vorher

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=19.04
DISTRIB_CODENAME=disco
DISTRIB_DESCRIPTION="Ubuntu 19.04"

nachher

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"

os-release
vorher

NAME="Ubuntu"
VERSION="19.04 (Disco Dingo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 19.04"
VERSION_ID="19.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco

nachher

NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.2 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
 
Zuletzt bearbeitet:
Hat eigentlich auch jemand Erfahrungen zur Nutzung der GraKa unter openSUSE und kann mir hier etwas unter die Arme greifen?
Ich nutze openSUSE Leap jetzt schon lange mit zwei Repositories, die den jeweils aktuellen Kernel und das aktuelle X.org / Mesa beinhalten. Läuft problemlos, und ich kann die Kombination aus stabilem openSUSE und neuen Kernel durchaus empfehlen. Ist immer noch "ruhiger" als eine rolling release-Distro.

Tahiti ist noch GCN 1, das wird durch die neue Treiberarchitektur bisher "experimentell" unterstützt, soweit ich weiß.

Welche Probleme hast du mit AMDGPU Pro bei GCN 4?
 
Schön, dass doch jemand Erfahrung mit openSUSE hat *joy*

Ich verwende Leap mit Standard-Repos und dem Standard-Kernel 4.12. Welche Repos verwendest Du, um aktuelle Kernel, X.org und Mesa zu bekommen?

Zu Deiner Frage, welche Probleme ich mit AMDGPU PRO hab: ich bin in der Konsole nicht fit. Früher konnte ich in YaST die fglrx-Repo hinzufügen und fglrx aus YaST heraus installieren (natürlich nur für GCN1 und älter). Diesen Weg suche ich für den PRO und die GCN4 heute noch vergeblich. Ich hatte dann mal (schon etwas her), den PRO für SLED heruntergeladen, entpackt, das Verzeichnis als Repo hinzugefügt und versucht, AMDGPU aus YaST heraus zu installieren - irgendwo im web hatte die Anleitung gefunden. Was damals schief lief, weiß ich leider nicht mehr. Müsste ich aktuell nochmal versuchen.

Kannst Du mit meinem Geschreibsel was anfangen und hast ne Idee, wo ich den/die Fehler gemacht habe? Ich vermute mal, der alte Kernel und X.org/Mesa hatte ich iwie auch noch nie auf dem Schirm. Ansonsten würde ich vorschlagen, ich starte am kommenden Wochenende nochmal nen Versuch mit dem PRO und der RX480 und melde mich dazu, ob es jetzt will und falls nicht, was nicht will.

Gruß,
Ritschie
 
Zuletzt bearbeitet:
Wer auf einem R5 2400G kein Problem hat nur auf Konsole zu Arbeiten, kann Ubuntu 18.04.2 LTS mit dem amdgpu Treiber 19.10 installieren,
< der Boincmanager erkennt die Vega 11 als >
<=!=[=C=D=A=T=A=[OpenCL: AMD/ATI GPU 0: Unknown AMD GPU (driver version 2841.4 (PAL,HSAIL), device version OpenCL 2.0 AMD-APP (2841.4),
6963MB, 6963MB available, 1760 GFLOPS peak)]=]=> der Bildschirm bleibt nach dem Neustart dunkel aber Boinc rechnet bei mir gerade erfolgreich Milkyway
will man Ubuntu 19.04 nutzen muss man zwei Dateien anpassen um den Treiber Ubuntu 18.04.2 vorzugaukeln /etc/lsb-release und /etc/os-release
im gegensatz zu Ubuntu 18.04.2 meckert der Treiber das er amdgpu nicht konfigurieren kann, nach neustart Bildschirm dunkel(Vega 11) aber unter Boinc
rechnet die Vega 11 Milkyway, Collatz und Primegrid plus 7 X Primegrid GCW, es sollte auch mit den anderen Vega IGPs funktionieren.

lsb-release
vorher

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=19.04
DISTRIB_CODENAME=disco
DISTRIB_DESCRIPTION="Ubuntu 19.04"

nachher

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"

os-release
vorher

NAME="Ubuntu"
VERSION="19.04 (Disco Dingo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 19.04"
VERSION_ID="19.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco

nachher

NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.2 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

ist der Zugriff per SSH auf diese Maschine dann noch möglich?
 
Ja genauso wie mit dem BM, auf einem meiner beiden A12-9800 habe ich noch Linux Mint und einen älteren amdgpu Treiber drauf auch hier
zugriff nur mit SSH und BM auf dem zweiten seit kurzem xubuntu 18.04.2 mit dem amdgpu Treiber 18,50.x hier funktioniert auch der Desktop.
 
Zuletzt bearbeitet:
Schön, dass doch jemand Erfahrung mit openSUSE hat *joy*

Ich verwende Leap mit Standard-Repos und dem Standard-Kernel 4.12. Welche Repos verwendest Du, um aktuelle Kernel, X.org und Mesa zu bekommen?

Entschuldige bitte die späte Antwort. Ich schreibe das mal hier, da es im Thread "Grafikkarten unter Linux" für die recht verbreitete openSUSE bestimmt noch mehr Leute interessiert.

Zunächst, wie du ein aktuelles X.org und einen aktuellen Kernel für die stabile openSUSE beziehst. Diese Distri hat ja unter anderem den Vorteil, dass taufrische Pakete ohnehin gebaut werden, und zwar für die Schwester openSUSE Tumbleweed. Da liegt es nahe, die Pakete auch für Leap anzubieten.

Eine Liste interessanter Repositories findet sich im Wiki:
https://en.opensuse.org/Package_repositories
(deutsch, ggf. die openSUSE-Version anpassen): https://de.opensuse.org/Paket_Repositorys

Ich habe hiervon eingebunden:
http://download.opensuse.org/repositories/Kernel:/stable/standard/
https://download.opensuse.org/repositories/X11:/XOrg/openSUSE_Leap_15.0
.... sowie LibreOffice, Qt, KDE Framework, KDE Applications, OBS Graphics für ein aktuelles Gimp 2.10

Ich mache Paketmanagement komplett in der Konsole, das geht am schnellsten und einfachsten.
Lies dich in folgende Kommandos ein, Hilfe zum jeweiligen Kommando jeweils mit zypper <Kommando> --help
Updates einspielen: zypper lu / up / dup
Repos verwalten: zypper ar / mr / nr / rr

Die Infos über alle Repos landen übrigens in Textdateien unter /etc/zypp/repos.d
Mit der Abkürzung OBS meine ich "openSUSE Build Service".

Ein Repo hinzufügen:
zypper ar -n "OBS Kernel" -p 90 http://download.opensuse.org/repositories/Kernel:/stable/standard/ Aktueller_Kernel
Die Repos werden alphabetisch nach Alias sortiert, deshalb verändern sich die Repo-Nummern zwischendurch. Nachgucken mit zypper lr.

Das Umstellen auf das neue Repo mache ich bei wenigen Paketen mit Angabe der Versionsnummer:
zypper up kernel-default-5.0.9 (die Angabe der Version sagt zypper, dass du wirklich diese Version aus einem anderen Repo möchtest)

oder bei vielen Paketen mit
zypper dup -r 8 (bei mir: 8=Kernel-Repo)

Falls es durch die Einschränkung auf Repo Nr. 8 Fehler gibt, weil halt auch noch ein Paket aus dem normalen Repo gebraucht wird, mache ich kein generelles zypper dup. Denn das würde immer die neueste Version von allem ziehen, dazu habe ich zu viele Repos eingebunden. Ich schalte vorher die anderen Repos ab:
zypper mr -d 1 2 3 8 9 10 usw (alles abschalten bis auf Kernel, x.org und das normale Open Source Repo)
zypper dup (jetzt wird Kernel und x.org aktualisiert)
zypper mr -e 1 2 3 8 9 10 usw (wieder einschalten)

Ich hoffe, das hilft dir erstmal. Die Installation von AMDGPU Pro können wir uns gerne am Wochenende mal angucken, das interessiert mich auch mal (ab Samstag Nachmittag bis Abend). Als Startpunkt ist die Anleitung dafür https://en.opensuse.org/SDB:AMDGPU-PRO
 
Zuletzt bearbeitet:
Zurück
Oben Unten