llvm-project
083d2c4b - [Offload][OpenMP] Accept `omp_initial_device` for runtime calls (#205290)

Commit
4 days ago
[Offload][OpenMP] Accept `omp_initial_device` for runtime calls (#205290) In OpenMP v5.2, the constant `omp_initial_device` was introduced, which was defined as a value of `-1`. Support for this value was added to Clang and Flang in 09cd2944821fa43d97d8259194b9a0c4fa22de16 and 3c14034c55a296306ad0ea4990f0f1b34e9e5d6e. However, runtime calls are not aware of this constant. As such, execution of a runtime function, passing `omp_initial_device` as the `device_num`, would abort with e.g.,: ``` omptarget fatal error -1: "invalid value" device number '-1' out of range, only 1 devices available ``` To fix this issue, also extend the host device checks in the API functions to also check for `omp_initial_device`. For testing, extend API tests using `omp_get_initial_device()` to also test `omp_initial_device` and extend `omp_device_uid.c` to check if the UID for `omp_initial_device` and `omp_get_initial_device()` matches. Partially addresses https://github.com/llvm/llvm-project/issues/192980 (see https://github.com/llvm/llvm-project/issues/192980#issuecomment-4404241994) --------- Signed-off-by: Jan André Reuter <j.reuter@fz-juelich.de> Signed-off-by: Jan André Reuter <jan@zyten.de>
Author
Parents
Loading