ABataev added a comment.

In D61399#1488299 <https://reviews.llvm.org/D61399#1488299>, @hfinkel wrote:

> In D61399#1488262 <https://reviews.llvm.org/D61399#1488262>, @ABataev wrote:
>
> > I don't like this implementation. Seems to me, it breaks one of the OpenMP 
> > standard requirements: the program can be compiled without openmp support. 
> > I assume, that with this includes the program won't be able to be compiled 
> > without OpenMP support anymore because it may use some device-specific math 
> > functions explicitly.
> >  Instead, I would like to see some additional, device-scpecific math header 
> > file, that must be included explicitly to support some device-specific math 
> > functions. And we need to provide default implementations for those extra 
> > math functions for all the platforms we're going to support, including 
> > default host implementations.
>
>
> Can you provide an example of a conforming program that can't be compiled 
> without OpenMP support? Regardless of the use of any device-specific 
> functions (which isn't covered by the standard, of course, but might be 
> needed in practice), the code still needs to be compilable by the host in 
> order to generate the host-fallback version. This doesn't change that. Thus, 
> any program that uses anything from this math.h, etc. needs to compile for 
> the host, and thus, likely compiles without OpenMP support. Maybe I'm missing 
> your point, however.


Assume we have something like this:

  #pragma omp target if(cond)
  a = __nv_xxxx(....);

Instead of `__nv_xxx` you can try to use any Cuda-specific function, which is 
not the part of the standard `math.h`/`cmath` files. Will it be compilable even 
with OpenMP?


Repository:
  rC Clang

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

https://reviews.llvm.org/D61399



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

Reply via email to