I want to write an LLVM Pass for Cuda codes. I stuck on creating executable from bitcodes.
I used
clang-10 -O0 -S -emit-llvm --cuda-gpu-arch=sm_61 --cuda-path=/usr/local/cuda-10.0 SAXPY.cu -L/usr/local/cuda-10.0/lib64 -lcudart_static -ldl -lrt -pthread
The comamand generated two files named: SAXPY.ll and SAXPY-cuda-nvptx64-nvidia-cuda-sm_61.ll
Then I used:
opt -load LLVMCUDA.so -CUDA < SAXPY.ll SAXPY-cuda-nvptx64-nvidia-cuda-sm_61.ll > a.out
After tring to execute a.out, It gave me following error:
/usr/bin/lli-10: error: error creating EE: No available targets are compatible with triple "nvptx64-nvidia-cuda"
My question is, how can I convert from bitcode to executable?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…