我尝试使用以下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)
答案 0 :(得分:0)
一种解决方法是简单地编辑math_functions.hpp
(在我的情况下也是math_functions.h
)并注释掉有问题的行。