From 783193c75f41e2a8d6a707217e1b806ea90a596e Mon Sep 17 00:00:00 2001 From: anisha-amd Date: Wed, 28 May 2025 14:03:47 -0400 Subject: [PATCH] adding L2 model with updated legend and removal of large images (#718) * adding L2 model with updated legend and removal of large images * changed image name to perf_model --- docs/conceptual/l2-cache.rst | 28 +++---------------- docs/data/performance-model/l2perf_model.png | Bin 0 -> 51026 bytes 2 files changed, 4 insertions(+), 24 deletions(-) create mode 100644 docs/data/performance-model/l2perf_model.png diff --git a/docs/conceptual/l2-cache.rst b/docs/conceptual/l2-cache.rst index b71e0f899b..b9752f1baa 100644 --- a/docs/conceptual/l2-cache.rst +++ b/docs/conceptual/l2-cache.rst @@ -311,7 +311,7 @@ Request flow The following is a diagram that illustrates how L2↔Fabric requests are reported by ROCm Compute Profiler: -.. figure:: ../data/performance-model/fabric.png +.. figure:: ../data/performance-model/l2perf_model.png :align: center :alt: L2-Fabric transaction flow on AMD Instinct MI-series accelerators :width: 800 @@ -350,38 +350,18 @@ accelerator’s local HBM, and an uncached write request. The request-flow diagram marks *exclusive* classifications as a splitting of the flow, while *non-exclusive* requests do not split the flow line. For example, a request is either a 32B Write Request OR a 64B Write request, as the -flow splits at this point: - -.. figure:: ../data/performance-model/split.* - :align: center - :alt: Splitting request flow - :width: 800 - - Splitting request flow +flow splits at this point. However, continuing along, the same request might be an atomic request and an -uncached write request, as reflected by a non-split flow: - -.. figure:: ../data/performance-model/nosplit.* - :align: center - :alt: Non-splitting request flow - :width: 800 - - Non-splitting request flow +uncached write request, as reflected by a non-split flow. Finally, we note that :ref:`uncached ` read requests (e.g., to :ref:`fine-grained memory `) are handled specially on CDNA accelerators, as indicated in the request flow diagram. These are expected to be counted as a 64B Read Request, and *if* they are requests to uncached memory (denoted by the dashed line), they will also be -counted as *two* uncached read requests (that is, the request is split): +counted as *two* uncached read requests (that is, the request is split). -.. figure:: ../data/performance-model/uncached.* - :align: center - :alt: Uncached read-request splitting - :width: 800 - - Uncached read-request splitting. .. _l2-request-metrics: diff --git a/docs/data/performance-model/l2perf_model.png b/docs/data/performance-model/l2perf_model.png new file mode 100644 index 0000000000000000000000000000000000000000..49489369a5571629061c7325cd2ec05ba86f3649 GIT binary patch literal 51026 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 J)~eV>|1XJ$IN$&P literal 0 HcmV?d00001