Cuda Nvcc致命:不支持主机编译器('clang')的版本('40001')

Cuda Nvcc致命:不支持主机编译器('clang')的版本('40001'),cuda,Cuda,我尝试使用 使-C 0_变得简单/矢量添加 我得到以下输出: /Developer/NVIDIA/CUDA-9.0/bin/nvcc -ccbin clang++ -I…/…/common/inc -m64 -Xcompiler -arch -Xcompiler x86_64 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -ge

我尝试使用

使-C 0_变得简单/矢量添加

我得到以下输出:

/Developer/NVIDIA/CUDA-9.0/bin/nvcc -ccbin clang++ -I…/…/common/inc -m64 -Xcompiler -arch -Xcompiler x86_64 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_60,code=compute_60 -o vectorAdd.o -c vectorAdd.cu
nvcc fatal : The version (‘40001’) of the host compiler (‘clang’) is not supported
make: *** [vectorAdd.o] Error 1
我有OSX 10.12.6

我安装了XCode 8.3.3,并使用sudoXcode select-s/Applications/XCode_8.3.3.app/Contents/Developer进行了设置。 我还安装了命令行工具

这适用于CUDA-9.0,因为任何更高版本都需要OSX 10.13或更高版本

如果我使用:

sudoxcode选择-开关/库/开发人员/命令行工具/

然后:

使-C 0_变得简单/矢量添加

xcode选择:错误:工具“xcode构建”需要xcode,但处于活动状态 开发人员目录“/Library/developer/CommandLineTools”是一个命令 line tools实例表达式:语法错误 /Developer/NVIDIA/CUDA-9.0/bin/nvcc-ccbin g++-I..//common/inc -m64-Xcompiler-arch-Xcompiler x86\u 64-gencode-arch=compute\u 30,code=sm\u 30-gencode-arch=compute\u 35,code=sm\u 35 -gencode arch=compute_37,code=sm_37-gencode arch=compute_50,code=sm_50-gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60-gencode arch=compute_60,code=compute_60-o vectorAdd.o-c vectorAdd.cu nvcc 致命:主机编译器“Apple clang”的版本“90000” 不支持生成:**[vectorAdd.o]错误1

这一切都很不清楚,为什么不支持,是不是太新了?它太旧了吗? 是否应该更新或降级clang等?

通常,CUDA需要主机SDK和编译器的精确版本才能工作。对于OS X上的CUDA 9.0,要求如下

代码8.3.3 Clang Apple LLVM 8.1.0,又名8100 直接取自


如果且仅当您正确安装了这两个项目,CUDA 9.0将在Mac OS X 10.12上运行。否则它不会。

CUDA 9需要Xcode 8.3.3-正如我提供的链接明确指出的那样-您需要为CUDA工具包安装Xcode和Clang的确切版本。如果你没有,你没有,那么它就不会起作用。默认的clang版本可以在这里找到,您可以清楚地看到,您仍然在使用先前安装的Xcode 9.2安装中的clang