Mac OS上的CUDA mathfunctions.hpp编译器错误:无法重载按返回类型区分的函数

时间:2019-04-01 18:02:46

标签: macos cuda

我尝试使用以下Makefile从https://github.com/wilicc/gpu-burn编译代码。这是使用CUDA的GPU刻录机,我的Mac确实具有GT750M。

  1 CUDAPATH=/usr/local/cuda
  2
  3 # Have this point to an old enough gcc (for nvcc)
  4 GCCPATH=/usr/bin/clang
  5
  6 NVCC=nvcc
  7 CCPATH=${GCCPATH}/bin
  8
  9 drv:
 10         PATH=${PATH}:.:${CCPATH}:${PATH} ${NVCC} -I${CUDAPATH}/include -arch=compute_30 -ptx compare.cu -o compare.ptx
 11         g++ -O3 -Wno-unused-result -I${CUDAPATH}/include -c gpu_burn-drv.cpp
 12         g++ -o gpu_burn gpu_burn-drv.o -O3 -lcuda -L${CUDAPATH}/lib64 -L${CUDAPATH}/lib -Wl,-rpath=${CUDAPATH}/lib64 -Wl,-rpath=${CUDAPATH}/lib -lcublas -lcudart -o gpu_burn

但是我收到八个编译错误,指出“ /usr/local/cuda/include/crt/math_functions.hpp(xxx): error: cannot overload functions distinguished by return type alone”。

我在Mac上安装了最新的CUDA 10.1.105,并使用 Clang 编译了代码,但是它不起作用。如果我切换回 gcc ,错误仍然存​​在。

gcc --version:Apple LLVM版本10.0.1(clang-1001.0.46.3)

1 个答案:

答案 0 :(得分:0)

一种解决方法是简单地编辑math_functions.hpp(在我的情况下也是math_functions.h)并注释掉有问题的行。