Docs: refactor and integrate into ROCm docs portal (#362)
* 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>
This commit is contained in:
committed by
David Galiffi
parent
96803e327c
commit
a0dc485ceb
@@ -0,0 +1,47 @@
|
||||
.. _normalization-units:
|
||||
|
||||
Normalization units
|
||||
===================
|
||||
|
||||
A user-configurable unit by which you can choose to normalize data. Options
|
||||
include:
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Description
|
||||
|
||||
* - ``per_wave``
|
||||
- The total value of the measured counter or metric that occurred per
|
||||
kernel invocation divided by the total number of
|
||||
:ref:`wavefronts <desc-wavefront>` launched in the kernel.
|
||||
|
||||
* - ``per_cycle``
|
||||
- The total value of the measured counter or metric that occurred per
|
||||
kernel invocation divided by the
|
||||
:ref:`kernel cycles <kernel-cycles>`, that is, the total number of
|
||||
cycles the kernel executed as measured by the
|
||||
:doc:`command processor <command-processor>`.
|
||||
|
||||
* - ``per_kernel``
|
||||
- The total value of the measured counter or metric that occurred per
|
||||
kernel invocation.
|
||||
|
||||
* - ``per_second``
|
||||
- The total value of the measured counter or metric that occurred per
|
||||
kernel invocation divided by the :ref:`kernel time <kernel-time>`,
|
||||
that is, the total runtime of the kernel in seconds, as measured by the
|
||||
:doc:`command processor <command-processor>`.
|
||||
|
||||
By default, Omniperf uses the ``per_wave`` normalization.
|
||||
|
||||
.. tip::
|
||||
|
||||
The best normalization may vary depending on your use case. For instance, a
|
||||
``per_second`` normalization might be useful for FLOP or bandwidth
|
||||
comparisons, while a ``per_wave`` normalization could be useful to see how many
|
||||
(and what types) of instructions are used per wavefront. A ``per_kernel``
|
||||
normalization can be useful to get the total aggregate values of metrics for
|
||||
comparison between different configurations.
|
||||
|
||||
@@ -0,0 +1,188 @@
|
||||
.. _desc-workgroup:
|
||||
|
||||
.. _desc-work-item:
|
||||
|
||||
.. _desc-wavefront:
|
||||
|
||||
.. _desc-divergence:
|
||||
|
||||
.. _kernel-time:
|
||||
|
||||
.. _kernel-cycles:
|
||||
|
||||
.. _total-active-cu-cycles:
|
||||
|
||||
.. _total-cu-cycles:
|
||||
|
||||
.. _total-se-cycles:
|
||||
|
||||
.. _total-simd-cycles:
|
||||
|
||||
.. _total-pipe-cycles:
|
||||
|
||||
.. _total-l1i-cycles:
|
||||
|
||||
.. _total-active-l2-cycles:
|
||||
|
||||
.. _total-l2-cycles:
|
||||
|
||||
.. _total-sl1d-cycles:
|
||||
|
||||
.. _thread-requests:
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
|
||||
- Description
|
||||
|
||||
- Unit
|
||||
|
||||
* - Kernel time
|
||||
|
||||
- The number of seconds the accelerator was executing a kernel, from the
|
||||
:doc:`command processor <command-processor>`'s (CP) start-of-kernel
|
||||
timestamp (a number of cycles after the CP beings processing the packet)
|
||||
to the CP's end-of-kernel timestamp (a number of cycles before the CP
|
||||
stops processing the packet).
|
||||
|
||||
- Seconds
|
||||
|
||||
* - Kernel cycles
|
||||
|
||||
- The number of cycles the accelerator was active doing *any* work, as
|
||||
measured by the :doc:`command processor <command-processor>` (CP).
|
||||
|
||||
- Cycles
|
||||
|
||||
* - Total CU cycles
|
||||
|
||||
- The number of cycles the accelerator was active doing *any* work
|
||||
(that is, kernel cycles), multiplied by the number of
|
||||
:doc:`compute units <compute-unit>` on the accelerator. A
|
||||
measure of the total possible active cycles the compute units could be
|
||||
doing work, useful for the normalization of metrics inside the CU.
|
||||
|
||||
- Cycles
|
||||
|
||||
* - Total active CU cycles
|
||||
|
||||
- The number of cycles a CU on the accelerator was active doing *any*
|
||||
work, summed over all :doc:`compute units <compute-unit>` on the
|
||||
accelerator.
|
||||
|
||||
- Cycles
|
||||
|
||||
* - Total SIMD cycles
|
||||
|
||||
- The number of cycles the accelerator was active doing *any* work (that
|
||||
is, kernel cycles), multiplied by the number of
|
||||
:doc:`SIMDs <compute-unit>` on the accelerator. A measure of the
|
||||
total possible active cycles the SIMDs could be doing work, useful for
|
||||
the normalization of metrics inside the CU.
|
||||
|
||||
- Cycles
|
||||
|
||||
* - Total L2 cycles
|
||||
|
||||
- The number of cycles the accelerator was active doing *any* work (that
|
||||
is, kernel cycles), multiplied by the number of :doc:`L2 <l2-cache>`
|
||||
channels on the accelerator. A measure of the total possible active
|
||||
cycles the L2 channels could be doing work, useful for the normalization
|
||||
of metrics inside the L2.
|
||||
|
||||
- Cycles
|
||||
|
||||
* - Total active L2 cycles
|
||||
|
||||
- The number of cycles a channel of the L2 cache was active doing *any*
|
||||
work, summed over all :doc:`L2 <l2-cache>` channels on the accelerator.
|
||||
|
||||
- Cycles
|
||||
|
||||
* - Total sL1D cycles
|
||||
|
||||
- The number of cycles the accelerator was active doing *any* work (that
|
||||
is, kernel cycles), multiplied by the number of
|
||||
:ref:`scalar L1 data caches <desc-sl1d>` on the accelerator. A measure of
|
||||
the total possible active cycles the sL1Ds could be doing work, useful
|
||||
for the normalization of metrics inside the sL1D.
|
||||
|
||||
- Cycles
|
||||
|
||||
* - Total L1I cycles
|
||||
|
||||
- The number of cycles the accelerator was active doing *any* work (that
|
||||
is, kernel cycles), multiplied by the number of
|
||||
:ref:`L1 instruction caches <desc-l1i>` (L1I) on the accelerator. A
|
||||
measure of the total possible active cycles the L1Is could be doing
|
||||
work, useful for the normalization of metrics inside the L1I.
|
||||
|
||||
- Cycles
|
||||
|
||||
* - Total scheduler-pipe cycles
|
||||
|
||||
- The number of cycles the accelerator was active doing *any* work (that
|
||||
is, kernel cycles), multiplied by the number of
|
||||
:doc:`scheduler pipes <command-processor>` on the accelerator. A measure
|
||||
of the total possible active cycles the scheduler-pipes could be doing
|
||||
work, useful for the normalization of metrics inside the
|
||||
:ref:`workgroup manager <desc-spi>` and
|
||||
:doc:`command processor <command-processor>`.
|
||||
|
||||
- Cycles
|
||||
|
||||
* - Total shader-engine cycles
|
||||
|
||||
- The total number of cycles the accelerator was active doing *any* work,
|
||||
multiplied by the number of :doc:`shader engines <shader-engine>` on the
|
||||
accelerator. A measure of the total possible active cycles the shader
|
||||
engines could be doing work, useful for the normalization of
|
||||
metrics inside the :ref:`workgroup manager <desc-spi>`.
|
||||
|
||||
- Cycles
|
||||
|
||||
* - Thread-requests
|
||||
|
||||
- The number of unique memory addresses accessed by a single memory
|
||||
instruction. On AMD Instinct accelerators, this has a maximum of 64
|
||||
(that is, the size of the :ref:`wavefront <wavefront>`).
|
||||
|
||||
- Addresses
|
||||
|
||||
* - Work-item
|
||||
|
||||
- A single *thread*, or lane, of execution that executes in lockstep with
|
||||
the rest of the work-items comprising a :ref:`wavefront <wavefront>`
|
||||
of execution.
|
||||
|
||||
- N/A
|
||||
|
||||
* - Wavefront
|
||||
|
||||
- A group of work-items, or threads, that execute in lockstep on the
|
||||
:doc:`compute unit <compute-unit>`. On AMD Instinct accelerators, the
|
||||
wavefront size is always 64 work-items.
|
||||
|
||||
- N/A
|
||||
|
||||
* - Workgroup
|
||||
|
||||
- A group of wavefronts that execute on the same
|
||||
:doc:`compute unit <compute-unit>`, and can cooperatively execute and
|
||||
share data via the use of synchronization primitives,
|
||||
:doc:`LDS <local-data-share>`, atomics, and others.
|
||||
|
||||
- N/A
|
||||
|
||||
* - Divergence
|
||||
|
||||
- Divergence within a wavefront occurs when not all work-items are active
|
||||
when executing an instruction, that is, due to non-uniform control flow
|
||||
within a wavefront. Can reduce execution efficiency by causing,
|
||||
for instance, the :ref:`VALU <desc-valu>` to need to execute both
|
||||
branches of a conditional with different sets of work-items active.
|
||||
|
||||
- N/A
|
||||
|
||||
Reference in New Issue
Block a user