#macos #cuda
#macos #cuda
Вопрос:
Я попытался скомпилировать код из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. На самом деле, это случается со мной, даже если я пытаюсь скомпилировать пример кода из официального руководства по установке драйвера CUDA. Мне кажется, это обычная проблема.
2. Я полагаю, вы находитесь в Мохаве? gcc имеет символическую ссылку на clang, поэтому, если вы намеренно не установили gcc и не настроили его, вы все еще просто используете clang
Ответ №1:
Обходной путь к этому — просто отредактировать math_functions.hpp
(а также math_functions.h
в моем случае) и закомментировать оскорбительные строки.