a0dc485ceb
* pip-compile docs/requirements.txt Signed-off-by: Peter Jun Park <peter.park@amd.com> Add Sphinx docs config Signed-off-by: Peter Jun Park <peter.park@amd.com> Add Sphinx config Signed-off-by: Peter Jun Park <peter.park@amd.com> Update docs build config Signed-off-by: Peter Jun Park <peter.park@amd.com> * style(conf.py): Apply black formatting to docs/conf.py Signed-off-by: Sam Wu <22262939+samjwu@users.noreply.github.com> * Update docs requirements Signed-off-by: Peter Jun Park <peter.park@amd.com> Update to rocm-docs-core 1.3.0 Signed-off-by: Peter Jun Park <peter.park@amd.com> Update docs requirements Signed-off-by: Peter Jun Park <peter.park@amd.com> pip-compile requirements Signed-off-by: Peter Jun Park <peter.park@amd.com> bump rocm-docs-core to 1.5.0 bump rocm-docs-core to 1.4.1 Signed-off-by: Peter Jun Park <peter.park@amd.com> * Add dependabot.yml and update CODEOWNERS Signed-off-by: Peter Jun Park <peter.park@amd.com> Update toc and conf Signed-off-by: Peter Jun Park <peter.park@amd.com> update dependabot * Port docs to rocm-docs standard Signed-off-by: Peter Jun Park <peter.park@amd.com> Add toc and Diataxis cards Signed-off-by: Peter Jun Park <peter.park@amd.com> Add basic file structure Signed-off-by: Peter Jun Park <peter.park@amd.com> add glossary Signed-off-by: Peter Jun Park <peter.park@amd.com> add includes Signed-off-by: Peter Jun Park <peter.park@amd.com> Add license.rst Signed-off-by: Peter Jun Park <peter.park@amd.com> add compatible hw Signed-off-by: Peter Jun Park <peter.park@amd.com> fix spelling and license Signed-off-by: Peter Jun Park <peter.park@amd.com> clean up index Signed-off-by: Peter Jun Park <peter.park@amd.com> clean up installation guides Signed-off-by: Peter Jun Park <peter.park@amd.com> add basic usage (quickstart) Signed-off-by: Peter Jun Park <peter.park@amd.com> add ref to global options update toc Signed-off-by: Peter Jun Park <peter.park@amd.com> modularize modes and global options Signed-off-by: Peter Jun Park <peter.park@amd.com> add profile mode Signed-off-by: Peter Jun Park <peter.park@amd.com> fixes Signed-off-by: Peter Jun Park <peter.park@amd.com> reorg and clean up Signed-off-by: Peter Jun Park <peter.park@amd.com> add dynamic omniperf version number in installation guide Signed-off-by: Peter Jun Park <peter.park@amd.com> add datatemplate more reorg Signed-off-by: Peter Jun Park <peter.park@amd.com> clean up Signed-off-by: Peter Jun Park <peter.park@amd.com> reorg images move profile mode reorg reorg reorg more fix formatting fix headings ref anchor mi2xx note add extlinks add extlinks Signed-off-by: Peter Jun Park <peter.park@amd.com> black format fix formatting, anchors Signed-off-by: Peter Jun Park <peter.park@amd.com> reorg fix words and formatting Signed-off-by: Peter Jun Park <peter.park@amd.com> formatting Signed-off-by: Peter Jun Park <peter.park@amd.com> same reorg format fix formatting fix toc Signed-off-by: Peter Jun Park <peter.park@amd.com> format * impr internal linking and fix sphinx warnings Signed-off-by: Peter Jun Park <peter.park@amd.com> * add spellcheck/linting from rocm-docs-core Signed-off-by: Peter Jun Park <peter.park@amd.com> fix rst directives satisfy spellcheck fix more spelling rm unused files fix spelling and update wordlist * bump rocm-docs-core to 1.6.0 Signed-off-by: Peter Jun Park <peter.park@amd.com> * add fixes from @skyreflectedinmirrors and @lpaoletti Signed-off-by: Peter Jun Park <peter.park@amd.com> add references to toc Signed-off-by: Peter Jun Park <peter.park@amd.com> add more fixes Signed-off-by: Peter Jun Park <peter.park@amd.com> * add package manager install section Signed-off-by: Peter Jun Park <peter.park@amd.com> * add fixes Signed-off-by: Peter Jun Park <peter.park@amd.com> add metadata and fixes Signed-off-by: Peter Jun Park <peter.park@amd.com> add fixes bump to 1.6.1 more fixes fix fmt in profiling examples Signed-off-by: Peter Jun Park <peter.park@amd.com> add missing mem type table Signed-off-by: Peter Jun Park <peter.park@amd.com> fix formatting fmt * add custom css Signed-off-by: Peter Jun Park <peter.park@amd.com> fix css fs * make images/figs click-to-expand Signed-off-by: Peter Jun Park <peter.park@amd.com> add missed image update fix link * update documentation link in README Signed-off-by: Peter Jun Park <peter.park@amd.com> * formatting fixes Signed-off-by: Peter Jun Park <peter.park@amd.com> more formatting * fix heading Signed-off-by: Peter Jun Park <peter.park@amd.com> * move archived docs Signed-off-by: Peter Jun Park <peter.park@amd.com> * exclude archived docs from docs build Signed-off-by: Peter Jun Park <peter.park@amd.com> * update archived docs workflow Signed-off-by: Peter Jun Park <peter.park@amd.com> move files update archived docs workflow Signed-off-by: Peter Jun Park <peter.park@amd.com> fix version number clean up workflow workflow test workflow test another workflow test * rm docs linting Signed-off-by: Peter Jun Park <peter.park@amd.com> * Apply cmake-format suggested changes Signed-off-by: Sam Wu <22262939+samjwu@users.noreply.github.com> * Apply cmake-format Signed-off-by: Sam Wu <22262939+samjwu@users.noreply.github.com> --------- Signed-off-by: Peter Jun Park <peter.park@amd.com> Signed-off-by: Sam Wu <22262939+samjwu@users.noreply.github.com> Co-authored-by: Sam Wu <22262939+samjwu@users.noreply.github.com>
61 строка
2.7 KiB
ReStructuredText
61 строка
2.7 KiB
ReStructuredText
.. meta::
|
|
:description: Omniperf performance model: Compute unit (CU)
|
|
:keywords: Omniperf, ROCm, profiler, tool, Instinct, accelerator, GCN, compute, unit, pipeline, workgroup, wavefront,
|
|
CDNA
|
|
|
|
*****************
|
|
Compute unit (CU)
|
|
*****************
|
|
|
|
The compute unit (CU) is responsible for executing a user's kernels on
|
|
CDNA™-based accelerators. All :ref:`wavefronts <desc-wavefront>` of a
|
|
:ref:`workgroup <desc-workgroup>` are scheduled on the same CU.
|
|
|
|
.. image:: ../data/performance-model/gcn_compute_unit.png
|
|
:align: center
|
|
:alt: AMD CDNA accelerator compute unit diagram
|
|
:width: 800
|
|
|
|
The CU consists of several independent execution pipelines and functional units.
|
|
The :doc:`/conceptual/pipeline-descriptions` section details the various
|
|
execution pipelines -- VALU, SALU, LDS, scheduler, and so forth. The metrics
|
|
presented by Omniperf for these pipelines are described in
|
|
:doc:`pipeline-metrics`. The :doc:`vL1D <vector-l1-cache>` cache and
|
|
:doc:`LDS <local-data-share>` are described in their own sections.
|
|
|
|
* The :ref:`desc-valu` is composed of multiple SIMD (single
|
|
instruction, multiple data) vector processors, vector general purpose
|
|
registers (VGPRs) and instruction buffers. The VALU is responsible for
|
|
executing much of the computational work on CDNA accelerators, including but
|
|
not limited to floating-point operations (FLOPs) and integer operations
|
|
(IOPs).
|
|
|
|
* The vector memory (VMEM) unit is responsible for issuing loads, stores and
|
|
atomic operations that interact with the memory system.
|
|
|
|
* The :ref:`desc-salu` is shared by all threads in a
|
|
:ref:`wavefront <desc-wavefront>`, and is responsible for executing
|
|
instructions that are known to be uniform across the wavefront at compile
|
|
time. The SALU has a memory unit (SMEM) for interacting with memory, but it
|
|
cannot issue separately from the SALU.
|
|
|
|
* The :doc:`local-data-share` is an on-CU software-managed scratchpad memory
|
|
that can be used to efficiently share data between all threads in a
|
|
:ref:`workgroup <desc-workgroup>`.
|
|
|
|
* The :ref:`desc-scheduler` is responsible for issuing and decoding instructions
|
|
for all the :ref:`wavefronts <desc-wavefront>` on the compute unit.
|
|
|
|
* The :doc:`vector L1 data cache (vL1D) <vector-l1-cache>` is the first level
|
|
cache local to the compute unit. On current CDNA accelerators, the vL1D is
|
|
write-through. The vL1D caches from multiple compute units are kept coherent
|
|
with one another through software instructions.
|
|
|
|
* CDNA accelerators -- that is, AMD Instinct™ MI100 and newer -- contain
|
|
specialized matrix-multiplication accelerator pipelines known as the
|
|
:ref:`desc-mfma`.
|
|
|
|
For a more in-depth description of a compute unit on a CDNA accelerator, see
|
|
:hip-training-pdf:`22` and :gcn-crash-course:`27`.
|
|
|