2016-11-14 483 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 –

相关问题