2016-11-14 40 views
4

CUDAの機能はcudaRuntimeGetVersion()cudaDriverGetVersion()です(詳細はhereを参照)。私は最初に「8.0」(CUDA 8.0)を、もう1つはNVIDIAのGPUドライバカーネルモジュールを調べてみたものと同じ文字列を私に渡すようなものでした。CUDAランタイムバージョンとCUDAドライババージョンの違いは何ですか?

modinfo nvidia | grep "^version:" | sed 's/^version: *//;' 

私のシステムでは367.57です。さて、最初の呼び出しは私に8000を与えます - ちょっと奇妙なことに、私は8.0と言っています。 2番目のAPI呼び出しでも私には8000が与えられます。では、これらの意味はどういう意味ですか?つまり、CUDAは独立した「ランタイム」パッケージと「ドライバ」パッケージで構成されているわけではありません。

私がリンクしているランタイムAPIドキュメントはこれを説明していないようです。

答えて

4

CUDAランタイムバージョンは、インストールされているcudart(CUDAランタイム)ライブラリに関するCUDA互換性(つまりバージョン)を示します。

CUDAドライバのバージョン(ここに報告)は、と同じで、ドライバに関する情報をに報告します。

これは、CUDAのドライバ互換性モデルに関連しています。ご存じのように、そのツールキットでコンパイルされたコードは、特定のCUDAツールキットバージョン(CUDAランタイムライブラリバージョン、nvccコンパイラバージョンなど)requires a particular minimum driver level for proper useです。

CUDAドライバのバージョン(ここに報告されているように)は、を有効に報告しています。インストールされている特定のドライバによって、CUDAのバージョンがに対応しています。

既に発見したように、実際の番号付きドライバのバージョンは報告されません。

+0

(sigh)今すぐ取得します。だから、私は混乱している名前を責めることができる、そして...ありがとう。あなたは私に[this](https://github.com/eyalroz/cuda-api-wrappers)のための少しの仕事を与えました。 – einpoklum

+0

また、私は8000をどのように正確に解釈するのですか?小数点以下3桁の数字は単一の「マイナーバージョン番号」ですか、それとも8.0.0や8.0.0.0なのでしょうか?結局のところ、CUDA 8.0のリリースは、前回私がダウンロードした8.0.44という名前でした。 – einpoklum

+1

解釈ヒントのための 'deviceQuery' cudaサンプルコードを調べてください。ここにはサブバージョンはありません。 8000 = CUDA 8 –

関連する問題