- Registriert
- Juli 2021
- Beiträge
- 4.006
Du weißt schon, wie ein Read-Buffer funktioniert und du hast auch verstanden, warum im LLVM Await-Befehle für die Abfrage vorhanden sind? Du hast auch schon verstanden, dass der L0 seine Daten zwar im L2 anfragt, diese aber dann im GL1 abholt?Locuza schrieb:Übrigens war der L1 Cache von Anfang an ein Read-Only-Cache (RDNA 1-3).
Beim RDNA4 L1 Buffer werden keine ordinären Programmdaten mehr gecached, bei einem L0 Miss muss danach der L2 Cache gechecked werden, im L1 Buffer gibt es garantiert nichts.
Irgendwie versuchst du jetzt auf Teufel komm raus recht zu behalten, und warum? Weil ich schrieb, dass das nicht so ganz stimmt? Ich habe nicht geschrieben, dass deine Aussage falsch, sondern dass sie an der Stelle aber eben auch nicht ganz richtig ist.
Du behauptest darauf, dass dann AMD in den ISA-Docs ja nur Copy-Past macht und schickst die Hinweise zum LLVM, in dem Await-Befehle und alles genau beschrieben wird und wie es arbeitet. Ich gestehe dir dann sogar zu, dass eben der L1-Cache in der Form wie bisher nicht existiert - Read-Only - sondern als Lese-Buffer agiert und womit kommst du, dass er vorher ein READ-ONLY War? Du willst mir ein Strick jetzt draus drehen, das ich sagte, dass er nicht mehr in der bisherigen Form existiert sondern als Lese-Buffer, so wie AMD es selbst beschreibt?
Und du lieferst dann die Erklärung für das ab, was ich beschriebne habe, etwas genauer NUR in dem Fall wirklich weitgehend falsch, weil du denkst dass es bei eime Read-Buffer dann zu einem Cache-Miss kommen kann, wenn der L0 vorher über den L1 beim L2 die Daten explizit anfragt und darauf wartet, bis de im GL1-Lesebuffer sind und da abgeholt werden...
... Ne, letzter Beitrag zu dem Thema, natürlich mit entsprechenden Konsequenzen.
-- Boah, ich geb es zu, du REGST mich gerade sowas von auf ... hier auch mal zu deiner Behauptung mit dem ISA-Doc und Copy-Past:
Und der ganze Abschnitt für RDNA 3:1.2.3. Device Memory
The AMD RDNA4 devices offer several methods for access to off-chip memory from the processing elements
(PE) within each WGP. On the primary read path, the device consists of multiple channels of L2 cache that
provides data to read-only L1 caches, and finally to L0 caches per WGP. The memory cache is formed by two
levels of cache: the first-level (GL1) for write-combining cache (collect scatter and store operations and
combine them to provide good access patterns to memory); the second (L2) is a read/write cache with atomic
units that lets each processing element complete unordered atomic accesses that return the initial value.
Specific cache-less load instructions can force data to be retrieved from device memory during an execution of
a load clause.
The instruction cache provides shader instructions to each SIMD, and the constant cache provides access to
scalar constants. Both of these caches are read-only.
Each processing element provides the destination address on which the atomic operation acts, the data to be
used in the atomic operation, and a return address for the read/write atomic unit to store the pre-op value in
memory.
Each store or atomic operation can receive an acknowledgment from the cache system to the requesting PE
upon completing the write at the requested cache scope, or for atomics-with-return value, upon receiving the
"pre-op" value from memory. This acknowledgment enables one processing element to implement a fence to
maintain serial consistency by ensuring all writes have been posted to memory prior to completing a
subsequent write. In this manner, the system can maintain a relaxed consistency model between all parallel
work-items operating on the system. Each scatter write from a given PE to a given memory channel maintains
order.
Ja, es ist ja nur Copy&Past und ein Fehler. Da steht im Endeffekt genau aber das drin, weswegen ich sagte, dass deine Aussage eben nicht so ganz stimmt. Aber statt mal zu zugeben, dass man hier mal selbst ungenau war, versuchst du auf Teufel komm raus nun irgendwie "Recht" zu behalten und schwenkst dann auf das, was ich beschrieben habe um, und dass erklärst du dann auch noch falsch, weil du behautest im GL1 gäbe es dann ein Miss, dabei schiebt der L2 seine Daten da nach Anfrage hin rein, damit es abgeholt wird. Aber Hauptsache irgendwie recht haben.1.2.3. Device Memory
The AMD RDNA3 devices offer several methods for access to off-chip memory from the processing elements
"RDNA3" Instruction Set Architecture
1.2. Hardware Overview 7 of 600
(PE) within each WGP. On the primary read path, the device consists of multiple channels of L2 cache that
provides data to read-only L1 caches, and finally to L0 caches per WGP. Specific cache-less load instructions
can force data to be retrieved from device memory during an execution of a load clause. Load requests that
overlap within the clause are cached with respect to each other. The output cache is formed by two levels of
cache: the first for write-combining cache (collect scatter and store operations and combine them to provide
good access patterns to memory); the second is a read/write cache with atomic units that lets each processing
element complete unordered atomic accesses that return the initial value. Each processing element provides
the destination address on which the atomic operation acts, the data to be used in the atomic operation, and a
return address for the read/write atomic unit to store the pre-op value in memory. Each store or atomic
operation can be set up to return an acknowledgment to the requesting PE upon write confirmation of the
return value (pre-atomic op value at destination) being stored to device memory.
This acknowledgment has two purposes:
• enabling a PE to recover the pre-op value from an atomic operation by performing a cache-less load from
its return address after receipt of the write confirmation acknowledgment, and
• enabling the system to maintain a relaxed consistency model.
Each scatter write from a given PE to a given memory channel maintains order. The acknowledgment enables
one processing element to implement a fence to maintain serial consistency by ensuring all writes have been
posted to memory prior to completing a subsequent write. In this manner, the system can maintain a relaxed
consistency model between all parallel work-items operating on the system.
Nein, eine Entschuldigung an alle anderen, aber sowas ärgert mich echt Maß los!
Zuletzt bearbeitet: