2016-11-14 478 views
4

CUDA具有功能cudaRuntimeGetVersion()cudaDriverGetVersion()(請參閱詳細說明here)。我有點花費第一個給我「8.0」(對於CUDA 8.0),第二個給我的字符串與我檢查nVIDIA的GPU驅動程序內核模塊時得到的字符串相同,例如,CUDA運行時版本與CUDA驅動程序版本有什麼區別?

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

這在我的系統上是367.57。現在,第一個電話給我8000 - 很好,只是一個奇怪的方式來說我猜8.0;但第二個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

(嘆氣)我現在明白了。所以,我可以責怪那些令人困惑的名字,然後......謝謝。你已經給了我一點工作[this](https://github.com/eyalroz/cuda-api-wrappers)。 – einpoklum

+0

另外,我怎麼解釋8000?三個最小的十進制數是單個「次要版本號」,還是像8.0.0或8.0.0.0?畢竟,CUDA 8.0版本在上次下載時被命名爲8.0.44。 – einpoklum

+1

研究解釋提示的'deviceQuery' cuda示例代碼。這裏沒有子版本。 8000 = CUDA 8 –

相關問題