Land_Kind schrieb:
Besonders Entwickler sollten in den kommenden Jahren auch davon profitieren können.
Ich will dazu mal anmerken, dass der Artikel auf Igorslab an der Stelle teilweise doch ein etwas "zu klassisches" Bild von Software-Entwicklung zeichnet und daher auch etwas verfälschend ist.
In der Regel kann man in LLVM und GCC am Ende gerade solche Erweiterungen durch ein gesetztes Flag aktivieren und muss sich um eigentlich nichts mehr kümmern. Wirklich mit AVX10 sowie APX befassen muss man sich erst, wenn man entweder Compiler-Entwickler ist, oder wirklich spezielle Bibliotheken entwickelt und dort dann auch gezielt Mikro-Optimierungen vornehmen muss. Im großen Alltag interessiert das allerdings nicht.
Land_Kind schrieb:
Die Profis hier im Forum können jedoch bestimmt besser als ich beurteilen, ob dem tatsächlich so ist.
Kommt an der Stelle darauf an, was du mit profitieren meinst. In den meisten Fällen befasst man sich als Entwickler mit solchen Erweiterungen auf CPU-Ebene überhaupt nicht, weil diese Erweiterungen überhaupt keine Relevanz haben.
In einem Programm schreibe ich let
var1 = var2 * var3 + var4. Vollkommen unabhängig davon, ob die CPU nun klassisches "x86" ist, oder dann APX kann. Der Compiler übersetzt das. Wenn ich sowas noch in Schleifen oder an andere Stelle mache, baut ein Compiler ggf. auch noch eine Vektorisierung ein, und entscheidet dann, ob per SSE, AVX1, AVX2, AVX512 oder dann AVX10.1/10.2.
Als Entwickler ist man in der Regel bemüht passende Bibliothekn zu nutzen - wie z.B. bei Apple die Vector-API in Swift:
https://developer.apple.com/documentation/accelerate/working-with-vectors
Das geht dann sogar soweit, dass hier der Compiler ZUSAMMEN mit dem OS entscheiden, ob hier nun CPU oder gar ne GPU besser wäre.
Sobald du quasi die Betriebssystem/Kernel-Ebene verlässt - und das machen quasi 99 % der Entwickler, nimmst du sowas wie APX und AVX10 "nickend" hin, arbeitest aber wie gehabt weiter. Profitieren am Ende tut das Programm, man selbst aber weniger,
Nightspider schrieb:
Man sieht ja schon an Benchmarks das größerer Cache viel Einfluss auf die CPU Leistung hat. Wenn durch die größeren, effizienteren Register vielleicht 10% (geraten) der Cache Zugriffe abgefangen werden können, dann dürfte man das an den FPS definitiv merken.
Das Thema ist an der Stelle etwas komplexer und kann so genau nicht beantwortet werden, weil bei Spielen ein paar Sachen zusammen kommen - zum Beispiel auch die Datensynchronistation zwischen mehreren Threads, die wiederum stark vom Cache profitiert, weil Daten schneller zwischen CPU-Kernen getauscht werden.
Die CPU hat zwar am Ende weniger Load, Store, Mov Befehle, allerdings ist das keine Synchronistation über Threads hinweg. In wie weit sich das dann auf die FPS auswirkt? Keine Ahnung. Es könnte auch sein, dass die FPS kaum bis garnicht steigen, dafür aber die Effizienz besser wird.