Zukunft von OpenCL auf AMD-GPUs

KDE, Gnome, Windowmanager, X11, Grafiktreiber und alles was dazu notwendig ist. Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Lutefisk
Beiträge: 2
Registriert: 31.08.2016 09:59:35

Zukunft von OpenCL auf AMD-GPUs

Beitrag von Lutefisk » 31.08.2016 10:22:20

Hallo.

Derzeit verwende ich Debian Jessie mit OpenCL auf einer AMD-GPU. Treiber ist fglrx, der bei mir ständig mit Abstürzen in den Logs auftaucht. Seltsamerweise wirkt sich das nicht auf die Rechenfähigkeit aus. Boinc und andere Anwendungen laufen dauerhaft stabil.

fglrx wird in Stretch eingestellt. Kann ich dann noch auf Stretch upgraden ohne auf OpenCL verzichten zu müssen? Ich finde dazu leider nichts außer einer Grafik von Radeon, wonach es überhaupt noch kein OpenCL im Radeon-Treiber gibt??? https://www.x.org/wiki/RadeonFeature/

Muss ich mich beizeiten nach einer anderen Linux-Distribution umsehen? Oder soll ich bei Jessie bis zum Auslaufen des Supports bleiben?

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Zukunft von OpenCL auf AMD-GPUs

Beitrag von smutbert » 31.08.2016 10:47:31

Es wird ja den proprietären Treiber amdgpu pro geben oder es gibt ihn bereits und dem arch-Wiki entnehme ich
https://wiki.archlinux.org/index.php/AMDGPU hat geschrieben:[…]
The AMDGPU PRO driver provides OpenGL, OpenCL, Vulkan and VDPAU support.[…]
wenn es unter Debian stretch jetzt noch nicht läuft, sollte es das also vermutlich früher oder später tun.

Lutefisk
Beiträge: 2
Registriert: 31.08.2016 09:59:35

Re: Zukunft von OpenCL auf AMD-GPUs

Beitrag von Lutefisk » 31.08.2016 11:58:32

Danke für die schnelle Antwort
smutbert hat geschrieben:wenn es unter Debian stretch jetzt noch nicht läuft, sollte es das also vermutlich früher oder später tun.
Hmm. Laut AMD werden nur neue Karten unterstützt, die nicht älter als 2 Jahre sind (ab RX 480 und R9): http://support.amd.com/en-us/kb-article ... Notes.aspx

AFAIK hat amdgpu keine Unterstützung für Terascale und ich habe eine 4 Jahre alte HD 6xxx mit Terascale Architektur. Es ist eine der wenigen energieeffizienten GPUs bei guter Rechenleistung.

Es wäre jedenfalls traurig, wenn Debian nur noch OpenCL auf auf neuen Energiefresser-GPUs bringt.

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Zukunft von OpenCL auf AMD-GPUs

Beitrag von smutbert » 31.08.2016 22:55:53

Du hast recht:
https://wiki.archlinux.org/index.php/Us ... PU_drivers

Wenn die freien ATI/Radeon-Treiber keinen OpenCL-Support bieten und fglrx nicht mehr läuft, dann wird man wohl auf OpenCL verzichen müssen.

oooverclocker
Beiträge: 33
Registriert: 26.08.2016 04:34:37

Re: Zukunft von OpenCL auf AMD-GPUs

Beitrag von oooverclocker » 08.09.2016 17:22:27

Alle GPUs ab GCN 1.0 (7970 etc.) werden früher oder später unterstützt. Soweit ich das beurteilen kann, stehen die Chancen gut, dass es mit 4.9 reinkommt, sodass in Stretch wahrscheinlich dann alle GCN- GPUs supportet werden. Bisher wird nur ab GCN 1.1(290X etc. oder höher) unterstützt.
Lutefisk hat geschrieben:Es wäre jedenfalls traurig, wenn Debian nur noch OpenCL auf auf neuen Energiefresser-GPUs bringt.
Die neuen AMD- GPUs sind alles andere als Energiefresser, haben bei der Performance/Watt kontinuierlich zugelegt. Das zeigt sich auch bei den neuesten Radeon Pro- Karten.
Im Konsumerbereich hat AMD aber bekanntlich Probleme mit dem DX11- Overhead, Entwicklern, denen Optimierung auf viele Shader zu aufwendig ist, und solchen Verzerrungs- "Tricks" wie GameWorks. Obwohl die Karten eigentlich von der Leistung/Watt den Nvidia- Pendants deutlich überlegen sind, musste AMD deshalb die letzten Karten deutlich "übertaktet" auf den Markt bringen, um in DX11- Benchmarks gut auszusehen.
Beispiel: Eine PowerColor Radeon RX 480 Red Devil verbraucht bei Verwendung des Silent- Bios laut ComputerBase in Anno 2205 auch nicht mehr als eine GTX 1060- Referenzkarte. Bei einer realen Leistung von 5,3 vs. 4,6 TFLOPS sieht man, was die Karte kann und ich kann aus Erfahrung sagen, dass das Silent- Bios von PowerColor vom Perf/Watt- Verhältnis wahrscheinlich auch noch überboten werden kann, wenn man mit dem Takt noch etwas weiter runter geht.

