AW: Navi: Vega 10 könnte AMDs letzte große GPU sein
Damals gab es aber zumindest noch eine zentrale Speicheranbindung. Bei einer Muli-Chip-GPU ist dies nicht möglich, gleichzeitig sind Speicherzugriffe ein wichtiger Aspekt.
In Anbetracht, dass man über den Speicher von Navi nichts außer "nextgen" weiß, finde ich es voreilig zu sagen, dass nicht mehrere Chips gleichzeitig darauf zugreifen werden können. Ich halte eine solche Architektur zwar nicht für wahrscheinlich, aber es gibt durchaus Speicherarten die dies zuließen.
Das ist aber eben nicht so einfach. Das Problem tritt ja sogar schon bei Ryzen auf, obwohl da die beiden CCX noch auf einem Die sitzen und typisches Multitasking bei CPUs meist relativ wenig Zugriffe auf die Daten eines anderen Threads erfordert.
Außer in speziellen Benchmarks war der Unterschied afaik <10%. Das ist zwar durchaus beachtlich, allerdings war das auch ein Worst-Case bei realen Anwendungen. Im breiten Schnitt war der Performance-Nachteil eher gering. Ich denke AMD hätte die Verbindung zwischen den Kernen durchaus auch breiter anlegen können. Das hätte den Engpass beseitigt wäre aber auf Kosten von Chipfläche und Energieverbrauch gegangen. Schlussendlich war es eine Abwägung bei der man etwas weniger Leistung in einem Randbereich für höhere Effizienz im Alltagsbetrieb getauscht hat. Das ist der Preis, den man für ein modulares Design bezahlen muss.
aber bei GPUs ist das nicht so. Da gibt es keine dicken L3-Caches, und selbst die L2 Caches sind pro Kern deutlich kleiner als bei den CPUs. Wenn man dann auf schnelle Speicherzugriffe angewiesen ist wird ein Umweg über einen weiteren Die ordentlich Performance kosten. Egal ob der zusätzliche Die eine zweite GPU, oder ein per Infinity Fabric angebundener Speichercontroller ist.
Es stimmt, dass ein GPU-Kern weniger Cache als ein CPU-Kern hat. Der einfache Grund, von Kostengründen mal abgesehen, ist der, dass man nicht mehr braucht. Während CPUs Low-Latency-Architekturen sind, sind GPUs viel breiter und haben deutlich höhere Latenzen. Wenn ein Thread auf Daten aus dem Speicher warten muss wird einfach an einem anderen Thread weitergerechnet. Sofern die Latenzen gewisse Grenzen nicht überschreiten und die Bandbreite stimmt dürfte die höhere Latenz bei einer GPU deutlich weniger auffallen als bei einer CPU. Mit TSVs über einen Interposer sollte man auch problemlos genügend Bandbreite für die Inter-Die-Kommunikation erreichen können.
Hier sollen jetzt mehrere Dies etwas direkter verbunden werden um die Bandbreite zu erhöhen bzw Latenzen zu verringern. Ob das ganze dann auch wirklich funktioniert ist fraglich.
AMD hatte ja bisher schon Probleme die Shader voll auszulasten (seit der 4xx Reihe haben sie das ziemlich gefixed) was mit Multi-Die und noch mehr Shadern nur ein noch größeres Problem wird.
Die Probleme hatten aber wenig mit dem SI und nur teilweise mit dem Cache-Subsystem zu tun, sondern mehr mit der Architektur des Backends selbst und dem Verhältnis Front- zu Backend. Einer der Hauptgründe für immer mehr Bedarf an Shaderleistung sind nicht in erster Linie komplexere Berechnungen, sondern einfach steigende Auflösungen und diese lassen sich gut mit einfach mehr Shadern erschlagen.
Die meisten sprechen ja über Infinity Fabric als Verbindung zwischen den Chips,
hab da aber eine andere Idee....
Das eine schließt das andere nicht aus. Bisher wird IF z.B. bei Zen on-Die zur Verbindung der beiden CCX verwendet. Bei Multi-CPU-Systemen werden andererseits aber auch mehre CPUs damit verbunden und auch die Verbindung von CPU und GPU sowohl on-Die (Raven Ridge) als auch mit einer dGPUs soll darüber laufen. Mich würde es daher nicht übermäßig wundern, wenn man IF nicht auch z.B. für die Anbindung per TSVs über ein Interposer adaptieren könnte.
Danke für die Unterstützung/Bestätigung meiner Skepsis.
Warum wird diese "Experteneinschätzung" nicht in den Artikel eingepflegt?
Es würde einiges an Diskussion ersparen
Wo bliebe da der Spaß.
Abschließend zu meiner ganz persönlichen Einschätzung: Ich denke nicht, dass AMD so einen Sprung gleich beim ersten Versuch richtig gut hinbekommen wird. Das dürfte ähnlich schwierig, wenn nicht sogar schwieriger als der IMC sein. Allerdings halte ich es für technisch machbar eine solche Multi-Chip GPU zu entwerfen, die eine zu monolithischen Designs vergleichbare Leistung erbringt. An die Effizienz einer monolithischen GPU wird sie zwar nicht herankommen, aber die Kosten sollten das mehr als ausgleichen.