tra added a comment.

In D55269#1319437 <https://reviews.llvm.org/D55269#1319437>, @jdenny wrote:

> In D55269#1319382 <https://reviews.llvm.org/D55269#1319382>, @tra wrote:
>
> > Let's start with fixing OpenMP's cmake files. Once it no longer insists on 
> > specifying --cuda-path=/usr, and isUbuntu is in place, what is the 
> > remaining failure that you see?
>
>
> I'm fairly certain I would see no remaining failure then, but it's not clear 
> to me how we should convince OpenMP's cmake files to stop doing that.
>
> openmp/libomptarget/cmake/Modules/LibomptargetNVPTXBitcodeLibrary.cmake is 
> the file, and there's one occurrence of --cuda-path.
>
> If CUDA_TOOLKIT_ROOT_DIR is specified explicitly to cmake, that --cuda-path 
> is necessary, so we cannot just remove it.
>
> If CUDA_TOOLKIT_ROOT_DIR is not specified explicitly, it is computed by 
> cmake.  So I believe this boils down to getting cmake to find the right CUDA 
> root on Debian/Ubuntu.
>
> Do you agree so far?


I guess we're dealing with even more  issues here.
cmake currently only knows about CUDA compilation with nvcc. The autodetection 
of CUDA_TOOLKIT_ROOT_DIR is intended to work for nvcc only and it does serve 
that purpose. Debian/Ubuntu packaging was also initially done with only nvcc in 
mind and it does work for nvcc. OpenMP's cmake files rely on 
CUDA_TOOLKIT_ROOT_DIR to find CUDA SDK and that is what fails for clang in case 
of split CUDA SDK installation.

One way to deal with that would be to change OpenMP's cmake files to check 
whether we're using Clang to compile CUDA and, if that's the case override CUDA 
root detection. Maybe ensure that CUDA install is monolithic and require user 
to specify a different location. Or check if we've detected a split path in 
/usr and override it with /usr/lib/cuda.

> Would you recommend submitting a patch to cmake's CUDA support?  Or would you 
> recommend replicating clang's logic from D40453 
> <https://reviews.llvm.org/D40453> into openmp's cmake files, overriding 
> cmake's own selection of CUDA_TOOLKIT_ROOT_DIR?

That may be a bigger can of works than a single patch can solve. The good news 
is that the maintainer of CUDA support in cmake is working on adding clang 
support. So, things may improve soon.


Repository:
  rC Clang

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

https://reviews.llvm.org/D55269



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

Reply via email to