BUG 是 GCC 或 CUDA 或组合中的错误,而不是 Marian 中的错误,不会被修复。纯 NO 表示 CUDA 不支持该特定编译器的设计,这也无法修复。对于 gcc 4.9 及更低版本,我们选择不支持该编译器,因为它的 stdlib 不完全兼容 C++11。
如果您在“否”单元格中,除了建议升级/降级 GCC 和升级 CUDA 之外,我们无法帮助您。
gcc\CUDA | CPU-only | 8.0 | 9.0 | 9.2 | 10.0 | 10.1 | 10.2 | comment |
---|---|---|---|---|---|---|---|---|
<5.0 | NO | NO | NO | NO | NO | NO | NO | incompatible with c++11 features (codecvt) |
5.4 | YES | YES | YES | YES | YES | YES | YES | Any version of gcc 5 smaller than 5.4 should be fine too |
5.5 | YES | NO/BUG | NO/BUG | NO/BUG | YES | YES | bugs in GCC and CUDA<9.2 | |
6.5 | YES | NO | NO/BUG | YES | YES | YES | bug in GCC and CUDA 9.0 | |
7.4 | YES | NO | NO | YES | ? | YES | ||
8.3 | YES | NO | NO | NO | NO | YES | warnings in 3rd-party code | |
9.2 | YES | NO | NO | NO | NO | NO | YES | not yet supported by CUDA, warnings in 3rd-party code |
-
为那个 GCC 版本设置一个环境变量。例如,对于 CUDA 10.2:
MAX_GCC_VERSION=8
确保您已安装该版本:
sudo apt install gcc-$MAX_GCC_VERSION g++-$MAX_GCC_VERSION
在 CUDA 文件夹中添加符号链接:
sudo ln -s /usr/bin/gcc-$MAX_GCC_VERSION /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-$MAX_GCC_VERSION /usr/local/cuda/bin/g++
(或/usr/local/cuda用您的 CUDA 安装路径替换,如果它不存在)