CUDA 8.0现在是否兼容gcc 5.4?

3
我的问题很简单,CUDA 8.0(CUDA 8.0.61)工具包现在是否与gcc 5.4兼容?
我已经在Ubuntu 16.04上安装了CUDA 8.0.61工具包,并使用其默认的gcc 5.4,没有出现任何问题。
2个回答

4
原始的CUDA 8版本并不正式支持gcc/gnu 5.4。后来,补丁可用。原始的Ubuntu 16.04版本有gcc/gnu 5.3.1,而host_defines.h头文件强制执行此限制(例如,在CUDA 8.0.44中)。官方支持记录在Linux安装指南中,并且仍然在5.3.1级别。但是,当前的CUDA 8版本(即所谓的“GA2”,即CUDA 8.0.61)支持gcc/gnu 5.4,因为host_defines.h中强制执行的限制已被放宽,只检查gnu主版本是否为4或5。这意味着GA2将不会对使用gcc/gnu 5.4施加任何限制。您在使用CUDA 8 GA2时不应遇到任何问题。

0

简而言之:CUDA 8.0 并不是同一个版本。

CUDA 实际上有一个三位数的版本号方案。正如 @RobertCrovella 的回答所示,单个两位数版本“号码”下有多个“子发布版”。因此,当 CUDA 8.0 发布时,实际上是 8.0.27 IIANM;然后我们得到了 8.0.44;现在我们已经升级到了 8.0.61。随着新版本的发布,支持新的编译器版本 - 就像从 CUDA 5 到 6、6 到 7 等的过渡一样。

问题在于这些“子发布版”是在背后进行的,这就让你感到困惑 - 你以为你正在使用同一个“CUDA 8.0”。

只需记住始终阅读完整的版本号,出现在 CUDA 安装文件夹中的 version.txt 中(例如 /usr/local/cuda/version.txt)。


哦...抱歉。我想你认为我不了解“版本差异”,但我理解了你的观点。抱歉,我在问题中没有清楚地提到版本。以前,CUDA 8.0(版本<8.0.61)与gcc 5.4存在兼容性问题,但几天前我安装了CUDA 8.0.61,没有出现任何问题。所以我想可能有一些更新,这是我的问题的主要点。 - le4m

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接