gtbercea added a comment.

In https://reviews.llvm.org/D47849#1192245, @Hahnfeld wrote:

> In https://reviews.llvm.org/D47849#1192134, @gtbercea wrote:
>
> > This patch is concerned with calling device functions when you're on the 
> > device. The correctness issues you mention are orthogonal to this and 
> > should be handled by another patch. I don't think this patch should be held 
> > up any longer.
>
>
> I'm confused by now, could you please highlight the point that I'm missing?


You're bringing up the correctness of the header files which is a detail that 
is orthogonal to this patch. Even if the header files worked correctly I would 
still want to use the libdevice functions. Fixing the header files themselves 
should be therefore done in a separate patch.
Using the libdevice functions guarantees correctness (no weird assembly 
instructions that the device doesn't recognize etc.) and may improve 
performance (if for example the libdevice contained device specific assembly).

The purpose of this patch is to call NVIDIA's libdevice math functions which 
should in principle be more efficient in terms of runtime and register usage. 
Not all of them may be more effecient today (like @tra suggested) but some of 
them will be. Maybe others will be improved in the future, maybe not, again 
that's an orthogonal point. The benefit of using libdevice functions is that 
any improvements NVIDIA makes we will be there to use them in the OpenMP NVPTX 
toolchain. The premise of the OpenMP NVPTX toolchain is that it will leverage 
as much of the CUDA toolchain as possible.

Another point is that users specifically ask for NVIDIA math functions to be 
called on the device when using OpenMP NVPTX device offloading. The libdevice 
library offers __nv_fast_* variants of some math functions. Users want to have 
access to those functions and other functions that the libdevice library 
contains.


Repository:
  rC Clang

https://reviews.llvm.org/D47849



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

Reply via email to