Update docs 2025 04 14 (#54)
* Update docs 2025 03 31 - Docs: remove virtual_rocr.rst - Fix documentation warnings - Reformat HIP RTC - Docs: Refactor HIP porting guide - Docs: Expand HIP porting guide and CUDA driver porting guide - Minor fix - Docs: Update environment variables file - Bump rocm-docs-core[api_reference] from 1.15.0 to 1.17.0 in /docs/sphinx - Docs: Update FP8 page to show both FP8 and FP16 types - Bump sphinxcontrib-doxylink from 1.12.4 to 1.13.0 in /docs/sphinx - Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.17.0 to 1.17.1. - Remove external link - Update programming model - Bump rocm-docs-core[api_reference] from 1.17.1 to 1.18.1 in /docs/sphinx - Docs: Add page for Complex Math API - Docs: Add page about HIP error codes - Update docs: the compilation cache is enabled by default - Fix fns32 function mask type in doc * Bump rocm-docs-core[api_reference] from 1.18.1 to 1.18.2 in /docs/sphinx Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.18.1 to 1.18.2. - [Release notes](https://github.com/ROCm/rocm-docs-core/releases) - [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md) - [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.18.1...v1.18.2) --- updated-dependencies: - dependency-name: rocm-docs-core[api_reference] dependency-version: 1.18.2 dependency-type: direct:production update-type: version-update:semver-patch * Fix readme link * Docs: Fix verbose paths generated by doxygen * Handle git ssh in docs conf.py
Αυτή η υποβολή περιλαμβάνεται σε:
@@ -250,43 +250,6 @@ Units, also known as SIMDs, each with their own register file. For more
|
||||
information see :doc:`../understand/hardware_implementation`.
|
||||
:cpp:struct:`hipDeviceProp_t` also has a field ``executionUnitsPerMultiprocessor``.
|
||||
|
||||
Porting from CUDA __launch_bounds__
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
CUDA also defines a ``__launch_bounds__`` qualifier which works similar to HIP's
|
||||
implementation, however it uses different parameters:
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
__launch_bounds__(MAX_THREADS_PER_BLOCK, MIN_BLOCKS_PER_MULTIPROCESSOR)
|
||||
|
||||
The first parameter is the same as HIP's implementation, but
|
||||
``MIN_BLOCKS_PER_MULTIPROCESSOR`` must be converted to
|
||||
``MIN_WARPS_PER_EXECUTION``, which uses warps and execution units rather than
|
||||
blocks and multiprocessors. This conversion is performed automatically by
|
||||
:doc:`HIPIFY <hipify:index>`, or can be done manually with the following
|
||||
equation.
|
||||
|
||||
.. code-block:: cpp
|
||||
|
||||
MIN_WARPS_PER_EXECUTION_UNIT = (MIN_BLOCKS_PER_MULTIPROCESSOR * MAX_THREADS_PER_BLOCK) / warpSize
|
||||
|
||||
Directly controlling the warps per execution unit makes it easier to reason
|
||||
about the occupancy, unlike with blocks, where the occupancy depends on the
|
||||
block size.
|
||||
|
||||
The use of execution units rather than multiprocessors also provides support for
|
||||
architectures with multiple execution units per multiprocessor. For example, the
|
||||
AMD GCN architecture has 4 execution units per multiprocessor.
|
||||
|
||||
maxregcount
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
Unlike ``nvcc``, ``amdclang++`` does not support the ``--maxregcount`` option.
|
||||
Instead, users are encouraged to use the ``__launch_bounds__`` directive since
|
||||
the parameters are more intuitive and portable than micro-architecture details
|
||||
like registers. The directive allows per-kernel control.
|
||||
|
||||
Memory space qualifiers
|
||||
================================================================================
|
||||
|
||||
@@ -470,7 +433,7 @@ compile-time constant on the host. It has to be queried using
|
||||
64 for gfx9 and 32 for gfx10 and above. HIP doesn't support ``warpSize`` of
|
||||
64 on gfx10 and above. While code that assumes a ``warpSize``
|
||||
of 32 can run on devices with a ``warpSize`` of 64, it only utilizes half of
|
||||
the the compute resources.
|
||||
the compute resources.
|
||||
|
||||
********************************************************************************
|
||||
Vector types
|
||||
|
||||
Αναφορά σε νέο ζήτημα
Block a user