News AMD Zen 4: GNU Compiler Collection mit Tuning für Ryzen und Epyc

SVΞN

Redakteur a.D.
Registriert
Juni 2007
Beiträge
22.722
  • Gefällt mir
Reaktionen: Laderemal, aid0nex, Vorgartenzwerg und 14 andere
Warum kümmert sich AMD da so schlecht drum? Ist das nicht gerade für den Server-Markt relevant?
 
Vor allem für den Benchmarkbalken wäre es bei Release gut gewesen, aber für gewöhnlich vergehen da Jahre. Viele Projekte nutzen noch QT < 5.12. Ein Compilerwechsel kann da durchaus sogar noch länger dauern.
 
  • Gefällt mir
Reaktionen: NMA
Muss mal Danke sagen, das immer mehr Linux News und Beiträge auf CB erscheinen. 👍
 
  • Gefällt mir
Reaktionen: DEADBEEF, aid0nex, DaToni und 20 andere
@BLACKDIAMONT wir sagen danke, dass diese News so gut angenommen und fleißig gelesen werden. :)

Danke für das nette Feedback!

Sven
 
  • Gefällt mir
Reaktionen: flo.murr, Cookie4u, Tzk und 16 andere
In der commit message ist ein typo. Sollte wohl 'scatter instructions' heißen. Aber wenn ich mir meine eigenen commit messages so anschaue sind die auch nicht gerade fehlerfrei.
 
  • Gefällt mir
Reaktionen: Tzk, WillardBL und Topflappen
Cr4y schrieb:
Warum kümmert sich AMD da so schlecht drum? Ist das nicht gerade für den Server-Markt relevant?
Ich habe keine weitreichenden Statistiken aber zumindest bei uns wird überall Clang eingesetzt statt GCC (weil einfacher mit Lizenzen) und ich vermute dass es in den meisten kommerziellen Fällen ähnlich ist. Und clang unterstützt Zen 4 Instructions schon seit einem Monat.
 
Geht es um Optimierungen mittels GCC kompilierten Programmen für Zen 4 oder um Performanceoptimierungen von GCC für Zen 4 CPUs?
Letzteres wäre ja eher uninteressant.
 
Piak schrieb:
Vor allem für den Benchmarkbalken wäre es bei Release gut gewesen, aber für gewöhnlich vergehen da Jahre. Viele Projekte nutzen noch QT < 5.12. Ein Compilerwechsel kann da durchaus sogar noch länger dauern.

Ich weiss nicht, wie die versionsübergreifende Code-Integrität bei Qt ist, da ich persönlich GTK nutze (sowohl zum Coden, als auch generell als Desktop-Grundlage), aber hier ist es so, dass sich zum Major-Versionssprung von z.B. GTK3 auf GTK4 unter der Haube viel geändert hat, was einen Merge vorhandener Projekte teils ziemlich erschwert. Deswegen ist es auch in der GTK Welt so, dass auch heute noch viele Tools auf GTK3 setzen, da ein Upgrade teils mit massivem Refactoring verbunden ist (habe den Krampf in eigenen Projekten schon mitgemacht). Und solange der Support der Vorversion noch gewährleistet wird.... Why not... Und das sind nur Frameworks und Libraries....

Compiler und deren Programmiersprachen sind da nochmal ein ganz anderes Level.... Und wie im Artikel ersichtlich ist, kommt hier noch erschwerend hinzu, dass die Entwickler nur sehr ausgedünnten Support für die (neue) Hardware erhalten, wodurch Reverse Engineering und viel Eigeninitiative von Nöten sind, was sehr viel Zeit in Anspruch nimmt- und ins Land fliessen lässt...

Im Nachgang kommen dann auch hier dieselben Probleme zum Tragen, die ich bzgl. Frameworks oben angeschnitten habe, weswegen in den meissten Distributionen, per Default, so gut wie nie aktuelle Compiler-Versionen enthalten sind..... Ist halt alles nicht so einfach, wie man denkt..... :-)
 
