[clang] [OpenMP] Allow GPUs to be targeted directly via `-fopenmp`. (PR #122149)
Joseph Huber via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 9 09:10:52 PST 2025
jhuber6 wrote:
> > All that said, there are two cases to consider wrt. the standard:
> >
> > 1. The initial device is the CPU and the code compiled here is just part of a GPU library, or
> > 2. the initial device is the GPU and the code compiled here is just part of the "host code".
> >
> > For 1), omp target, w/o ancestor, is disallowed, IIRC. For 2), it should work as if it is a task, basically we do not implement "offloading" from this host, which is totally fine.
>
> Option (2) summarizes my point of view.
>
> The use case that I have in mind for this is
>
> ```
> cc -fopenmp -target=cpu -offload-target=gpu -c foo.c
> cc -fopenmp -target=gpu -c bar.c
> link device-part-of-foo.o bar.o -o works-on-gpu
> ```
That's what I had in mind, just another way to generate the GPU code that OpenMP wants.
https://github.com/llvm/llvm-project/pull/122149
More information about the cfe-commits
mailing list