https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241550

            Bug ID: 241550
           Summary: Base Clang can't compile trivial CUDA program.
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: b...@freebsd.org
          Reporter: arr...@freebsd.org

I've obtain CUDA headers from NVIDIA distribution [1] and tried using Clang to
compile simple program. However, I got errors from CUDA's internal headers
saying:

In file included from <built-in>:1:
In file included from
/usr/lib/clang/9.0.0/include/__clang_cuda_runtime_wrapper.h:204:
/usr/home/arr/cuda/var/cuda-repo-10-0-local-10.0.130-410.48/usr/local/cuda-10.0//include/crt/math_functions.hpp:2910:7:
error: no matching function for call to '__isnan'
  if (__isnan(a)) {
      ^~~~~~~
/usr/lib/clang/9.0.0/include/__clang_cuda_device_functions.h:460:16: note:
candidate function not viable: call to __device__ function from __host__
function
__DEVICE__ int __isnan(double __a) { return __nv_isnand(__a); }
               ^

I searched the net a bit and found following upstream commit [2]. Asking there,
I was told that it due, citing,

>  FreeBSD does not provide *host*-side __isnan(double) -- the error complains 
> that it's the host code that tried to use __isnan and failed when overload 
> resolution produced a device variant.

Can anything be done about this? Sorry if this PR is not relevant for FreeBSD.

[1]
http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda-repo-rhel7-10-1-local-10.1.243-418.87.00-1.0-1.x86_64.rpm
[2] https://reviews.llvm.org/D60220#1723350

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to