Nach Lesen der gedruckten Ausgabe eine Anmerkung zum Statement "
...den AMD driver weglassen...", an dem ich so meine Zweifel habe, weil ich mich frage,
warum immer von "Inter-CCD Latenz" geredet wird.
Nach meiner Recherche gibt es zwischen den L3-Caches der beiden CCDs keine direkte Verbindung, ein L3 nimmt die "victims" der L2 der Cores seines CCD auf, eine CCD-IOD-CCD L3-Übertragung finde ich in keiner Folie.
D.h. der L3 wird nur befüllt wird, wenn Speicherinhalte des vollen L2 eines Cores durch neue ersetzt werden. Und neu in den L2 eines Cores kommen Speicherinhalte nur, indem der Core diese per Instruktion einliest. Einen "Hintenrum-Mechanismus", bei dem sich die L3 der beiden CCDs selbst synchronisieren würden, habe ich in keiner Folie gefunden.
Sehe ich mir dann die zweifarbige Tabelle mit den "Inter-CCD" Latenzen an, bei denen von 70-80 Nanosekunden "zwischen beiden CCDs" die Rede ist, sehe ich Werte, die auch vom RAM-Lesen stammen könnten, da sie DDR5-6000 CL30 inkl. IOD-Latenz unterbieten.
Der
nicht nur von euch verwendete
MicroBenchX referiert bzgl. Core-Core-Latency auf den
CoherencyLatency, der einfach zwei Threads per Affinitymask auf jeweils verschiedene Cores zwingt, die dann einen Speicherbereich entweder "
Interlocked", also exklusiv beschrieben (
CMPXCHG8B lässt grüßen

) oder nur lesend beharken. Einen direkten Zusammenhang zu explizitem L3 Lesen/Schreiben finde ich nicht, das passt auch zu meinem Finding, dass der L3 ein Victim-Overflow der Core-L2's ist und nichts anderes.
Übrigens muss beim Interlocked-Schreiben über beide CCDs das jeweils andere CCD über die Sperre informiert und dort die L1/L2/L3 Caches invalidiert werden (Cache-Ping-Pong, Thrashing), ich nehme an, das erhöht die Latenz ggü. dem reinen RAM-Zugriff (DDR-6000 mit CL30 etwa 10 ns) ebenso wie die Latenzen zwischen RAM, IOD und CCDs.
Lt.
Cohen/Subramony hat der 32 MB L3-Cache eine Zugriffszeit von 8 Prozessor-Cycles, bei 5 GHz wären das 1,6 Nanosekunden, das ist viel kürzer als die MicroBenchX Same-CCD Messung von 22 ns
D.hl MicroBenchX Same-CCD misst ebenfalls nicht die L3-Cache-Latenz, sondern das Exclusiv-Schreiben und dessen Auswirkungen ausserhalb des CCD (evtl. verhindert das IOD den Parallelzugriff durch PCIe/DMA auf die exklusiv beschriebenen Speicherstellen?)
Aus den genannten Punkten geht für mich hervor, dass es keine "Inter-CCD-Latenzen" gibt, vielmehr alles mit konkurrierenden RAM-Zugriffen erklärt werden muss und schliesse daraus:
- Workloads, deren Threads vorwiegend thread-lokale Daten beharken, profitieren von 2 x 96 MB L3
- Workloads, deren maximal 16 Threads vom Treiber auf ein CCD gezwungen werden, profitieren ebenfalls
- Workloads, die einen Großteil thread-übergreifende Daten bearbeiten und die nicht auf demselben CCD laufen, profitieren nicht.
Sollten meine Annahmen stimmen, dürfte ohne den AMD Treiber die Gaming-Performance auf dem 9950X3D2 genauso runtergehen wie auf den anderen Dual-CCD X3Ds, da Windows nativ bzgl. der Threadverteilung keine CCDs kennt,.
Der Test des 9950X3D2 war mir persönlich wichtig.
Aber grau ist alle Theorie und grün eure Tests, die also nicht nur dir persönlich wichtig sind

Wär doch wirklich interessant, wie sich Games ohne den AMD-Treiber verhalten?!?