Die Linuxtreiber bieten den Vorteil, dass sie auch die Signatur des Grafikkarten- Bios nicht überprüfen. Somit kann man auch ein eigenes beliebiges Bios einsetzen(auf den älteren Karten auch mit Windows, aber bei den neuen ist da die Sperre noch aktiv). Das Doofe ist, dass die meisten Bioseditoren nur für Windows sind.
Mal als kleiner Richtwert: Der Standardtakt der RX 480 Referenzkarte ist 1266MHz. Bei Anno 2205 hatte die PowerColor- Karte effektiv einen Takt von ca. 1150MHz. Ich habe zwar die Karte nicht, würde aber gefühlt ca. 1,1GHz als Optimum ansetzen.

Edit: Eine RX 460 ist übrigens für OpenCL auch eine sehr interessante Karte. Viele der Modelle, wie die XFX Radeon RX 460 Single Fan, haben keinen zusätzlichen Stromstecker und können so nur maximal 75W verbrauchen. Die Karte ist selbst auch schon konservativer getaktet. So erhält man für die 75W immerhin etwas mehr als 2TFLOPS. Das entspricht von der Leistung etwa einer HD 6950 mit 200W TDP.

Benutzeravatar
Patsche
Beiträge: 3255
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Zukunft von OpenCL auf AMD-GPUs

Beitrag von Patsche » 08.09.2016 18:58:58

oooverclocker hat geschrieben:Alle GPUs ab GCN 1.0 (7970 etc.) werden früher oder später unterstützt.
Das hoffe ich, aber ich denke sie werden maximal GCN1.1 unterstützen. Mir fehlt vorallem OpenGL 4.5 in einigen Spielen, weshalb ich noch den fglrx nutze. Mit Mesa 12.1 soll ja auch der freie radeon diese OpenGL-Befehle können. Warten wir es mal ab. Von der Leistung her reicht mir die 280X locker für alles, was ich Spiele....
Ich wünsche mir auch eine GCN1.0 Unterstützung für amdgpu. Der soll ja leistungsmäßig noch vor dem radeon-Treiber sein, weswegen ich mir die Unterstützung herbei sehne.

oooverclocker
Beiträge: 33
Registriert: 26.08.2016 04:34:37

Re: Zukunft von OpenCL auf AMD-GPUs

Beitrag von oooverclocker » 08.09.2016 20:34:10

Patsche hat geschrieben:Das hoffe ich, aber ich denke sie werden maximal GCN1.1 unterstützen.
Da hast Du glücklicherweise falsch gedacht :wink: Der Code ist schon im Repo, nur weiß ich halt nicht, ob er es in 4.9 schon packt. Für 4.10 würde es sicher reichen. Normalerweise müsste der AMD GPU-Pro dann auch direkt damit laufen...

Code: Alles auswählen

 /*
  * Supported GPU families
  */
 #define AMDGPU_FAMILY_UNKNOWN			0
+#define AMDGPU_FAMILY_SI			100 /* Tahiti, Pitcairn, CapeVerde, Oland, Hainan */
 #define AMDGPU_FAMILY_CI			120 /* Bonaire, Hawaii */
 #define AMDGPU_FAMILY_KV			125 /* Kaveri, Kabini, Mullins */
 #define AMDGPU_FAMILY_VI			130 /* Iceland, Tonga */
 #define AMDGPU_FAMILY_CZ			135 /* Carrizo */

Benutzeravatar
Patsche
Beiträge: 3255
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Zukunft von OpenCL auf AMD-GPUs

Beitrag von Patsche » 08.09.2016 21:46:25

