Ich versuche, CUDA zu installieren, aber ich erhalte die Meldung "Keine unterstützte Version von Visual Studio gefunden". Ich denke, das liegt daran, dass ich Visual Studio 2017 (Community) verwende und CUDA derzeit nur Visual Studio 2015 unterstützt. Leider erlaubt Microsoft mir nicht, ältere Versionen von Visual Studio herunterzuladen, ohne eine Abonnementgebühr zu bezahlen.
>Gibt es eine Möglichkeit, das Kompatibilitätsproblem mit VS 2017 zu umgehen, oder kann ich CUDA nicht verwenden?
CUDA 8.0
mit Visual Studio 2017
installieren möchten, müssen Sie zusätzliche Komponenten für Visual Studio 2017 installieren. Individual components
und wählen Sie VC++ 2015.3 v140 toolset
Compilers, build tools and runtimes
. .NET Framework 3.5
installieren, wenn Sie es nicht installiert haben. Nvda.Build.CudaTasks.v8.0.dll
assembly abhängig von MS .NET Framework 3.5 . Öffne die klassische Systemsteuerung, gehe zu Programs and features
und drücke Turn Windows features on or off
. Überprüfen Sie .NET Framework 3.5 und klicken Sie auf OK.
CUDA toolkit
-Distribution herunter und extrahieren Sie sie irgendwo auf Ihrer Festplatte. CUDA toolkit
nicht installiert haben, tun Sie es jetzt. Wenn Sie nur Visual Studio 2017
installiert haben, deaktivieren Sie das Kontrollkästchen Visual Studio integration
.
Jetzt möchten Sie den Fehler "No supported version of visual studio was found"
erhalten.
Um Cuda-Toolkit-Projekte in Visual Studio 2017 erfolgreich erstellen zu können, müssen Sie jedoch auch die Schritte 5 und 6 befolgen.
CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations:
Cuda
-Projekte bearbeiten, um NVidias Build-Aufgaben von Visual Studio 2017
zu erkennen. Öffnen Sie Ihre .vcxproj
-Datei in einem Texteditor und finden Sie alle Vorkommen von CUDA 8.0.props
. Ersetzen Sie das Makro am Anfang der Zeichenfolge durch $(VCTargetsPath14)
, sodass das XML-Snippet wie folgt aussieht:
<ImportGroup Label="ExtensionSettings"> <Import Project="$(VCTargetsPath14)\BuildCustomizations\CUDA 8.0.props" /></ImportGroup>
Vergessen Sie nicht, den Pfad für benutzerdefinierte Ziele am Ende der Datei zu bearbeiten:
<ImportGroup Label="ExtensionTargets"> <Import Project="$(VCTargetsPath14)\BuildCustomizations\CUDA 8.0.targets" /></ImportGroup>
Überprüfen Sie die Pfadkonfguration unbedingt!
Wenn Sie nvcc
von der Eingabeaufforderung aus verwenden, rufen Sie möglicherweise cl.exe
nicht vom Ordner Visual Studio
auf!
Jetzt können Sie Ihr Cuda-Projekt von Visual Studio 2017 erstellen.
Teile dieser Lösung stammen von Oleg Tarasov Blog .
Im Moment scheint Microsoft VS2015 Update 2 Community Edition noch verfügbar zu machen. Sie müssen dem Programm "dev essentials" beitreten, aber es scheint kostenlos zu sein.
Ich konnte das Installationsprogramm kürzlich hier herunterladen.
Update: CUDA 9 RC wurde gestern auf developer.nvidia.com registrierten Entwicklern zur Verfügung gestellt, und es hat Unterstützung für VS 2017.
Danke euch allen für eure Hilfe. Ich wollte diesen Beitrag nur mit den letzten Teilen des Puzzles ergänzen. CUDA v9.0 RC sucht nach VS2017, um als 1910 zu identifizieren, aber das letzte Update identifiziert tatsächlich als 1911. Um zu beheben, öffnen Sie ... / CUDA / v9.0 / include / crt / host_config.h und ändern Sie diese Zeile:
#if _MSC_VER < 1600 || _MSC_VER > 1910
dazu:
#if _MSC_VER < 1600 || _MSC_VER > 1911
Möglicherweise müssen Sie Ihren CMakeLists Folgendes hinzufügen:
list(APPEND CUDA_NVCC_FLAGS --cl-version=2017)
Um den Cuda Compiler nvcc
in der Windows Shell zu erhalten, müssen Sie folgendes tun:
Installieren Sie die richtige Toolset-Version aus der einzelnen Komponente für VS 2017 - VC++ 2017 version 15.4 v.14.11 toolset
Führen Sie in Windows-Shell folgende "c:\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 -vcvars_ver=14.11
Sie können nvcc
code ohne Fehler von der Windows-Shell
Ich habe das gleiche Problem mit CUDA 9.1 und VS2017 Enterprise festgestellt.
Nach dem Ändern des VC ++ - Compilers in v140 (statt 141) läuft alles gut.
Hatte bereits Flaggen
%Vor%Aber es würde nicht aufhören, den Fehler zu zeigen.
Keine Ahnung, warum, aber der Versuch, es auf VS2015 auszuführen, führt zu Fehlern, da v141 nicht installiert wird ... wegen einer verdrehten Logik habe ich versucht, v141 nicht zu verwenden, wo es installiert wurde ... und alles hat funktioniert !!
Das hier belassen, da es jemand anderem in derselben Situation helfen kann. (obwohl ich wirklich nicht verstehe, warum, wie, wann, wer oder was von der Lösung.
Tags und Links visual-studio parallel-processing cuda gpu