Skip to content

Commit 63c77d8

Browse files
authored
[AMDGPU] Make generic versioning docs easier to find (#84761)
1 parent 63ae509 commit 63c77d8

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

llvm/docs/AMDGPUUsage.rst

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -525,16 +525,7 @@ it supports. Such code objects may not perform as well as those for the non-gene
525525

526526
Generic processors are only available on code object V6 and above (see :ref:`amdgpu-elf-code-object`).
527527

528-
Generic processor code objects are versioned (see :ref:`amdgpu-elf-header-e_flags-table-v6-onwards`) between 1 and 255.
529-
The version of non-generic code objects is always set to 0.
530-
531-
For a generic code object, adding a new supported processor may require the code generated for the generic target to be changed
532-
so it can continue to execute on the previously supported processors as well as on the new one.
533-
When this happens, the generic code object version number is incremented at the same time as the generic target is updated.
534-
535-
Each supported processor of a generic target is mapped to the version it was introduced in.
536-
A generic code object can execute on a supported processor if the version of the code object being loaded is
537-
greater than or equal to the version in which the processor was added to the generic target.
528+
Generic processor code objects are versioned. See :ref:`amdgpu-generic-processor-versioning` for more information on how versioning works.
538529

539530
.. table:: AMDGPU Generic Processors
540531
:name: amdgpu-generic-processor-table
@@ -621,6 +612,21 @@ greater than or equal to the version in which the processor was added to the gen
621612
- ``gfx1151``
622613
==================== ============== ================= ================== ================= =================================
623614

615+
.. _amdgpu-generic-processor-versioning:
616+
617+
Generic Processor Versioning
618+
----------------------------
619+
620+
Generic processor (see :ref:`amdgpu-generic-processor-table`) code objects are versioned (see :ref:`amdgpu-elf-header-e_flags-table-v6-onwards`) between 1 and 255.
621+
The version of non-generic code objects is always set to 0.
622+
623+
For a generic code object, adding a new supported processor may require the code generated for the generic target to be changed
624+
so it can continue to execute on the previously supported processors as well as on the new one.
625+
When this happens, the generic code object version number is incremented at the same time as the generic target is updated.
626+
627+
Each supported processor of a generic target is mapped to the version it was introduced in.
628+
A generic code object can execute on a supported processor if the version of the code object being loaded is
629+
greater than or equal to the version in which the processor was added to the generic target.
624630

625631
.. _amdgpu-target-features:
626632

@@ -1803,7 +1809,7 @@ The AMDGPU backend uses the following ELF header:
18031809
mask. This is a value between 1 and 255,
18041810
stored in the most significant byte
18051811
of EFLAGS.
1806-
See :ref:`amdgpu-generic-processor-table`
1812+
See :ref:`amdgpu-generic-processor-versioning`
18071813
============================================ ========== =========================================
18081814

18091815
.. table:: AMDGPU ``EF_AMDGPU_MACH`` Values

0 commit comments

Comments
 (0)