[wege]mini schrieb:
wenn der Chip an der Latenz hängt,
In der Regel hängen GPUs nicht an der Latenz, sondern alleine an der Bandbreite. Latenzen sind für "moderne" CPUs heute zum Teil entscheidend, weil sie Out-Of-Order arbeiten, dazu kommen auch Techniken wie spekulative Ausführung. Diese Techniken machen den Zugriff auf den RAM für den Compiler quasi unvorhersehbar und die CPU bekommt zwar die Anweisungen, dass sie was aus dem RAM laden soll, muss das in der Regel, aber früh wie möglich machen, dass keine Wartezeit entsteht. Entsprechend arbeiten Intel und AMD auch an ihrem Data-Prefetcher, der Daten möglichst rechtzeitig aus dem RAM in den L2 und L1-Cache verschiebt. Ist natürlich weit komplexer, weil da auch das Registerfile, das Register-Set der ISA und CO mit spielen.
GPUs arbeiten immer noch weitgehend In-Order und entsprechend ist das Vorhersagen, welche Daten am Ende in im welchen Cache sein müssen, wesentlich effizienter und einfacher zu planen. Selbst moderne GPUs, die "selbstständiger" agieren, arbeiten in ihren eigentlichen Rechenwerken immer noch In-Order und die "Logik" der Chips, die die CPU entlasten, machen das, was vorher der Treiber gemacht hat.
[wege]mini schrieb:
… da hohe Taktraten meist eine höhere Latenz verlangen, trotz größerem Durchsatz …
Die Latenzen bei GDDR sind - selbst wenn man es freundlich ausdrückt - mehr als bescheiden. Das lässt sich wunderbar am AMD Ryzen 4700S sehen. Während eine GPU mit den schlechten Latenzen wunderbar zurechtkommt, weil man In-Order arbeitet, der Compiler als auch der Treiber sowie die Steuerlogik in der GPU weitgehend wissen, was sie benötigen, spielt die Latenz keine Rolle.
Für die CPU, die mit OoO, spekulativer Ausführung, ist das nur bedingt möglich, entsprechend kann sie von der Bandbreite nicht profitieren und leidet unter der Latenz.
[wege]mini schrieb:
Was man daraus macht, ist wichtig und die Jungs auf der Softwareseite, arbeiten hart daran, die Latenz eher weniger wichtig zu machen und den Durchsatz zu präferieren.
Das sind nicht nur die Jungs auf der Softwareseite, die daran arbeiten, sondern es ist das gesamte Konzept auf Hardware-Ebene, dass darauf ausgelegt ist, dass "viele" Daten gefüttert werden, dafür die Latenz nicht entscheidend.
Es hat einen Grund, warum GPUs bis heute immer noch weitgehend In-Order arbeiten und wenn es OoO gibt, diese auf einer anderen Ebene stattfindet.