我是LLVM的新手。我听说clang支持CUDA。如何使用clang编译CUDA?我是否必须进行一些配置更改或包含任何特定的头文件?我在网上找不到任何相关信息。它有可能吗?
现在,当我尝试使用clang编译虚拟cuda程序
时clang -I /usr/local/cuda/include filename.cu
我收到以下错误
unknown type name '__global__'
__global__ void nothing(int *A)
任何帮助表示赞赏!顺便说一下,我在mac中运行它。
答案 0 :(得分:7)
感谢Google和其他人的贡献,Clang现在支持构建CUDA。但是,命令行参数与nvcc
略有不同。根据{{3}},假设您的文件名为axpy.cu
,基本用法是:
$ clang++ axpy.cu -o axpy --cuda-gpu-arch=<GPU arch> \
-L<CUDA install path>/<lib64 or lib> \
-lcudart_static -ldl -lrt -pthread
请注意,使用Clang编译CUDA仍然需要安装official documentation的专有CUDA运行时。
答案 1 :(得分:4)
2016-05-01更新:clang现在支持CUDA。请参阅@rivanvx的回答。
CUDA编译器基于LLVM。 Clang虽然也基于LLVM,但不支持CUDA。