oooverclocker hat geschrieben: Da hast Du glücklicherweise falsch gedacht :wink:
Jeah....danke für diese Info. Ich gucke eigentlich wöchentlich danach, aber Informationen sind rar zu diesem Thema. Nur auf Phoronix habe ich bisher geguckt....
Aber wie wird man den später aktivieren? Benötigt es auch einen Befehl in grub? Für GCN1.1 benötigte man ja mal eine Zeile, aber das scheint auch schon wieder hinfällig zu sein.
Die Entwicklung gefällt mir wirklich sehr gut bei AMD, auch dass sie jetzt nicht GCN1.0 hängen haben lassen....

Edit:
Dies musste man grub mitgeben:

Code: Alles auswählen

amdgpu.exp_hw_support=1

oooverclocker
Beiträge: 33
Registriert: 26.08.2016 04:34:37

Re: Zukunft von OpenCL auf AMD-GPUs

Beitrag von oooverclocker » 08.09.2016 22:08:43

Sobald Du den AMD GPU-PRO installierst, müsste AMDGPU aufgrund der Abhängigkeit beim nächsten Neustart mitgeladen werden. Das müsste eigentlich die einfachste Variante sein :)
Ansonsten müsste automatisch radeon geladen werden. Wenn man von radeon zu AMDGPU ohne den Pro- Treiber möchte, dann wird das wahrscheinlich tatsächlich etwas aufwändiger werden.

Edit: Southern Islands Support Will Come To AMDGPU On Linux 4.9

Benutzeravatar
Patsche
Beiträge: 3255
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Zukunft von OpenCL auf AMD-GPUs

Beitrag von Patsche » 05.04.2017 18:01:46

Code: Alles auswählen

This Southern Islands support will be disabled by default and must be configured at the kernel's build-time via a Kconfig switch. This is similar to the still-experimental GCN 1.1 support in AMDGPU. 
Wurde der Kernel in Debian mit dem geforderten Parameter gebaut? Oder muss man immer noch

Code: Alles auswählen

amdgpu.exp_hw_support=1
als Parameter mitgeben?
Ich hatte probeweise mal fglrx deinstalliert und habe einfach Kernel 4.9 aus den Backports von Jessie installiert. Verwendet wurde immer noch der freie radeon Treiber, statt des amdgpu Treibers. (Verwende immer noch eine R9 280X GCN1.0)

Benutzeravatar
Patsche
Beiträge: 3255
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Zukunft von OpenCL auf AMD-GPUs

Beitrag von Patsche » 05.04.2017 18:35:09

Soooo hier ein paar Ausgaben:

Code: Alles auswählen

marco@Patsche:~$ uname -a
Linux Patsche 4.9.0-0.bpo.2-amd64 #1 SMP Debian 4.9.13-1~bpo8+1 (2017-02-27) x86_64 GNU/Linux

Code: Alles auswählen

marco@Patsche:~$ lspci -nnk | grep VGA -A3
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] [1002:6798]
	Subsystem: ASUSTeK Computer Inc. Device [1043:3004]
	Kernel driver in use: radeon
01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT HDMI Audio [Radeon HD 7970 Series] [1002:aaa0]

Code: Alles auswählen

marco@Patsche:~$ apt-cache policy libdrm-amdgpu1
libdrm-amdgpu1:
  Installiert:           2.4.74-1~bpo8+1
  Installationskandidat: 2.4.74-1~bpo8+1
  Versionstabelle:
 *** 2.4.74-1~bpo8+1 0
        100 https://ftp.de.debian.org/debian/ jessie-backports/main amd64 Packages
        100 /var/lib/dpkg/status

Code: Alles auswählen

marco@Patsche:~$ apt-cache policy xserver-xorg-video-amdgpu
xserver-xorg-video-amdgpu:
  Installiert:           1.2.0-1~bpo8+1
  Installationskandidat: 1.2.0-1~bpo8+1
  Versionstabelle:
 *** 1.2.0-1~bpo8+1 0
        100 https://ftp.de.debian.org/debian/ jessie-backports/main amd64 Packages
        100 /var/lib/dpkg/status

Code: Alles auswählen

marco@Patsche:~$ cat /etc/default/grub 
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=4
GRUB_DISABLE_SUBMENU=y 
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet amdgpu.exp_hw_support=1"
GRUB_CMDLINE_LINUX=""
Xorg.log NoPaste-Eintrag39798
Es wird weiterhin der radeon Treiber geladen. Ich habe da leider zu wenig Ahnung um zu sehen, wo es klemmt, oder ob es überhaupt mittlerweile funktionieren soll.

Antworten