crazy-biscuit
Supporter
Anmeldungsdatum: 6. November 2010
Beiträge: 4847
|
Hallo Allerseits, wie den Meisten sicherlich bekannt, gibt es bei Grafikkarten, insbesondere auch bei AMD, einen Kernel-GPU-Treiber und einen Userspace-Treiber (Mesa). In letzter Zeit landen unglaublich viele Performance-Verbesserungen in Mesa - insbesondere für radv (Vulkan), aber eben auch für OpenGL. Meines Erachtens nach sollten Verbesserungen im Userspace doch auch älteren Karten zu Teil werden, wenn diese den radeon/radeonsi-Treiber nutzen, korrekt? Normalerweise sollte der Kernel-Treiber doch nur Features liefern (HDMI Audio, FreeSynx (bei GCN 1.3 mit DC-Kernel), re-clocking ...) & der restliche GL-Kram vom Userspace-Treiber erledigt werden? Insbesondere denke ich dabei an Karten der HD5xxx- und HD6xxx-Generation, welche nicht AMDGPU, sondern m.E.n. den radeon-Treiber nutzen. Ist das so weit korrekt? Hintergrund ist u.a., dass ich noch ein paar HD 6580 herrumliegen habe und darüber nachdenke diese in LAN(Party)-PCs zu verbauen, also sowas wie Core i3 1st Gen + 8 GB RAM. Das sollte dann für sowas wie 0ad, CS:1.6, Victor Vran u.v.m. ausreichen.
|
Letalis_Sonus
Anmeldungsdatum: 13. April 2008
Beiträge: 12990
Wohnort: Oldenburg/Erlangen
|
crazy-biscuit schrieb: wenn diese den radeon/radeonsi-Treiber nutzen, korrekt?
Den nutzt du mit deinem Teil gar nicht, sondern r600g. Die Zielgruppe von radeonsi ist mit der von amdgpu deckungsgleich. Du siehst das ganze viel zu einfach... Gallium übersetzt das ganze in eine Zwischensprache einer virtuellen Maschine, die von LLVM in die ISA der Hardware übersetzt wird - und GCN und Terascale sind nunmal grundverschieden, das führt bereits auf einer viel höheren Ebene als der ISA zu unterschieden. Das Kernel Modul macht auch erheblich mehr, als "nur" Funktionen zu liefern - da gibt es genug Performance-kritische Stellschrauben. Es stellt sich immer die Frage, wo genau herumoptimiert wurde. Aber r600g ist doch ohnehin schon am Ende der Fahnenstange, da kommt nicht mehr viel.
|
crazy-biscuit
Supporter
(Themenstarter)
Anmeldungsdatum: 6. November 2010
Beiträge: 4847
|
Alles klar, radeonsi ist ebenfalls von HD 7xxx bis R9 3xx... Natürlich wurde r600 ziemlich gut optimiert. Aber einige Verbesserungen sind defakto Tunings in Mesa für einzelne Spiele, indem einzelne Funktionen anders implementiert oder optimiert werden. Derlei Artikel findet man zu Hauf auf Phoronix in den letzten Monaten bzw. auf der Mesa Dev Mailinglist.
|
Letalis_Sonus
Anmeldungsdatum: 13. April 2008
Beiträge: 12990
Wohnort: Oldenburg/Erlangen
|
crazy-biscuit schrieb: Aber einige Verbesserungen sind defakto Tunings in Mesa für einzelne Spiele, indem einzelne Funktionen anders implementiert oder optimiert werden.
Sowas gibt es in Mesa nicht. Alles was dort für Anwendungen verändert wird kannst du auch von Hand über driconf einstellen, man liefert nur vorgefertigte Profile. Bei Phoronix wird viel eher von den Einstellungen berichtet, die man selbst von Hand einschalten muss und die sich oft via driconf überhaupt nicht einstellen lassen - weil der Kram schlichtweg nicht als Bereit für den Masseneinsatz erklärt wird.
|
crazy-biscuit
Supporter
(Themenstarter)
Anmeldungsdatum: 6. November 2010
Beiträge: 4847
|
Nein, ich rede nicht von driconf o.ä., eher sowas wie hier erwähnt: - RadeonSI has also continued to evolve and its performance is much closer to that of NVIDIA on Linux. Some work that's landed include various game optimizations and out-of-order rasterization for Vega. Memory objects support also made it into RadeonSI.
Ich rede von Code-Optimierungen welche für Mesa stattfinden. Vielleicht reden wir von unterschiedlichen Dingen. Compat-Profile oder Spiele-abhängige Profile welche bestimmte Funktionen aktivieren meine ich nicht. Es sind generische Änderungen am Code, wodurch mitunter aber eher einzelne Anwendungen profitieren, nicht aber unbedingt pauschal alle Anwendungen.
|
Letalis_Sonus
Anmeldungsdatum: 13. April 2008
Beiträge: 12990
Wohnort: Oldenburg/Erlangen
|
Viele der Verbesserungen betreffen allerdings auch Features, die auf den älteren Chips noch gar nicht vorhanden waren. GCN und Terascale sind schließlich grundverschieden.
|
crazy-biscuit
Supporter
(Themenstarter)
Anmeldungsdatum: 6. November 2010
Beiträge: 4847
|
Genau darauf zielte meine Frage ab, ich nahm an das wenn nur sehr eingeschränkt die Optimierungen greifen.
|
Reinarden
Anmeldungsdatum: 29. September 2014
Beiträge: 1044
|
Natürlich bringen die ständigen Verbesserungen in Mesa und im Radeon-Treiber auch uns Benutzern von älteren AMD-Graphikkarten einiges, wie ich mit jeder neuen Ubuntu-Version an meinen HD 6xxx- und 7xxx- Karten sehe. Bin seit Ubuntu 14 dabei. Michael Larabel von Phoronix (welches Du ja erwähnst) hat genau dieses Thema erst kürzlich getestet und sehr handfeste Zahlen geliefert. Beispielsweise hier: Ubuntu 14.04 to Ubuntu 17.10 RadeonSI OpenGL Performance (30 Oct 2017) Und ein bißchen auch hier: 18-Way Radeon GPU Benchmarks on Ubuntu 17.10 with Linux 4.14 + Mesa 17.4-dev (1 Nov 2017)
|
Letalis_Sonus
Anmeldungsdatum: 13. April 2008
Beiträge: 12990
Wohnort: Oldenburg/Erlangen
|
Reinarden schrieb: Michael Larabel von Phoronix (welches Du ja erwähnst) hat genau dieses Thema erst kürzlich getestet und sehr handfeste Zahlen geliefert.
Absolute Zahlen sind schön und gut, haben ohne Vergleichswerte aber keine Aussagekraft, insbesondere wenn das Testsystem jedes mal ohnehin ein komplett anderes ist. Ein Artikel über radeonsi ist bei einer Diskussion über alte pre-GCN Karten auch ziemlich sinnfrei - falls es dir noch nicht aufgefallen ist: die alten Terascale Chips haben einen separaten Gallium Treiber und profitieren von keiner einzigen GCN-spezifischen Änderung in radeonsi. Ich sehe "genau dieses Thema" ehrlich gesagt überhaupt nicht bei den Artikeln der letzten Monate.
|
crazy-biscuit
Supporter
(Themenstarter)
Anmeldungsdatum: 6. November 2010
Beiträge: 4847
|
Immerhin ist der Artikel aber auch für GCN 1 Karten gültig bzw. konkret für die 7950 für die AMDGPU mit Vanilla-Kernel nicht aktiv ist.
|
Letalis_Sonus
Anmeldungsdatum: 13. April 2008
Beiträge: 12990
Wohnort: Oldenburg/Erlangen
|
crazy-biscuit schrieb: Immerhin ist der Artikel aber auch für GCN 1 Karten gültig bzw. konkret für die 7950 für die AMDGPU mit Vanilla-Kernel nicht aktiv ist.
...das bringt dir mit deinen Terascale Chips aber herzlich wenig. Natürlich haben viele Änderungen für neue GCN Chips auch einen positiven Einfluss auf ältere GCN Chips, es ist ja nur die Weiterentwicklung der gleichen Grundarchitektur und immer noch der gleiche Gallium Treiber. Aber davon haben die Terascale Chips ja nichts, das ganze betrifft dann in der Regel Sachen die noch nicht vorhanden sind oder schlichtweg höchstens den gegenteiligen Effekt erreichen würden weil die Chips anders auf diverse Details reagieren. Es geht ja schon damit los, dass GCN auf SIMD aufbaut, während Terascale VLIW verwendet - Grundprinzipien, die völlig unterschiedlichen Grundlagen folgen.
|
Reinarden
Anmeldungsdatum: 29. September 2014
Beiträge: 1044
|
crazy-biscuit schrieb: Immerhin ist der Artikel aber auch für GCN 1 Karten gültig bzw. konkret für die 7950 für die AMDGPU mit Vanilla-Kernel nicht aktiv ist.
So ist es, und diese ständige Tendenz einer Leistungssteigerung „nur“ durch neuere Radeon- plus Mesa-Treiber auch bei älteren AMD-Graphikkarten erkennt man auch bei Larabels Testberichten. Als ich zuletzt beim Aufstieg von Ubuntu 15 auf 16 LTS die Geschwindigkeit meiner HD7750-Karte (GCN1) konkret per glmark maß, mit mehreren Durchläufen um Schwankungen zu kompensieren, lieferte das neue Radeon-/Mesa-Gespann aus Ubuntu 16.04.0 knapp 10% (9,5+) mehr Leistung als zuvor unter Ubuntu 15. „Nur“ durch Optimierung in diesem Treibergespann. Und seither gab es in der 16er-LTS dank HWE-Schiene mehrere neuere Radeon-/Mesa-Aktualisierungen, wieder mit Verbesserungen: zwar nicht mehr 10% Steigerung, aber doch jeweils mehrere Prozent. Auch bei unserer noch älteren HD6450-Karte (ohne GCN) sehen wir Leistungssteigerungen und neue Funktionen, so daß OpenGL-Anwendungen besser laufen. (Wir programmieren gerne mit JavaFX, welches die OpenGL-Untermenge OpenGL-ES benutzt.) Unter dem Strich kann man Deine Ausgangsfrage – „Bringen Mesa-Performance-Upgrades auch pre-AMDGPU-Grafikkarten Vorteile?“ – also mit einem klaren Ja beantworten. Und ich schätze gleichzeitig Letalis' technisch tiefgehende Ausführungen.
|
crazy-biscuit
Supporter
(Themenstarter)
Anmeldungsdatum: 6. November 2010
Beiträge: 4847
|
Reinarden schrieb: Unter dem Strich kann man Deine Ausgangsfrage – „Bringen Mesa-Performance-Upgrades auch pre-AMDGPU-Grafikkarten Vorteile?“ – also mit einem klaren Ja beantworten. Und ich schätze gleichzeitig Letalis' technisch tiefgehende Ausführungen.
Danke für deinen Beitrag! Ich habe den Thread entsprechend als gelöst markiert! Trotzdem bin ich natürlich weiterhin an Erfahrungen, Benchmarks und Meinungen zum Thema interessiert. ☺
|
Reinarden
Anmeldungsdatum: 29. September 2014
Beiträge: 1044
|
Bitte gerne. Weil wir neben einer HD7000er- auch eine HD6000er-Karte benutzen, beobachten wir recht genau, was die fleißigen Radeon- und Mesa-Entwickler so machen für unsere älteren AMD-Karten, und wir sind recht erbaut. (Mit Radeon-Treiber meine ich alle Treiber für AMDs Radeon-Karten, nicht den kleingeschriebenen, speziellen Entwicklernamen radeonsi, r600g, usw.) Neulich dies, Phoronix: R600 Gallium3D Receiving some new Improvements by David Airlie (von Redhat) Auf die aktuell entwickelte Fließkomma-Emulation für diese älteren HD-Karten ohne GCN sind wir auch schon gespannt, weil dann einige 3D-Anwendungen laufen werden, welche bisher nur fehlerhaft oder gar nicht gehen. Z.B. bei dem recht aktuellen 3D-Linux-Spiel Warthunder fehlt nicht mehr viel, bis es auf der HD6000er-Serie auch mit dem freien Radeon-Treiber geht (auf der HD7000er-Serie läuft das Spiel mit dem freien Treiber gut). Bisher müssen wir das Spiel auf der HD6000er immer mit dem alten proprietären, nicht mehr weiterentwickelten AMD-Treiber laufenlassen, welcher nur bis Ubuntu 15 funktioniert. Dabei läuft Warthunder auf derselben HD6000er mit dem freien Radeon-Treiber – bisher noch mit großen Farb- und Texturfehlern im Bereich oberhalb des Horizontes – zwischen 3-5 mal schneller als mit dem alten AMD-Treiber; also z.B. fast 50 fps statt nur 10 fps. Da läuft einem doch das Wasser im Munde zusammen und man ist richtig gespannt auf die Radeon-Fortschritte auch für die alten GCN-losen Karten. ☺
|
Letalis_Sonus
Anmeldungsdatum: 13. April 2008
Beiträge: 12990
Wohnort: Oldenburg/Erlangen
|
Reinarden schrieb: welches die OpenGL-Untermenge OpenGL-ES benutzt.
Als Untermenge würde ich es gerade mit Hinblick auf die älteren Versionen nicht gerade bezeichnen... Reinarden schrieb: Auf die aktuell entwickelte Fließkomma-Emulation für diese älteren HD-Karten ohne GCN sind wir auch schon gespannt, weil dann einige 3D-Anwendungen laufen werden, welche bisher nur fehlerhaft oder gar nicht gehen.
Die einzigen mir bekannten Anwendungen sind bereits zufrieden, wenn man ihnen eine höhere OpenGL Unterstützung vorgaukelt, da sie die FP64 Unterstützung gar nicht verwenden. Leistungstechnisch würde ich mir da nicht unbedingt zu viel von versprechen, das Emulieren von Instruktionen ist gerade im FP Bereich sehr rechenintensiv, selbst wenn man nur Software-Routinen reinlinkt anstelle dies ähnlich wie zum Teil im ARM Bereich über Illegal Instruction Exceptions erledigen zu lassen.
|