CUDAランタイムAPIは関数を公開します
cudaRuntimeGetVersion()
およびcudaDriverGetVersion()
(詳細な説明を参照してください ここ )。最初のものは「8.0」(CUDA 8.0の場合)を与え、2番目のものはnVIDIAのGPUドライバーカーネルモジュールを調べることで得られるものと同じ文字列を与えると期待していました。
modinfo nvidia | grep "^version:" | sed 's/^version: *//;'
私のシステムでは367.57
。
これで、最初の呼び出しで8000
-素晴らしい、8.0と言う奇妙な方法だと思う。しかし、2番目のAPI呼び出しは8000
。それで、これらの両方はどういう意味ですか?
私がリンクしたRuntime APIドキュメントはこれを説明していないようです。
CUDAランタイムバージョンは、インストールされているcudart(CUDAランタイム)ライブラリに関するCUDA互換性(つまりバージョン)を示します。
CUDAドライバーバージョン(ここで報告)は、ドライバーに関するsame情報を報告します。
これは、CUDAのドライバー互換性モデルに関連しています。ご存じのとおり、特定のCUDAツールキットバージョン(CUDAランタイムライブラリバージョン、nvccコンパイラバージョンなど) 適切な使用には特定の最小ドライバーレベルが必要 そのツールキットでコンパイルされたコード。
CUDAドライバーのバージョン(ここで報告)は、特定のインストールされたドライバーによってどのCUDAバージョンをサポートできるかを効果的に報告します。
既に発見したように、実際の番号付きドライバーのバージョンは報告しません。