Ошибка компилятора CUDA mathfunctions.hpp в Mac OS: невозможно перегрузить функции, различающиеся типом возвращаемого значения - PullRequest
2 голосов
/ 01 апреля 2019

Я попытался скомпилировать код из https://github.com/wilicc/gpu-burn, используя следующий Makefile.Это устройство для записи графических процессоров, использующее CUDA, и мой 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".

Я установил последнюю версию CUDA 10.1.105 на моем Mac, и скомпилируйте код, используя Clang , но он не работает.Если я вернусь к gcc , ошибки все еще будут присутствовать.

gcc --version: Apple LLVM версия 10.0.1 (clang-1001.0.46.3)

1 Ответ

1 голос
/ 17 апреля 2019

Обходной путь к этому - просто отредактировать math_functions.hpp (а также math_functions.h в моем случае) и закомментировать обидные строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...