CUDAをインストールしようとしていますが、「Visual Studioのサポートされているバージョンが見つかりませんでした」というメッセージが表示されます。これは私がVisual Studio 2017(Community)を使用しているためだと思います。CUDAは現在Visual Studio 2015までしかサポートしていません。残念ながら、マイクロソフトはサブスクリプション料金を支払うことなくVisual Studioの古いバージョンをダウンロードできません。
VS 2017との互換性の問題を回避する方法はありますか、CUDAを使用できませんか?
CUDA 8.0
をVisual Studio 2017
と一緒にインストールする場合は、Visual Studio 2017の追加コンポーネントをインストールする必要があります。Individual components
タブを開き、VC++ 2015.3 v140 toolset
を選択しますCompilers, build tools and runtimes
の下。.NET Framework 3.5
をインストールしていない場合は、インストールする必要があります。Nvda.Build.CudaTasks.v8.0.dll
Assembly MS .NET Framework 3.5に依存。クラシックコントロールパネルを開き、Programs and features
に移動します
そしてTurn Windows features on or off
を押します。 .NET Framework 3.5を確認し、[OK]を押します。
CUDA toolkit
ディストリビューションをダウンロードして、ディスクのどこかに展開します。CUDA toolkit
がインストールされていない場合は、今すぐ実行してください。 Visual Studio 2017
のみがインストールされている場合は、Visual Studio integration
チェックボックスをオフにします。
ここで、"No supported version of the visual studio was found"
エラーを受け取ります。
ただし、Visual Studio 2017
でCudaツールキットプロジェクトを正常にビルドするには、手順5と6に従う必要もあります。
CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions
に移動しますC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations:
Cuda
プロジェクトを編集して、Visual Studio 2017
からNVidiaのビルドタスクを認識する必要があります。 .vcxproj
ファイルをテキストエディターで開き、出現するすべてのCUDA 8.0.props
を見つけます。 XMLスニペットが次のようになるように、文字列の先頭のマクロを$(VCTargetsPath14)
に置き換えます。
<ImportGroup Label="ExtensionSettings"> <Import Project="$(VCTargetsPath14)\BuildCustomizations\CUDA 8.0.props" /></ImportGroup>
ファイルの最後でカスタムターゲットパスを編集することを忘れないでください。
<ImportGroup Label="ExtensionTargets"> <Import Project="$(VCTargetsPath14)\BuildCustomizations\CUDA 8.0.targets" /></ImportGroup>
パスの構成を再確認してください!
コマンドプロンプトからnvcc
を使用すると、cl.exe
フォルダーからVisual Studio
を呼び出していない可能性があります。
これで、Visual Studio 2017からCudaプロジェクトをビルドできます。
このソリューションの一部は Oleg Tarasovブログ からのものです。
皆さん、助けてくれてありがとう。この投稿をパズルの最後のピースで補完したかっただけです。 CUDA v9.0 RCは1910として識別するVS2017を探していますが、最新の更新プログラムは実際に1911として識別します。open.../CUDA/v9.0/include/crt/Host_config.hを修正してこの行を変更するには:#if _MSC_VER < 1600 || _MSC_VER > 1910
これ:#if _MSC_VER < 1600 || _MSC_VER > 1911
また、CMakeListsに次を追加する必要があります。list(APPEND CUDA_NVCC_FLAGS --cl-version=2017)
現時点では、MicrosoftはまだVS2015 Update 2コミュニティエディションを利用可能にしているようです。 「dev essentials」プログラムに参加する必要がありますが、無料のようです。
here からインストーラーをダウンロードできました。
更新:CUDA 9 RCは昨日、developer.nvidia.comで登録開発者に提供され、VS 2017をサポートしています。
この後者を見ている人々のために。
まず、CUDA 10(CUDA Toolkit 10.0)をインストールしてみてください。
MODがなければ動作しない場合は、リストに表示されているVC++ツールセットがすべてあることを確認してください。 このビデオ を確認し、8:41に停止してリストを比較します。
何らかの理由でCUDA 9.0-9.2を使用する必要がある場合、いくつかのフープをジャンプする必要があります。
Cmdベースのビルドを非常にカスタマイズしている場合は、#if _MSC_VER
(.../CUDA/.../include/crt/Host_config.h
内)を探し、末尾の|| _MSC_VER > ...
を削除します
WindowsシェルでCudaコンパイラnvcc
を機能させるには、以下を実行する必要があります
vS 2017の個々のコンポーネントから適切なツールセットバージョンをインストールする-VC++ 2017 version 15.4 v.14.11 toolset
"c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 -vcvars_ver=14.11
に従ってWindowsシェルで実行します
Windowsシェルからエラーなしでnvcc
コードをコンパイルできます
最新のアップデート(2018年6月12日現在)Cudaの最新バージョンは9.2であり、Visual Studioの最新バージョンは2017.7であり、連携して動作しません。上記のソリューションで提供されている指示は機能しません。ここに私のために働いたものがあります:
個々のコンポーネントに移動します。 Windows 10 SDK 10.0.15063をクリックします ここに画像の説明を入力します
公式Webサイトからcuda Toolkitをダウンロードします。 https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_Arch=x86_64&target_version=10&target_type=exelocal
CUDA 9.1とVS2017 Enterpriseを使用して同じ問題に遭遇しました。
VC++コンパイラを(141ではなく)v140に変更すると、すべて正常に動作します。
すでにフラグがありました
#if _MSC_VER < 1600 || _MSC_VER > 1911
しかし、エラーの表示は止まりません。
理由はわかりませんが、VS2015で実行しようとすると、v141がインストールされていないというエラーが発生します...
同じ状況で他の誰かを助けるかもしれないので、これをここに残してください。 (私は本当にソリューションの理由、方法、時期、誰、または何を理解していない。
テキストエディター(つまりSublime)を使用してCUDAプログラムを編集し、コマンドプロンプトからコンパイルしたかったのですが、nvccコンパイラーエラーが発生しました。 Windows 10 OSでVisual Studio 2017をインストールしましたが、コンパイル後に「VS 2012、13、15、および17のバージョンのみが許可されます」と表示されました。そこで、VS 2017インストーラーのインストールパッケージからVC++ 2015ツールキットをインストールしました(トップポストの画像を参照)。代わりに、彼のプロセス全体を実行しませんでした。cl.exeファイルのパスを、新しく作成したVS 14.0フォルダーから環境変数にコピーしただけです。 .exeは次の場所にあります。
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
お役に立てれば!