安装NVIDIA Apex的命令:
pip install -v --disable-pip-version-check --no-cache-dir --no-build-isolation --config-settings "--build-option=--cpp_ext" --config-settings "--build-option=--cuda_ext" ./
以下错误均在执行上述命令时发生:
一、
gcc: error: unrecognized command line option ‘-std=c++17’
和
error: #error C++14 or later compatible compiler is required to use ATen.
原因:GCC版本过低
二、
unsupported GNU version! gcc versions later than 11 are not supported!
原因:GCC版本过高,和CUDA版本不兼容(详见专栏)
三、
gcc: fatal error: cannot execute 'cc1plus': execvp: No such file or directory
原因:安装了正确版本的GCC,但未安装GXX
四、
安装NVIDIA Apex时修改GCC版本的方法:
- 根据CUDA版本确定GCC版本:链接
- 安装对应版本的GCC和GXX,如CUDA11.8可用GCC9:
conda install gcc=9 -c conda-forge
conda install gxx=9 -c conda-forge
五、
csrc/update_scale_hysteresis.cu(59): error: class "at::Tensor" has no member "mutable_data_ptr"
......
csrc/update_scale_hysteresis.cu(62): error: expected an expression
修改Apex版本,详见链接