-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replicate SDK folder for using clang as front-end #13
Comments
I'm about to roll out CUDA 9.2 (testing building other components), and I would like to address this. Just to understand, you are asking for a compatibility package that just mimics the original structure of the CUDA installation? |
Basically yeah. Clang just expects whatever the stock nvidia installer spits out. |
So the Before I start modifying packages, can you try with this (example)?
Then point everything to Might want to do also CUPTI and nvvm if required, but I doubt:
|
Currently
I'll try the above now. |
Correct, it's not set, was just an example. |
After setting up the symlinks I get:
and setting up a symlink
doesn't help either. |
Clang 6 is not supported even in 9.2: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements |
The whole point of using clang is to remove AFAIK the clang project isn't supported by NVIDIA so I think that version of clang refers to the CXX compiler for coupling with nvcc. |
You are right sorry. I will make some test and see if I can get a sane result. This is my status at the moment, CUDA is detected but libdevice is not found:
|
Hi All just noticed something. I was just wondering why the errors refers to sm_20 which has been officially removed since CUDA 9.X; unless the installed CUDA is 8.X and below. The references mentioned refers to versions of CUDA that still support compute capability 2.X. |
True - in clang's wrapper for CUDA I can see // WARNING: Preprocessor hacks below are based on specific details of
// CUDA-7.x headers and are not expected to work with any other
// version of CUDA headers.
#include "cuda.h"
#if !defined(CUDA_VERSION)
#error "cuda.h did not define CUDA_VERSION"
#elif CUDA_VERSION < 7000 || CUDA_VERSION > 9000
#error "Unsupported CUDA version!"
#endif but I also see support for CUDA 9 in other places #if CUDA_VERSION >= 9000
// CUDA-9 has conflicting prototypes for __float2half_rn(float f) in
// cuda_fp16.h[pp] and device_functions.hpp. We need to get the one in
// device_functions.hpp out of the way.
#define __float2half_rn __float2half_rn_disabled
?#endif which indicates that CUDA 9 is not yet fully supported. |
Is there any update on this if it is supported or not? Because I'm about to update to CUDA 10... |
Sorry this issue slipped my mind. What was the current status again? -_- |
Right - it should be supported if built from source, see https://llvm.org/docs/CompileCudaWithLLVM.html#prerequisites. I'm away from my workstation with an NVIDIA card so I cannot test until tonight. |
It seems to work for me when I put in the symlinks from above
however if I remove |
See https://gitlab.kitware.com/cmake/cmake/issues/16586 for progress with |
Hi again!
Would it be possible to add a shim package that collates the CUDA bits so
clang
can be used instead ofnvcc
as a front end?Relevant links:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=882505
https://bugs.llvm.org/show_bug.cgi?id=26966
https://llvm.org/docs/CompileCudaWithLLVM.html
The text was updated successfully, but these errors were encountered: