Introduction
CUDA Toolkitには、Visual Studioと統合されるVisual Studio Integrationが含まれています。
しかしながら、このツール、Visual Studioのバージョンをチェックしているのか、2018/09/01現在、最新のCUDA Toolkit、cuda_9.2.148_win10.exeでもインストールに失敗します。
というのも公式にも対応しているのは、Visual Studio 2017 15.6となっており対応していないことがうかがえます。
既に、15.8の登場が控えている状況でこれは非常にまずいです。
ということでその対応。
Resolution
公式のフォーラムでもこの問題は話題になっています。
Nvidiaの対応に不満の声が。
そんな中、下記のスレッドの**installing CUDA 9.2 with VS2017 integration worked for me this way:**と言う投稿で対応策が提示されました。
要点は、
- cuda_9.2.88_win10.exeをWinRARとかで展開
- CUDAVisualStudioIntegration\CUDAVisualStudioIntegration.nviを書き換える
- setup.exeを実行
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include\crt\host_config.hを書き換える
です。
私の試した手順だと、
- cuda_9.2.88_win10.exeを実行し、インストーラを起動して最初の画面で待機
- CUDAVisualStudioIntegration.nviを書き換える
- インストール続行
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include\crt\host_config.hを書き換える
でOKでした。
少し具体的に書くと、
CUDAVisualStudioIntegration.nvi を書き換える
インストーラを起動してから書き換える場合は、**”%TEMP%\CUDA\CUDAVisualStudioIntegration\CUDAVisualStudioIntegration.nvi**が書き換える対象です。
そして、テキストエディタでCUDAVisualStudioIntegration.nviを開き、下記の箇所を削除します。
1 | <custom phase="handleExistingNsight" action="HandleExistingNsight"/> |
host_config.h を書き換える
インストール完了後、C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include\crt\host_config.hを書き換えます。
これを書き換えないと、CUDAを使ってコンパイルする際にエラーが出てコンパイルが停止します。
130行目付近の
1 |
を、下記のようにします。
1 | /*#if _MSC_VER < 1600 || _MSC_VER > 1913*/ |