fineg74 wrote:

> I'm not sure if the header is the proper place to implement such functions. 
> Normally the headers just wrap the C names to the GPU implementation, which 
> in of itself is problematic. Any reason this can't be implemented in whatever 
> library SPIR-V uses? libclc? libc?

My understanding that OpenMP wrappers are designed for use to provide 
lightweight wrappers for libc API so GPU optimized implementations can be used. 
normcdfinv is not standard libc function and provided as an extension function 
by AMD and CUDA so they are currently implemented in the OpenMP wrappers for 
AMD and CUDA but not for SPIRV creating a functional gap. It might be 
implemented in libclc or sycl libraries for all platforms including SPIRV but 
this is a different scenario as user don't have to use these libraries when 
using OpenMP but OpenMP wrappers are added automatically by driver and in this 
case there will be implementation of this function for AMD and Nvidia but not 
for SPIRV, creating confusion.

https://github.com/llvm/llvm-project/pull/200067
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to