jdenny added a comment.
Herald added a project: LLVM.

In D55269#1320382 <https://reviews.llvm.org/D55269#1320382>, @tra wrote:

> In D55269#1320207 <https://reviews.llvm.org/D55269#1320207>, @Hahnfeld wrote:
>
> > In D55269#1319109 <https://reviews.llvm.org/D55269#1319109>, @jdenny wrote:
> >
> > > [...]
> > >
> > > In D55269#1318901 <https://reviews.llvm.org/D55269#1318901>, @tra wrote:
> > >
> > > > --cuda-path=/usr was never supposed to work -- /usr is *not* the root 
> > > > of the CUDA SDK.
> > >
> > >
> > > /usr/lib/cuda/bin/nvcc doesn't exist, so that's probably why 
> > > FindCUDA.cmake finds /usr/bin/nvcc (also installed by 
> > > nvidia-cuda-toolkit).  Is it fair then to say that /usr/lib/cuda isn't 
> > > the root either?
> > >
> > > [...]
> > >
> > > It seems that nvidia-cuda-toolkit still isn't installing a complete CUDA 
> > > install in one location.  Even if it installed it all to /usr/lib/cuda, 
> > > FindCUDA.cmake would probably still see /usr/bin/nvcc and assume /usr is 
> > > the CUDA install root.
> >
> >
> > I think this needs to be fixed then: The shim package should provide links 
> > to all necessary things and CMake must be prepared to deal with it. IMO we 
> > shouldn't workaround broken build system detection in the compiler.
>
>
> That's exactly what I proposed to Debian folks 
> https://bugs.llvm.org/show_bug.cgi?id=26966#c6 and I was under impression 
> that that's what they did. It appears that they only created an empty 
> directory structure with version.txt in it. At least that's what I see when I 
> unpack nvidia-cuda-toolkit_9.1.85-3ubuntu1_amd64.deb. Perhaps they do 
> something extra in the install script, but I didn't find anything obvious in 
> the deb itself.
>
> > 
> > 
> > In D55269#1319116 <https://reviews.llvm.org/D55269#1319116>, @jdenny wrote:
> > 
> >> By the way, nvidia-cuda-toolkit does install the following, but there's no 
> >> nvvm directory as clang currently expects:
> > 
> > 
> > Then again the distro's packaging is broken and needs to be adjusted.
>
> Perhaps we can build a shim package ourselves and distribute it along with 
> the clang. This would decouple usability of clang from the Ubuntu/Debian 
> release process and would make it possible to make clang work with CUDA on 
> older debian/Ubuntu versions.
>
> >> 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 disagree here: It's not OpenMP but CMake that's detecting the wrong path 
> > here. This is the place to fix it once and for all (and possibly get the 
> > shim package right in that process).
>
> It's somewhat orthogonal, IMO. I agree that it's not OpenMP's problem. Cmake 
> will fix it at some point in future, but, presumably, we want OpenMP 
> buildable *now*. Adding a temporary workaround for something that Cmake can't 
> handle now would make building OpenMP with clang somewhat easier which was 
> the end goal of this patch. In the end it's up to OpenMP maintainers what 
> they would want to do.


For openmp, I worked around the aforementioned cmake limitation in D55588 
<https://reviews.llvm.org/D55588>.

I reported the aforementioned problem with the Ubuntu package 
nvidia-cuda-toolkit in December at:

https://bugs.launchpad.net/ubuntu/+source/nvidia-cuda-toolkit/+bug/1808999

Today, I received a response (included at the above link) that this is not a 
valid bug and that clang++ works fine with nvidia-cuda-toolkit.  I suppose the 
latter half is true, but the point is that we're having to work around the 
strange Debian/Ubuntu packaging in both Clang and our cmake files.  Do people 
here think it's worth pursuing this point further with Debian/Ubuntu package 
maintainers?


Repository:
  rL LLVM

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

https://reviews.llvm.org/D55269



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

Reply via email to