Подтвердить что ты не робот

Вернуть версию Apple Clang для NVCC

Я пытаюсь запустить NVCC для компиляции программы CUDA на моем Mac.

Когда я пытаюсь запустить NVCC, я получаю следующую ошибку: "nvcc fatal: версия (" 70300 ") компилятора хоста (" Apple clang ") не поддерживается".

Недавно я обновил версию XCode до 7.3, а мой Mac до 10.11.4.

Есть ли способ вернуть мою версию Clang?

4b9b3361

Ответ 1

Ответ 2

У меня была такая же проблема после обновления до XCode 7.3 10.11. Переустановка предыдущих инструментов командной строки (7.2) не уменьшала значение стандартного компилятора clang. Чтобы исправить это, я использовал предыдущий пакет XCode.app для переименования и копирования каталога XcodeDefault.xctoolchain в директорию Toolchains в текущем /Applications/Xcode.app. Вы должны щелкнуть правой кнопкой мыши по Xcode.app в "Показать содержимое пакета", а затем перейти к директории Toolchains.

введите описание изображения здесь

Затем (повторно) запустите Xcode, нажмите команду -, для настроек, затем перейдите в локации. Вы увидите раскрывающееся меню для инструментов командной строки. Измените это на версию скопированной инструментальной цепочки.

введите описание изображения здесь

Вы можете проверить версию clang в терминале по умолчанию:

clang -v OR llvm-gcc -v

Теперь nvcc должен работать

Ответ 3

Я попал в ту же проблему.

Я думаю, что старые инструменты командной строки, которые могут быть загружены из https://developer.apple.com/downloads/

может решить эту проблему.

Обновлено:

Я скачал по ссылке ниже и установил, версия clang была успешно возвращена в Apple LLVM версии 7.0.2 clang-700. Но, пожалуйста, следите за версией OS X.

http://adcdownload.apple.com/Developer_Tools/Command_Line_Tools_OS_X_10.11_for_Xcode_7.2/Command_Line_Tools_OS_X_10.11_for_Xcode_7.2.dmg

Ответ 4

В принятом ответе говорится, чтобы загрузить новейшие инструменты командной строки и установить их, а затем выбрать их, введя в консоль

sudo xcode-select --switch /Library/Developer/CommandLineTools

Его спросили, как вернуться к исходной версии инструментов. Это достигается с помощью

sudo xcode-select --switch /Applications/Xcode.app

Ответ 5

К сожалению, установка инструментов командной строки из X-кода версии 7.2. в настоящее время не решает этого.

Попытка скомпилировать результаты:

nvcc fatal : GNU C/C++ compiler is no longer supported as a host compiler on Mac OS X.

Что для меня было трюк, заключалось в том, чтобы удалить Xcode 7.3 и установить Xcode 6.2 с сайта разработчика Apple.

Ответ 6

Переименовать Xcode существует в вашем mac как Xcode-7.app в папке /Applications. Затем загрузите Xcode6.4 из https://developer.apple.com/download/more/ и установите его.

Ответ 7

80100 может работать с некоторыми программами nvcc

Я использовал "80100" и nvcc для некоторых других моих программ.

... но не образец

`

...
nvcc fatal   : The version ('80100') of the host compiler ('Apple clang') is not supported
...

`

установить CLT 8.2 (инструмент командной строки от Apple), это как-то нормально с сообщением о "экземпляре инструментов командной строки"

Я google и вижу обсуждение об этом (https://github.com/arrayfire/arrayfire/issues/1384) о проблеме с огнем nvcc массива и благодаря подсказке перейти на CLT 8.2, последняя версия не актуальна. Это похоже на предупреждение с сообщением об "экземпляре инструментов командной строки"

Вам нужно использовать команду "sudo make" для компиляции кода примера:

`   ...   $ sudo make   Пароль:

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
expr: syntax error

/Developer/NVIDIA/CUDA-8.0/bin/nvcc -ccbin g++ -I../../common/inc  -m64  -Xcompiler -arch -Xcompiler x86_64  -gencode arch=compute_20,code=sm_20 -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 deviceQuery.o -c deviceQuery.cpp

nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).

/Developer/NVIDIA/CUDA-8.0/bin/nvcc -ccbin g++   -m64  -Xcompiler -arch -Xcompiler x86_64  -Xlinker -rpath -Xlinker /Developer/NVIDIA/CUDA-8.0/lib  -gencode arch=compute_20,code=sm_20 -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 deviceQuery deviceQuery.o 

nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).

mkdir -p ../../bin/x86_64/darwin/release

cp deviceQuery ../../bin/x86_64/darwin/release

$ ./deviceQuery
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)
...

`

Ответ 8

У меня была такая же проблема! Посмотрел в моем Time Machine Backups и скопировал Xcode.app(7.2.1) в папку my/Application. Вы также можете загрузить его с веб-страницы разработчика Apple и перенести в свою папку "Приложение". После этого вы можете изменить версию командной строки Xcode в своих настройках Xcode до 7.2.1 Затем nvcc снова будет работать (даже с pycuda-2016.1).

clang --version

дает мне:

Apple LLVM version 7.0.2 (clang-700.1.81)

Ответ 9

Я бы попробовал homebrew версию llvm, это работает для меня. brew install llvm37

Затем установите свой компилятор для доморощенного clang: /usr/local/bin/clang ++-3.7 или что-либо, что отвечает which clang++-3.7

Таким образом, вы можете оставить свои настройки среды OS X-dev такими, как они есть.