[Openmp-commits] [flang] [openmp] [Flang][OpenMP] Validate `omp_initial_device` `omp_invalid_device` as device IDs (PR #193669)
Amit Tiwari via Openmp-commits
openmp-commits at lists.llvm.org
Thu Apr 23 07:45:15 PDT 2026
amitamd7 wrote:
> Thanks a lot for working on this and providing a PR this quickly.
>
> I tested this out and it seems to work as expected. Unfortunately, I cannot comment much on the code itself, as I'm not too familiar with the internals.
>
> Just as a note though (this shouldn't hold up this PR), `omp_initial_device` will, for now, point to the default device and not the initial device (see also #192980).
>
> ```fortran
> program main
> use omp_lib
> logical :: is_host_device
>
> !$omp target device( omp_initial_device ) map(from: is_host_device)
> is_host_device = omp_is_initial_device()
> !$omp end target
> print *, "Target region with omp_initial_device was running on host? ", is_host_device
>
> !$omp target device( omp_get_initial_device() ) map(from: is_host_device)
> is_host_device = omp_is_initial_device()
> !$omp end target
> print *, "Target region with omp_get_initial_device() was running on host? ", is_host_device
>
> !$omp target device( omp_invalid_device )
> !$omp end target
> end program main
> ```
>
> ```
> $ flang -fopenmp --offload-arch=gfx1101 test.f90
> $ ./a.out
> Target region with omp_initial_device was running on host? F
> Target region with omp_get_initial_device() was running on host? T
> omptarget fatal error -2: "invalid value" device number '-2' out of range, only 1 devices available
> [1] 3419603 IOT instruction (core dumped) ./a.out
> ```
This seems orthogonal to this patch. Will look into this after the current one. Thanks for pointing.
https://github.com/llvm/llvm-project/pull/193669
More information about the Openmp-commits
mailing list