【问题标题】:CUDA runtime version vs CUDA driver version - what's the difference?CUDA 运行时版本与 CUDA 驱动程序版本 - 有什么区别?
【发布时间】:2017-03-28 03:40:59
【问题描述】:

CUDA Runtime 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 version nvidia


    【解决方案1】:

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

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

    这与 CUDA 中的驱动程序兼容性模型有关。我相信您知道,使用该工具包编译的代码的特定 CUDA 工具包版本(即 CUDA 运行时库版本、nvcc 编译器版本等)requires a particular minimum driver level for proper use

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

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

    【讨论】:

    • (叹气)我现在明白了。所以,我可以责怪那些令人困惑的名字,然后......谢谢。你在this 上给了我一些工作要做。
    • 另外,我如何准确地解释 8000?三个最低的十进制数字是单个“次要版本号”,还是类似于 8.0.0 或 8.0.0.0?毕竟,我上次下载的 CUDA 8.0 版本被命名为 8.0.44。
    • 研究deviceQuery cuda 示例代码以获得解释提示。这里没有子版本控制。 8000 = CUDA 8
    • 我还是不明白。有人可以ELI5吗?我如何在代码之外检查这两者(有没有办法通过命令行来检查两者?)。是否还有显卡本身的驱动程序(所以 3 个东西:CUDA 运行时、CUDA 驱动程序、Nvidia 驱动器),还是只有 2 个东西?
    • 1.有一个 GPU 驱动程序版本。使用nvidia-smi 查询它。 2. 有驱动关联的CUDA兼容版本(但具体GPU驱动版本与其关联的CUDA兼容版本有1:1的对应关系)。与最新驱动程序捆绑在一起的nvidia-smi 工具将显示它们拥有的 CUDA 兼容版本。 3. 有一个 CUDA 运行时版本,它将与您用于构建特定运行时 API 代码的运行时 API 相关联。例如,您可以使用nvcc -v 查询此内容,或者使用deviceQuery 示例代码查询最后两件事。
    猜你喜欢
    • 2019-12-31
    • 2021-07-16
    • 2011-03-16
    • 2017-05-15
    • 1970-01-01
    • 2016-02-13
    相关资源
    最近更新 更多