tra added a comment.

In D145591#4182737 <https://reviews.llvm.org/D145591#4182737>, @yaxunl wrote:

> OpenMP offloading directives (e.g. "omp target") create implicit GPU kernels 
> which require OpenMP toolchain to create offloading actions to support them. 
> For C/C++ programs, OpenMP toolchain can create offloading actions to support 
> the OpenMP offloading directives. For HIP programs, HIP toolchain can only do 
> offloading for HIP, not for OpenMP, therefore the OpenMP offloading 
> directives are ignored. However, the other OpenMP directives e.g. "omp 
> parallel for" works on CPU without offloading toolchain support. Currently, 
> the clang driver and OpenMP/HIP runtime are not ready to support both HIP and 
> OpenMP offloading at the same time.

So, we essentially end up with GPU code intended to be used with different 
runtimes, and we only support one kind at a time.  OK. I think I'm getting a 
rough idea of what's going on.

Ignoring target openmp directives is clearly wrong, given that we do compile 
with -fopenmp and would normally expect openmp parts to be honored.
Issuing a warning does not feel right. Producing output with a missing key 
functionality is a bit too severe for a warning, IMO.
Making it an error would make most sense to me, but I'll defer to OpenMP folks 
on this.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D145591/new/

https://reviews.llvm.org/D145591

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to