CUDA 运行时版本与 CUDA 驱动程序版本——有什么区别?

CUDA runtime version vs CUDA driver version - what's the difference?

CUDA 运行时 API 公开函数

(见详细说明here)。我有点期待第一个给我“8.0”(对于 CUDA 8.0),第二个给我与我从检查 nVIDIA 的 GPU 驱动程序内核模块中得到的字符串相同的字符串,例如

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

在我的系统上是 367.57

现在,第一个电话给了我 8000 - 好吧,我想这只是一种奇怪的 8.0 表达方式;但是第二个 API 电话也给了我 8000。那么这两个是什么意思呢?

我链接到的运行时 API 文档似乎没有对此进行解释。

CUDA 运行时版本表示与已安装的 cudart(CUDA 运行时)库相关的 CUDA 兼容性(即版本)。

CUDA 驱动程序版本(如此处报告)报告与驱动程序相关的相同信息。

这与CUDA中的驱动兼容模型有关。我相信您知道,使用该工具包编译的代码的特定 CUDA 工具包版本(即 CUDA 运行时库版本、nvcc 编译器版本等)

CUDA 驱动程序版本(如此处报告)有效地报告了特定安装的驱动程序可以支持哪些 CUDA 版本

正如您已经发现的那样,它不会报告实际编号的驱动程序版本。