- Registriert
- Juli 2021
- Beiträge
- 2.717
Die nackten Zahlen, also Shader, TMU, TAU, ROP, RT-Kerne, Tensore/Matrix-Kerne usw. geben erst mal eine grobe Richtung vor, man kann aber nicht direkt daraus schließen, welche Architektur am Ende wirklich mehr Leistung bringt.Serandi schrieb:Was mir auch oft aufgefallen ist, wenn man z.B. mal alle Bauteile einer RTX 3090 mit einer RX 6900 XT vergleicht, dass die RTX Karten rein technisch gesehen VIEL MEHR Leistung haben sollten als die RX Karten 🤔 mehr Shader Units, mehr Compute Units, besserer Grafikspeicher und viel mehr Bandbreite, nur um ein paar davon zu nennen.
Deswegen kann man auch von der theoretischen Rechenleistung, die man oft findet, nicht auf die Leistung schließen. Es kommt nicht nur auf die Anzahl der ganzen Einheiten an, sondern auch, wie diese organisiert werden.
Man sollte sich hier von dem Wort "überlegen" trennen, denn das weckt einen falschen Eindruck. NVIDIA verbaut von fast allem einfach mehr Einheiten, das bedeutet aber nicht, dass sie damit überlegen wären.Serandi schrieb:Fast in allen technischen Aspekten sind die Nvidia Karten den AMD Karten doch bei weitem überlegen und dann sind die Karten bei der Gaming Performance pi x 👍 gleich auf oder hier etwas besser, da etwas schlechter (mal Raytracing außen vor gelassen). Wie kommt das überhaupt zustande?
Die Probleme haben nicht viel mit mit 7nm vs. 8nm zutun. In wieweit 7nm dem 8nm von Samsung wirklich überlegen ist, ist eher eine akademische Frage. Es gibt keine Navi21 in 8nm und 7nm und es gibt auch keine GA102, GA104 in 7nm und damit kann man Spekulationen äußern. AMD wird einen Fertigungsvorteil haben, wie groß der am Ende wirklich ist, keine Ahnung.Serandi schrieb:Ist es dem Unterschied des Fertigungsverfahrens von 7nm vs 8nm geschuldet oder vielleicht rein softwarebedingt bzw treiberseitig zu betrachten?
Die "Probleme" von Ampere kommen - und das erkennst du richtig - vom Treiber und Software, dazu gleich mehr.
Ich mach es mal etwas genauer.Colindo schrieb:Das liegt daran dass in der letzten Generation zwei Effekte stattfanden: Nvidia hat die Zahl der Shader bei gleichem Grundaufbau verdoppelt. Das heißt es ist für Nvidia viel schwieriger, die Shader zu füttern als zuvor.
NVIDIA hat bei Turing in der SM einen 64 + 64 Aufbau bei den Shadern, nominell 128, aber NVIDIA gab nur 64 Shader an, da die für die FP-Berechnung vorgesehen waren, die anderen 64 Shader waren für INT reserviert. Diese 64 Shader arbeiten nach dem SIMD-Prinzip, Single Instruction Multiple Data und das ist der "Knackpunkt". Diese 64 Shader müssen zur gleichen Zeit den gleichen Befehl ausführen, nur eben auf unterschiedliche Daten. Man spricht dann von Vektoren.
Bei Ampere ist es ähnlich, auch Ampere hat einen 64 + 64 Aufbau, nur das es jetzt eben einen 64er Cluster für FP und einen 64er Cluster für FP oder INT gibt. Erneut gilt dass 64 Shader immer die selbe Anweisung ausführen müssen und dass auch mit 64 Werten. Kurz um, man braucht bei Ampere nun zwei Vektoren á 64 Werte, damit Ampere ausgelastet wird und das ist der Knackpunkt bei Ampere und das wird auch der Knackpunkt bei Hopper sein, nur das Hopper wieder etwas umbaut. Ich verwende ab jetzt Threads, vereinfacht gilt hier: Vektor = Thread.
NVIDIA braucht pro SM 2 Threads - bei neueren Gerüchten zu Ada sind es dann 3 Threads - und jeder Thread benötigt 64 Werte, damit die Rechenleistung auch auf die Straße kommt. Und hier liegt jetzt der Vorteil von AMD und dem Umbau von RDNA:
GCN hatte pro CU 64 Shader, aber organisiert in 4 * 16, also brauchte GCN immer 4 Threads pro CU, damit diese optimal ausgelastet wird, was dazu führte, dass GCN zu Teilen nicht genutzt wurde und nicht ausgelastet wurde. AMD hat bei RDNA den Aufbau pro CU auf 2 * 32 geändert, so dass man nur noch 2 Threads braucht und diese müssen für die optimale Auslastung auch nur 32 Werte haben.
Bei der Grafikberechnung heute hast du heute zwei Herausforderungen bei der Hardware: 1. Du musst genug Threads zusammen bekommen um die Hardware auszulasten. 2. Du musst pro Thread auch genug Daten zusammen bekommen. AMD hatte bei GCN das Problem 1. NVIDIA hat bei Ampere das Problem 2.
Diese Probleme hängen auch mit der Auflösung zusammen, die berechnet wird, je höher die Auflösung, dessomehr Daten kommen zusammen. Deswegen haben AMD Karten während der GCN Ära je höher die Auflösung wurde, immer mehr zur GeForce aufgeholt und jetzt hat NVIDIA das ähnliche verhalten: Je höher die Auflösung wird, dessoeher kann sich NVIDIA von AMD absetzen.
Und jetzt etwas Zukunftsmusik: AMD und NVIDIA stehen bei neuen Grafikkarten allgemein vor einem Problem, was die Auslastung angeht und NVIDIA und AMD bewegen sich aktuell sowohl mit Ada als auch mit Navi3x auf die gleiche Wand zu. Die 4090 wird vermutlich 90 % schneller - synthetischer Benchmark - als die 3090. NVIDIA erhöht dazu den Shader-Count von 10752 auf 16384 - also um 50 % und beim Takt geht es von 1700 MHz auf 2500 MHz hinauf, also um knapp 47 %. Aus beidem holt NVIDIA 90 % mehr Leistung. Bei der 3090 stehen 350 TDB/TBP, bei der 4090 450 TDB/TBP, also ca. 28 %. NVIDIA legt also bei der Effizienz also um ca. 50 % zu - auch das was AMD für RDNA3 angibt.
Bei AMD wird von RDNA2 zu RDNA3 angenommen, dass statt 2 * 32 pro CU nun 4 * 32 Shader verbaut werden, was am Ende bei 48 WGP (2*CU) zu den 12288 Shadern führt. Der Schritt ist - wenn man genau darüber nachdenkt, aber nicht verwunderlich, sondern logisch, denn AMD hat bei GCN 4 TMU/TAU auf 4 Threads und dahin geht es jetzt zurück bei AMD. Es scheint also, dass aktuell die TMU/TAU nicht ausgelastet sind und man ggf. so noch mehr Threads laufen lassen kann.
AMD wird bei RDNA nun ca. 384 Threads für die optimale Auslastung benötigen. NVIDIA ist bei Ada bei 256 Threads angelagt.
Nur sind die 16384 Shader bei Ada noch nicht in Stein gemeißelt, es gibt Gerüchte, die besagen, dass ein 3 Pfad für 32 INT-Werte dazu kommt, also sind es vielleicht 64 + 64 + 32, was dann in 160 Shadern endet (NVIDIA wird aber nur 128 angeben) und am Ende bräuchte man dann hier auch 384 Threads um wirklich alles auszulasten.
AMD hat dann weiterhin den Vorteil, das es einfacher ist 32 Werte pro Thread zusammen zu bekommen, als 64 wie NVIDIA. Das Duell wird also auch dieses mal spannend.
Und ich glaube AMD hält sich aktuell auch - wie bei RDNA2 - bedeckt, weil sie nicht zu viel auf einmal raus lassen wollen.
Ergänzung ()
Nein, nicht unbedingt. N4 ist ein angepasster N5. Der Vorteil hier für NVIDIA gegenüber AMD ist überschaubar und kann man weglassen.MasterAK schrieb:Stimmt nicht. AMD nutzt N5 für den GCD und N6 für die Cache Chips. Nvidia nutzt N4. Also hat Nvidia sogar nen Fertigungsvorteil.