1. ホーム
  2. tensorflow

tensorflowのCUDAドライババージョンがCUDAランタイムバージョンに対して不足している 問題が解決された

2022-02-12 05:31:23

CUDAドライバのバージョンはCUDAランタイムのバージョンに対して不十分です 翻訳すると、CUDAドライバのバージョンはCUDAランタイムのバージョンと一致しません!

1. CUDAドライババージョン:NVIDIA GPUのドライババージョン。

コマンドを表示します。 nvidia-smi

私のGPUのドライバのバージョンは384.81であることが確認できました。

2. CUDAランタイムバージョン。pythonにインストールされているcudatoolkitとcudnnのパッケージのバージョンです。

コマンドを表示します。 ピップリスト

cudatoolkit と cudnn パッケージの python インストールのバージョンは: 9.2 です。

3.nvidiaドライバとcudaランタイムのバージョン対応

ランタイムバージョン ドライババージョン
CUDA 9.1 387.xx 
CUDA 9.0 384.xx 
CUDA 8.0 375.xx (GA2) 
CUDA 8.0 367.4x 
CUDA 7.5 352.xx 
CUDA 7.0 346.xx 
CUDA 6.5 340.xx 
CUDA 6.0 331.xx 
CUDA 5.5 319.xx 
CUDA 5.0 304.xx 
cuda 4.2 295.41 
cuda 4.1 285.05.33 
cuda 4.0 270.41.19 
cuda 3.2 260.19.26 
cuda 3.1 256.40 
cuda 3.0 195.36.15

4. ソリューション

ドライババージョン384.81はランタイムバージョン9.0に相当し、pythonでcudatoolkitとcudnnパッケージバージョン9.2をインストールすると高すぎるということになります。

システム上ではGPUドライバに依存するプログラムが増えるため、通常このような場合はcudatoolkitとcudnnのパッケージのバージョンを変更することにしています。

そこで、まず python で cudatoolkit と cudnn パッケージをアンインストールします: pip uninstall cudnn; pip uninstall cudatoolkit

次に、対応するバージョンの cudatoolkit と cudnn パッケージをインストールします: pip install cudatoolkit=9.0; pip install cudnn

5. なぜこのようなことが起こるのか

これは通常、pythonでgpu版のtensorflowをインストールする際に、pipがtensorflowが依存している他のパッケージをチェックし、依存しているパッケージがインストールされていない場合、依存するパッケージの最新版を最初にインストールするために起こります。この時、gpu版tensorflowはcudatoolkitとcudnnパッケージに依存しており、pipは最新版のcudatoolkitとcudnnパッケージをインストールし、結局gpuドライバのバージョンとcudaランタイムのバージョンの間にミスマッチが生じることになるのだそうです。