我已经尝试了三天将CUDA内核编译成llvm IR而我无法做到。我已经更改了langoptions.cpp
并在构造函数中添加了CUDA=1;
,但是clang仍然给出了cuda语法的错误消息(如_synchthreads()调用)。
我做了以下事情:
使用clang编译了一个CUDA示例:
clang -I${CUDA_HOME}/include -I${CUDA_SDK_INC}
~/workspace/cuda_example/mis_kernel.cu -S -emit-llvm -o
~/workspace/cuda_example/a.ll
正如我所说它不起作用。
答案 0 :(得分:3)
clang –x=CUDA
是在NVIDIA之外进行的实验;你应该联系llvm-dev别名。
NVCC不支持发射LLVM IR。