jhuber6 wrote:

> ```
> (ins)$ /opt/llvm/install/release/bin/clang --verbose -foffload-via-llvm 
> --cuda-path=/usr/local/cuda input.o  -o a.out  |& head -n 50
> clang version 21.0.0git (https://github.com/llvm/llvm-project.git 
> 6ac286cd491b419dd18a6e8de3aaef4caa44e093)
> Target: x86_64-unknown-linux-gnu
> Thread model: posix
> InstalledDir: /opt/llvm/install/release/bin
> Build config: +assertions
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12
> Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12
> Candidate multilib: .;@m64
> Selected multilib: .;@m64
> Found CUDA installation: /usr/local/cuda, version 12.8
>  "/opt/llvm/install/release/bin/clang-linker-wrapper" 
> --host-triple=x86_64-unknown-linux-gnu --wrapper-verbose 
> --cuda-path=/usr/local/cuda --linker-path=/usr/bin/ld -z relro 
> --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -pie -dynamic-linker 
> /lib64/ld-linux-x86-64.so.2 -o a.out /lib/x86_64-linux-gnu/Scrt1.o 
> /lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o 
> -L/opt/llvm/install/release/bin/../lib/x86_64-unknown-linux-gnu 
> -L/opt/llvm/install/release/lib/clang/21/lib/x86_64-unknown-linux-gnu 
> -L/usr/lib/gcc/x86_64-linux-gnu/12 
> -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib64 -L/lib/x86_64-linux-gnu 
> -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib64 -L/lib -L/usr/lib 
> -L/usr/local/cuda-12.8/lib/clang/21/lib/x86_64-unknown-linux-gnu/ 
> -L/usr/local/cuda-12.8/lib/clang/20/lib/x86_64-unknown-linux-gnu/ 
> -L/usr/local/cuda-12.8/lib/clang/19/lib/x86_64-unknown-linux-gnu/ 
> -L/usr/local/cuda-12.8/lib/clang/18/lib/x86_64-unknown-linux-gnu/ 
> -L/usr/local/cuda-12.8/lib/linux/ -L/usr/local/cuda-12.8/lib/ 
> -L/opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/clang/21/lib/x86_64-unknown-linux-gnu/
>  
> -L/opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/clang/20/lib/x86_64-unknown-linux-gnu/
>  
> -L/opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/clang/19/lib/x86_64-unknown-linux-gnu/
>  
> -L/opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/clang/18/lib/x86_64-unknown-linux-gnu/
>  -L/opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/linux/ 
> -L/opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/ -L. input.o -lomptarget 
> -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s 
> --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o 
> /lib/x86_64-linux-gnu/crtn.o -verbose
>  "/opt/llvm/install/release/bin/clang" --no-default-config -o 
> /tmp/a.out.nvptx64.sm_89-9e8377.img --target=nvptx64-nvidia-cuda -march=sm_89 
> /tmp/input-nvptx64-nvidia-cuda-sm_89-58597a.o
>  "/usr/bin/ld" -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -pie 
> -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out 
> /tmp/a.out.openmp.image.wrapper-e1b944.o /lib/x86_64-linux-gnu/Scrt1.o 
> /lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L 
> /opt/llvm/install/release/bin/../lib/x86_64-unknown-linux-gnu -L 
> /opt/llvm/install/release/lib/clang/21/lib/x86_64-unknown-linux-gnu -L 
> /usr/lib/gcc/x86_64-linux-gnu/12 -L 
> /usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib64 -L /lib/x86_64-linux-gnu 
> -L /lib/../lib64 -L /usr/lib/x86_64-linux-gnu -L /usr/lib64 -L /lib -L 
> /usr/lib -L /usr/local/cuda-12.8/lib/clang/21/lib/x86_64-unknown-linux-gnu/ 
> -L /usr/local/cuda-12.8/lib/clang/20/lib/x86_64-unknown-linux-gnu/ -L 
> /usr/local/cuda-12.8/lib/clang/19/lib/x86_64-unknown-linux-gnu/ -L 
> /usr/local/cuda-12.8/lib/clang/18/lib/x86_64-unknown-linux-gnu/ -L 
> /usr/local/cuda-12.8/lib/linux/ -L /usr/local/cuda-12.8/lib/ -L 
> /opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/clang/21/lib/x86_64-unknown-linux-gnu/
>  -L 
> /opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/clang/20/lib/x86_64-unknown-linux-gnu/
>  -L 
> /opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/clang/19/lib/x86_64-unknown-linux-gnu/
>  -L 
> /opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/clang/18/lib/x86_64-unknown-linux-gnu/
>  -L /opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/linux/ -L 
> /opt/prebuilt/clang/llvm-17.0.6/Linux_x86_64/lib/ -L . input.o -l omptarget 
> -l gcc --as-needed -l gcc_s --no-as-needed -l c -l gcc --as-needed -l gcc_s 
> --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o 
> /lib/x86_64-linux-gnu/crtn.o -verbose
> GNU ld (GNU Binutils for Ubuntu) 2.38
> <rest is ld output>
> ```

I see, this is because there's no CUDA toolchain that's created in this case. 
Normally the `.cu` file will create an offloading toolchain, but we don't get 
that here because it doesn't recognize the `.o` as CUDA and thus never creates 
the toolchain. Hm, I wonder if there's a real saitsfactory solution to that.

https://github.com/llvm/llvm-project/pull/149107
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to