Now applied as r15-3730-gbf4a5efa80ef84 /
https://gcc.gnu.org/r15-3730-gbf4a5efa80ef84
(with a few minor tailing whitespace/indentation issues fixed).
Post-commit comments are still highly welcome. By tomorrow, you will
find the documentation at https://gcc.gnu.org/onlinedocs/libgomp/
(routine + nvptx/gcn offload specific) which makes it easier to read.
Thanks,
Tobias
Tobias Burnus wrote:
Minor update – addressing the issues that Andre raised (thanks!):
'Add.' → 'New functions.' in the ChangeLog for 'fortran.c' and
otherwise libgomp.texi changes, only:
A bunch of typo fixes (preexisting and in the new text). I also added
an made-up example UUID for the GPUs, which should help to reduce
confusion.
Any additional comments or suggestions?
Tobias
Tobias Burnus wrote:
in order to know and potentially re-use a specific offload device
(reproducibility,
affinity wise close to a CPU (socket), …) a mapping between an
(universal?) unique
identifier and the OpenMP device number is useful. Thus, TR13 added
support for it.
This is a collateral patch caused by looking at the API routines for
other reasons
and looking at that part of the spec during the OpenMP F2F.
Besides the added API routines, the UID will be used elsewhere:
* In context selectors: 'target_device' supports 'uid(<string>)'.
* In the OMP_AVAILABLE_DEVICES and OMP_DEFAULT_DEVICE env vars.
@Sandra: Besides the usual .texi part, for the 'target_device' trait
set:
if you add a new GOMP routine for kind/arch/isa - can you also add an
UID argument such that we don't have to update the API when needing
in the
not so far future.
@Andrew + @Thomas: Any comment? Especially to the nvptx/gcn side
(plugin +
.texi)?
@Jakub or anyone else — any comments, suggestions, remarks?
[The patch was tested without GPUs, with one Nvidia GPU and one AMD GPU
and seems to work fine.]