LoginSignup
1
0

More than 3 years have passed since last update.

CudaのバージョンアップをしたらVisualStudioが起動しなくなった件

Posted at

CUDA Toolkit 10.1をインストールしてVisualStudio(2015/2017/2019)で既存のCUDAプロジェクトを開くとVisualStudioが異常終了する現象に見舞われた。解決に至るまでの手順を以下に示す。

原因調査

手順1 VisualStudioを/safemodeで起動

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe" /safemode
->CUDA拡張を読み込まないため起動に成功
やはりCUDAが原因か?

手順2 VisualStudioを通常起動

起動途中でエラーダイアログが現れる。

手順3 [Debug]ボタン押下

手順1で起動したVisualStudioのインスタンスをデバッガに選択

手順4 VisualStudioのデバッグ画面で停止箇所を確認

例外がスローされました
0x14DFC5D5 (ig9icd32.dll) で例外がスローされました (devenv.exe 内): 0xC0000005: 場所 0x00000000 の読み取り中にアクセス違反が発生しました
ig9icd32.pdbは読み込まれていません
モジュールig9icd32.dllのソースを見つけるために必要なデバッグ情報がig9icd32.pdbに含まれています
モジュール情報
バージョン: 25.20.100.6323
元の場所: C:\Windows\System32\DriverStore\FileRepository\igdlh64.inf_amd64_8a9535cd18c90bc3\ig9icd32.dll

手順5 逆アセンブル

14DFC5BB mov edx,dword ptr [esi]
14DFC5BD add esp,8
14DFC5C0 mov dword ptr [ebp-8],edx
14DFC5C3 mov ecx,dword ptr [ebp+18h]
14DFC5C6 mov eax,dword ptr [ecx+1D0h]
14DFC5CC mov dword ptr [ebp-0Ch],eax
14DFC5CF mov eax,dword ptr [ecx+1E4h]
14DFC5D5 mov esi,dword ptr [eax] <--- ここでeaxがゼロになっている
14DFC5D7 mov eax,dword ptr [eax+4]
14DFC5DA mov ecx,dword ptr [ecx+1D0h]
14DFC5E0 mov dword ptr [ebp-18h],esi
14DFC5E3 mov esi,dword ptr [ebp+8]
14DFC5E6 mov dword ptr [ebp-14h],eax

推測

ig9icd32.dllのバージョンに問題があり、関数の引数に矛盾が生じているように見える。
ig9icd32.dllというのはIntel(R) HD Graphics 530のドライバ

対処

Intel Graphics 530 driverのバージョンを古いものに戻した。
デバイスマネージャでIntel(R) HD Graphics 530の「ドライバーを元に戻す」を実行。
25.20.100.6323 -> 20.19.15.4312 (20.19.15.4835でもOK)

結果

Visual Studioで無事CUDAプロジェクトを開くことに成功!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0