]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libgomp, amdgcn: document HSA_XNACK
authorAndrew Stubbs <ams@baylibre.com>
Fri, 28 Nov 2025 16:20:46 +0000 (16:20 +0000)
committerAndrew Stubbs <ams@baylibre.com>
Mon, 1 Dec 2025 14:44:55 +0000 (14:44 +0000)
Mention that the HSA_XNACK variable is automatically set by the toolchain.

libgomp/ChangeLog:

* libgomp.texi (AMD GCN): Mention HSA_XNACK is set automatically.

libgomp/libgomp.texi

index abe8ef75d8e7483290fe34c7e9045309c1b1858b..ac96d2f29c76ed277db8184ca2dcaa0a033c4668 100644 (file)
@@ -7157,13 +7157,14 @@ The implementation remark:
       such that the next reverse offload region is only executed after the previous
       one returned.
 @item OpenMP code that has a @code{requires} directive with @code{self_maps} or
-      @code{unified_shared_memory} is only supported if all AMD GPUs have the
-      @code{HSA_AMD_SYSTEM_INFO_SVM_ACCESSIBLE_BY_DEFAULT} property; for
-      discrete GPUs, this may require setting the @code{HSA_XNACK} environment
-      variable to @samp{1}; for systems with both an APU and a discrete GPU that
-      does not support XNACK, consider using @code{ROCR_VISIBLE_DEVICES} to
-      enable only the APU.  If not supported, all AMD GPU devices are removed
-      from the list of available devices (``host fallback'').
+      @code{unified_shared_memory} is only supported if @emph{all} the AMD GPUs
+      present have the @code{HSA_AMD_SYSTEM_INFO_SVM_ACCESSIBLE_BY_DEFAULT}
+      property; some systems require the "xnack" feature enabled for this to be
+      true, in which case the runtime will attempt to set the @code{HSA_XNACK}
+      environment variable to @samp{1} automatically (user-set values are not
+      overridden, and the setting only affects the executable itself and any
+      child processes).  If any AMD GPU device is not supported, all AMD GPUs
+      are removed from the list of available devices (``host fallback'').
 @item The available stack size can be changed using the @code{GCN_STACK_SIZE}
       environment variable; the default is 32 kiB per thread.
 @item Low-latency memory (@code{omp_low_lat_mem_space}) is supported when the