JunkScore schrieb:
Ich habe keine weitreichenden Statistiken aber zumindest bei uns wird überall Clang eingesetzt statt GCC (weil einfacher mit Lizenzen) und ich vermute dass es in den meisten kommerziellen Fällen ähnlich ist. Und clang unterstützt Zen 4 Instructions schon seit einem Monat.
In dem letzten C++ Projekt, an dem ich mitarbeitete, bauten und testeten die Buildserver unter Windows, Linux und MacOS. GCC, Clang ICC und Ninja (VS), jeweils mehrere verschiedene Versionen.
 
GCC13 .... Puh.

Das erinnert mich daran wie ich vor sehr sehr langer Zeit viel Zeit investiert habe, um mein damaliges Gentoo System mit gcc3 neu zu kompilieren.

Ich bin alt....
 
WillardBL schrieb:
In dem letzten C++ Projekt, an dem ich mitarbeitete, bauten und testeten die Buildserver unter Windows, Linux und MacOS. GCC, Clang ICC und Ninja (VS), jeweils mehrere verschiedene Versionen.
Vlt verstehe ich was falsch aber ich dachte hier geht es nur um die CPU-spezifischen Optimierungen, d.h. für den Fall, dass man für seinen PC kompilieren und der auch nur darauf laufen soll. Mit der kompletten Architektur als Target müsste es eigentlich schon ab Release gehen
 
JunkScore schrieb:
Vlt verstehe ich was falsch aber ich dachte hier geht es nur um die CPU-spezifischen Optimierungen, d.h. für den Fall, dass man für seinen PC kompilieren und der auch nur darauf laufen soll.
Laufen wird der Code auch mit älteren Compilern auf neuerer Hardware, sofern ältere Instruction Sets nicht wegrationalisiert wurden... Die neuen liegen dann halt brach, was nachteile bringen kann....

JunkScore schrieb:
Mit der kompletten Architektur als Target müsste es eigentlich schon ab Release gehen
"Gehen" ja...Aber ein Pentium 3 gehört z.B., wie auch ein i9 13900K, zur Architektur x86 beinhaltet aber beileibe nicht dasselbe verfügbare Instruction Set..... Das heisst: Du kannst auf einem aktuellen i9 auch Software mit einem Compiler aus P3-Zeiten bauen, wie sinnvoll das ist, sei aber mal dahingestellt, da Du viele Neuerungen, die die Hardware bietet, softwareseitig nicht nutzen kannst.....
 
JunkScore schrieb:
Vlt verstehe ich was falsch aber ich dachte hier geht es nur um die CPU-spezifischen Optimierungen, d.h. für den Fall, dass man für seinen PC kompilieren und der auch nur darauf laufen soll. Mit der kompletten Architektur als Target müsste es eigentlich schon ab Release gehen
Jein. Was hindert jemanden daran, ein Programm - zum Beispiel eine Bibliothek für mathematische Berechnung - als kombilierte .DLLs bzw. .SO Dateiein, optimiert auf jeweils andere Architektur, bereitzustellen.
Die Unterschiede sind da teils beträchtlich.

Auf godbolt.org kann man sich den kompilierten Maschinencode für unterschiedliche Compiler ansehen. Sehr lehrreich.
 
Also für den "Normalnutzer" (Gaming, etc.) ändert sich jetzt nichts, hab ich das richtig rausgelesen? :D
 
Traurig eine Ryzen 7600x mit Zen3 Instructions laufen lassen zu müssen.
Wenn die Gentoo Wiki auf znver3 verweist, werde ich keine Experimente eingehen.
Ergänzung ()

ToflixGamer schrieb:
Also für den "Normalnutzer" (Gaming, etc.) ändert sich jetzt nichts, hab ich das richtig rausgelesen? :D
Etwas performance liegt schon brach speziell bei gnu gentoo linux. Auch fürs gaming und für den Desktop Betrieb, usw.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ToflixGamer
Zurück
Oben