Ubuntu20.04安装NVIDIA混合精度计算库apex全流程及各类报错问题解答 |
您所在的位置:网站首页 › ubuntuserver20安装不成功 › Ubuntu20.04安装NVIDIA混合精度计算库apex全流程及各类报错问题解答 |
目录一. 安装CUDA二. 安装apex三. 各类报错问题解决3.1 C++编译错误3.2 Apex优化算子错误3.3 CUDA错误3.4 g++或gcc错误
背景:跟李沐老师一起探索RTX 3090的深度学习浮点运算性能,需要安装apex进行半精度运算,本文总结了Ubuntu20.04安装NVIDIA混合精度计算库apex全流程及各类报错问题解答
环境: Ubuntu20.04 AMD 5800 8-core 16-Thread NVIDIA RTX 3090 Pytorch1.13(gpu) Python3.9 CUDA11.7 一. 安装CUDA确保你的apex跟CUDA版本对应,如果不对应,则在运行程序时会产生各类kernel fusion之类的错误。 wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda_11.7.1_515.65.01_linux.run sudo sh cuda_11.7.1_515.65.01_linux.run网不好可以先用浏览器下载,然后再安装。 安装时一直确认就可以了,如果已经安装过NVIDIA驱动可以去掉驱动的选项。 添加环境变量: vim ~/.bashrc export CUDA_HOME=/usr/local/cudasource ~/.bashrc 如何进行软链接来对不同CUDA版本进行切换,看我其他专栏的相关文章写的很详细。 二. 安装apex此前记得安装gcc g++ make,并确保三者都可以在命令行中直接找到。 git clone https://github.com/NVIDIA/apex cd apex pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./正常安装成功是没有任何error信息的,会显示成功安装: 报错信息: subprocess.CalledProcessError: Command '['which', 'c++']' returned non-zero原因: ubuntu提供了这样一个包 build-essential,编译c/c++的,安装build-essential: sudo apt-get install build-essential 3.2 Apex优化算子错误报错信息: RuntimeError: apex.optimizers.FusedAdam requires cuda extensions原因:Apex缺少cuda_ext 库,一定是没有正确安装好apex,需要卸载重装: pip uninstall apex 3.3 CUDA错误报错信息: RuntimeError: Error compiling objects for extension原因:没有正确安装CUDA库,或者CUDA版本与所安装的Pytorch版本不对应。 解决:重新安装正确版本的CUDA 3.4 g++或gcc错误报错信息: subprocess.calledprocesserror command ' 'which' 'g++' ' returned non-zero exit status 1原因:gcc与g++不是同一个大版本,编译失败。 解决: sudo apt remove g++ sudo apt remove gcc sudo apt-get update sudo apt-get install gcc-9 g++-9 #建立强链接 sudo ln -s /usr/bin/gcc-9 /usr/bin/gcc -f sudo ln -s /usr/bin/g++-9 /usr/bin/g++ -f |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |