I just noticed that ROCR_VISIBLE_DEVICES got lost from
https://gcc.gnu.org/onlinedocs/libgomp/AMD-Radeon.html
during GCC 16 development. The GCC 15 wording was
https://gcc.gnu.org/onlinedocs/gcc-15.2.0/libgomp/AMD-Radeon.html
Plus that the 'not supported' was a bit unclear* in that
sentence, esp. after GCC 16's modifications.
Comments, remarks?
Tobias
*I actually do not know what happens currently if one of
the devices is, e.g., a gfx12. [Not checked.] But in any
case, a generic handling would deserve a bullet point on
its own.
(gfx12 support is mainly missing because I have not found
anyone who both has one and is willing to test it - besides
the obvious additional issue of finding the time to
actually implement the support.)
libgomp.texi: Mention ROCR_VISIBLE_DEVICES in context of USM
Re-add half-sentence that got lost in commit r16-5799-gfe5c59ea997316.
Currently, USM is only supported if all AMD GPUs support USM; hence,
on a mixed system (e.g. CPU with GPU of type APU plus separate, discrete
GPU not supporting USM/SVM), host fallback always happens.
Workaround is to use ROCR_VISIBLE_DEVICES. Additionally, the
"not-supported" wording should refer here to USM/SVM support not
to XNACK, which has been clarified here.
libgomp/ChangeLog:
* libgomp.texi (GCN): Mention ROCR_VISIBLE_DEVICES.
libgomp/libgomp.texi | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
index 7bc313a6fab..48ebfccb3b8 100644
--- a/libgomp/libgomp.texi
+++ b/libgomp/libgomp.texi
@@ -7236,8 +7236,10 @@ The implementation remark:
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'').
+ child processes). If any AMD GPU device does not support unified-shared
+ memory, all AMD GPUs are removed from the list of available devices
+ (``host fallback''); consider using @code{ROCR_VISIBLE_DEVICES} to only
+ enable devices supporting it.
@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