CUDA 运行时版本与 CUDA 驱动程序版本——有什么区别?
CUDA runtime version vs CUDA driver version - what's the difference?
CUDA 运行时 API 公开函数
cudaRuntimeGetVersion()
和
cudaDriverGetVersion()
(见详细说明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 版本。
正如您已经发现的那样,它不会报告实际编号的驱动程序版本。
CUDA 运行时 API 公开函数
cudaRuntimeGetVersion()
和cudaDriverGetVersion()
(见详细说明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 版本。
正如您已经发现的那样,它不会报告实际编号的驱动程序版本。