[PATCH] D154133: [amdgpu] start documenting amdgpu support by clang
Yaxun Liu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jun 30 06:05:57 PDT 2023
yaxunl updated this revision to Diff 536203.
yaxunl added a comment.
added `__AMDGCN_WAVEFRONT_SIZE__` and reordered
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D154133/new/
https://reviews.llvm.org/D154133
Files:
clang/docs/AMDGPUSupport.rst
Index: clang/docs/AMDGPUSupport.rst
===================================================================
--- /dev/null
+++ clang/docs/AMDGPUSupport.rst
@@ -0,0 +1,63 @@
+.. raw:: html
+
+ <style type="text/css">
+ .none { background-color: #FFCCCC }
+ .part { background-color: #FFFF99 }
+ .good { background-color: #CCFF99 }
+ </style>
+
+.. role:: none
+.. role:: part
+.. role:: good
+
+.. contents::
+ :local:
+
+==============
+AMDGPU Support
+==============
+
+Clang supports OpenCL, HIP and OpenMP on amdgpu target.
+
+
+Predefined Macros
+=================
+
+
+.. list-table::
+ :header-rows: 1
+
+ * - Macro
+ - Description
+ * - ``__AMDGPU__``
+ - Indicates that the code is being compiled for an AMD GPU.
+ * - ``__AMDGCN__``
+ - Defined if the GPU target is AMDGCN.
+ * - ``__R600__``
+ - Defined if the GPU target is R600.
+ * - ``__<ArchName>__``
+ - Defined with the name of the architecture (e.g., ``__gfx906__`` for the gfx906 architecture).
+ * - ``__<GFXN>__``
+ - Defines the GFX family (e.g., for gfx906, this macro would be ``__GFX9__``).
+ * - ``__amdgcn_processor__``
+ - Defined with the processor name as a string (e.g., ``"gfx906"``).
+ * - ``__amdgcn_target_id__``
+ - Defined with the target ID as a string.
+ * - ``__amdgcn_feature_<feature-name>__``
+ - Defined for each supported target feature. The value is 1 if the feature is enabled and 0 if it is disabled. Allowed feature names are sramecc and xnack.
+ * - ``__AMDGCN_CUMODE__``
+ - Defines as 1 if the CU mode is enabled and 0 if the WGP mode is enabled.
+ * - ``__AMDGCN_UNSAFE_FP_ATOMICS__``
+ - Defined if unsafe floating-point atomics are allowed.
+ * - ``__AMDGCN_WAVEFRONT_SIZE__``
+ - Defines the wavefront size. Allowed values are 32 and 64.
+ * - ``__AMDGCN_WAVEFRONT_SIZE``
+ - Alias to ``__AMDGCN_WAVEFRONT_SIZE__``. To be deprecated.
+ * - ``__HAS_FMAF__``
+ - Defined if FMAF instruction is available (deprecated).
+ * - ``__HAS_LDEXPF__``
+ - Defined if LDEXPF instruction is available (deprecated).
+ * - ``__HAS_FP64__``
+ - Defined if FP64 instruction is available (deprecated).
+
+Please note that the specific architecture and feature names will vary depending on the GPU. Also, some macros are deprecated and may be removed in future releases.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D154133.536203.patch
Type: text/x-patch
Size: 2364 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230630/cc11d2ee/attachment-0001.bin>
More information about the cfe-commits
mailing list