it-swarm.com.de

Wiederherstellen der Apple Clang-Version für NVCC

Ich versuche, NVCC auszuführen, um ein CUDA-Programm auf meinem Mac zu erstellen.

Beim Versuch, NVCC auszuführen, erhalte ich folgende Fehlermeldung: "nvcc fatal: Die Version ('70300') des Host-Compilers ('Apple clang') wird nicht unterstützt.".

Ich habe kürzlich meine XCode-Version auf 7.3 und meinen Mac auf 10.11.4 aktualisiert.

Gibt es eine Möglichkeit, meine Clang-Version zurückzusetzen?

30
  1. Gehen Sie zu https://developer.Apple.com/downloads/ , melden Sie sich an und laden Sie dann 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_2 herunter. dmg und installieren, wie von fabregaszy vorgeschlagen.
  2. Führen Sie den folgenden Befehl aus, um zur alten Version zu wechseln: Sudo xcode-select --switch /Library/Developer/CommandLineTools
  3. Führen Sie den folgenden Befehl aus, um die Clang-Version schnell zu überprüfen: clang --version
40
szha

Die akzeptierte Antwort besagt, dass Sie die neuesten Befehlszeilen-Tools herunterladen, installieren und dann durch Eingabe in die Konsole auswählen müssen

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

Es wurde gefragt, wie die ursprüngliche Version der Tools wiederhergestellt werden kann. Dies wird erreicht durch

Sudo xcode-select --switch /Applications/Xcode.app
7
Hugues TALBOT

Ich hatte gerade dasselbe Problem nach dem Upgrade auf XCode 7.3 am 10.11. Beim erneuten Installieren der vorherigen (7.2) Befehlszeilenprogramme wurde der Standard-Clang-Compiler nicht heruntergestuft. Um dieses Problem zu beheben, habe ich ein vorheriges XCode.app-Paket verwendet, um das Verzeichnis XcodeDefault.xctoolchain umzubenennen und in den Toolchains-Director in der aktuellen Datei /Applications/Xcode.app zu kopieren. Sie müssen mit der rechten Maustaste auf Xcode.app klicken, um "Paketinhalt anzeigen" anzuzeigen, und dann zum Verzeichnis "Toolchains" navigieren.

 enter image description here

Starten Sie dann Xcode (erneut), drücken Sie die Befehlstaste, um die Einstellungen zu ändern, und gehen Sie zu den Standorten. Sie sehen die Dropdown-Liste für Befehlszeilentools. Ändern Sie die Version der Toolchain, die Sie kopiert haben.

 enter image description here

Sie können die Standardversion von clang in Terminal überprüfen:

clang -v OR llvm-gcc -v

Nun sollte nvcc funktionieren

7
adon

Ich bin in dieselbe Ausgabe gekommen.

Ich denke, die alten Befehlszeilentools, die unter https://developer.Apple.com/downloads/ heruntergeladen werden können

kann dieses Problem lösen.

Aktualisierte:

Ich habe den folgenden Link heruntergeladen und installiert. Die Clang-Version wurde erfolgreich auf Apple LLVM-Version 7.0.2 Clang-700 zurückgesetzt. Behalten Sie jedoch Ihre OS X-Version im Auge.

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
fabregaszy

Ich würde die homebrew-Version von llvm ausprobieren, es funktioniert für mich .brew install llvm37

Stellen Sie dann Ihren Compiler auf das Homebrew-Geräusch ein: /Usr/local/bin/clang ++ - 3.7 oder was auch immer auf which clang++-3.7 antwortet.

Auf diese Weise können Sie die Standardwerte für Ihre OS X dev-Umgebung beibehalten.

1

80100 kann mit einigen NVC-Programmen arbeiten

Ich habe "80100" und nvcc für einige meiner anderen Programme verwendet.

... aber keine Probe

`

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

`

cLT 8.2 (Befehlszeilentool von Apple) installieren, mit der Meldung "Befehlszeilentools-Instanz"

Ich google und sehe eine Diskussion darüber ( https://github.com/arrayfire/arrayfire/issues/1384 ) über das Array feuer nvcc und dank des Hinweises auf CLT 8.2 umzustellen letzte Version nicht aktuell. Es ist irgendwie ok mit Warnmeldung über "Befehlszeilen-Tools-Instanz".

Sie müssen "Sudo make" verwenden, um Beispielcode zu kompilieren:

` ... $ Sudo machen Passwort:

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)
...

`

1
Dennis Ng

Installation von Command Line Tools ab X-Code Version 7.2. derzeit löst das nicht.

Der Versuch, Ergebnisse zu kompilieren:

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

Der Trick für mich war, Xcode 7.3 zu deinstallieren und Xcode 6.2 von der Apple-Entwicklerseite zu installieren.

1
Jörg

Umbenennen Sie Xcode in Ihrem Mac als Xcode-7.app im Ordner/Applications .. .. Laden Sie Xcode6.4 von https://developer.Apple.com/download/more/ - herunter und installieren Sie es.

1
albertxavier

Ich hatte das gleiche Problem! Suchte in meinen Time Machine Backups und kopierte Xcode.app (7.2.1) in meinen Ordner/Application. Sie können es auch von der Apple Developer Page) herunterladen und in Ihren/Application-Ordner verschieben. Anschließend können Sie die Xcode-Befehlszeilenversion in Ihren Xcode-Einstellungen auf 7.2.1 ändern nvcc wird wieder funktionieren (auch mit pycuda-2016.1).

clang --version

gibt mir:

Apple LLVM version 7.0.2 (clang-700.1.81)

0
domlue