3

我是 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 上运行它。

4

2 回答 2

9

感谢 Google 和其他人的贡献,Clang 现在支持构建 CUDA。不过,命令行参数与 略有不同nvcc。根据官方文档,假设你的文件名为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 仍然需要您安装NVIDIA CUDA 工具包中的专有 CUDA 运行时。

于 2016-03-26T20:35:00.893 回答
4

2016-05-01 更新:clang 现在支持 CUDA。请参阅@rivanvx 的答案。

CUDA 编译器基于 LLVM。Clang 虽然也是基于 LLVM,但不支持 CUDA。

于 2012-08-23T22:51:53.330 回答