CUDA 11.2 是不是支持向后兼容在 CUDA 10.2 上编译的应用程序?
Posted
技术标签:
【中文标题】CUDA 11.2 是不是支持向后兼容在 CUDA 10.2 上编译的应用程序?【英文标题】:Does CUDA 11.2 supports backward compatibility with application that is compiled on CUDA 10.2?CUDA 11.2 是否支持向后兼容在 CUDA 10.2 上编译的应用程序? 【发布时间】:2021-11-28 02:38:25 【问题描述】:我有使用 nvidia/cuda:10.2-cudnn7-devel-ubuntu18.04 构建的应用程序的基本映像。我必须在具有 cuda 版本的集群中运行该应用程序
NVIDIA-SMI 460.32.03 驱动程序版本:460.32.03 CUDA 版本:11.2。
我的应用程序没有为我提供 GPU 训练模型的正确预测结果(它返回基本分数作为预测输出)。但是,它能够为 CPU 训练模型返回准确的预测结果。所以,我推测为两者之间的CUDA版本不兼容问题。我想知道 CUDA 11.2 版是否适用于符合 CUDA 10.2 的应用程序..
【问题讨论】:
集群 nvidia-smi 向您显示的不是 CUDA 版本。它是驱动程序支持的 CUDA API 的最高版本。 哦,我明白了...这是由于 CUDA env 不兼容而发生的吗?有什么线索可以解决问题吗?在此先感谢 不太可能。通常,如果版本不匹配存在问题,程序会因缺少库而失败。否则它应该可以工作。驱动程序自然向后兼容。这听起来像是您应该与集群管理员讨论的事情 【参考方案1】:是的,使用 CUDA 10.2 编译的应用程序可以在安装了 CUDA 11.2 的环境中运行。这是the CUDA compatibility model/system 的一部分。
否则,此问题中没有足够的信息来诊断您的应用程序为何按照您描述的方式运行。为此,expects 和 minimal reproducible example。
【讨论】:
以上是关于CUDA 11.2 是不是支持向后兼容在 CUDA 10.2 上编译的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
在 Google Colab 上从 CUDA 11.2 降级到 11.1 或 10.2(找不到包问题)
Tensorflow(CUDA 11.2)未使用 Python 3.7 在 AMD Radeon Vega 8(Envy 笔记本电脑)上检测到 GPU