我的问题很简单,CUDA 8.0(CUDA 8.0.61)工具包现在是否与gcc 5.4兼容?
我已经在Ubuntu 16.04上安装了CUDA 8.0.61工具包,并使用其默认的gcc 5.4,没有出现任何问题。
我已经在Ubuntu 16.04上安装了CUDA 8.0.61工具包,并使用其默认的gcc 5.4,没有出现任何问题。
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时不应遇到任何问题。简而言之: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
)。