CenterOs7.9下 Paddle环境安装及Cuda、Nvidia驱动、Cudnn、Tensort、Nccl、Conda安装全流程记录
1.先安装nvidia驱动
https://www.nvidia.cn/Download/index.aspx?lang=cn
run就./直接执行
rpm -ivh nvidia-driver-local-repo-rhel7-525.147.05-1.0-1.x86_64.rpm
yum clean all
yum install -y cuda-drivers
reboot后即可执行nvidia-smi
2.安装conda
官网安装即可
3.Cuda安装
wget https://developer.download.nvidia.cn/compute/cuda/12.0.0/local_installers/cuda-repo-rhel7-12-0-local-12.0.0_525.60.13-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-12-0-local-12.0.0_525.60.13-1.x86_64.rpm
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms
sudo yum -y install cuda
4.Cudnn安装
https://zhuanlan.zhihu.com/p/681356308
wget https://developer.nvidia.com/downloads/compute/cudnn/secure/8.9.1/local_installers/12.x/cudnn-linux-x86_64-8.9.1.23_cuda12-archive.tar.xz/
ls
tar -xvf cudnn-linux-x86_64-8.9.1.23_cuda12-archive.tar.xz
cd cudnn-linux-x86_64-8.9.1.23_cuda12-archive
ls
sudo cp include/cudnn*.h /usr/local/cuda/include
sudo cp -P lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
vi ~/.bashrc
source ~/.bashrc
nvcc -V 有数据即成功
查看cudnn版本在这里(8.9.1)
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 1
—
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
5.tensorrt安装
https://docs.nvidia.cn/deeplearning/tensorrt/archives/tensorrt-713/install-guide/index.html
直接来到
4.3. Tar File Installation
- Download the TensorRT tar file that matches the Linux distribution you are using.
- wget https://developer.nvidia.cn/downloads/compute/machine-learning/tensorrt/secure/8.6.1/tars/TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-12.0.tar.gz
tar xzvf TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-12.0.tar.gz
ls TensorRT-8.6.1.6
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/TensorRT-8.6.1.6/lib
cd TensorRT-8.6.1.6/python
conda activate paddle
pip3 install tensorrt
cd ../
cd uff
pip install nvidia-pyindex
pip install uff
cd ../
cd graphsurgeon
pip install graphsurgeon
验证是否完成
执行rpm -qa | grep tensorrt
记得添加
添加环境变量
# 打开
sudo gedit ~/.bashrc
# TensorRT
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/nh666/BE/TensorRT/TensorRT-7.2.2.3/lib
export LIBRARY_PATH=/home/nh666/BE/TensorRT/TensorRT-7.2.2.3/lib::$LIBRARY_PATH
# 保存
source ~/.bashrc
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_45848817/article/details/130850276
6.NCCL安装
https://www.jianshu.com/p/f6287aebf127
照猫画虎,从http://developer.download.nvidia.com/compute/machine-learning/repos/rhel7/x86_64/下载三个rpm包
rpm -ivh libnccl-2.7.8-1+cuda11.0.x86_64.rpm
wget http://developer.download.nvidia.cn/compute/machine-learning/repos/rhel7/x86_64/libnccl-devel-2.7.8-1+cuda11.0.x86_64.rpm
rpm -ivh libnccl-devel-2.7.8-1+cuda11.0.x86_64.rpm
wget http://developer.download.nvidia.cn/compute/machine-learning/repos/rhel7/x86_64/libnccl-static-2.7.8-1+cuda11.0.x86_64.rpm
rpm -i libnccl-static-2.7.8-1+cuda11.0.x86_64.rpm
yum update -y
yum install -y libnccl-2.7.8-1+cuda11.0 libnccl-devel-2.7.8-1+cuda11.0 libnccl-static-2.7.8-1+cuda11.0
7.解决/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20‘ not found
https://blog.csdn.net/justlpf/article/details/130077200
8.gcc版本低的问题
https://blog.csdn.net/daizhengchun/article/details/126904228
wget http://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.gz
tar -xzvf gcc-13.2.0.tar.gz
第三步:下载依赖项目
进入解压文件夹 cd gcc-11.2.0
创建编译生成目录 mkdir build
执行下载依赖 ./contrib/download_prerequisites
第四步:配置编译
进入build文件夹 cd ./build
配置 ../configure –enable-checking=release –enable-languages=c,c++ –disable-multilib
第五步:编译安装
编译 make -j2 (注:j2表示2个任务同时编译,理论情况下数字越大编译越快,当然也随本机硬件cpu而定)
安装 mke install
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/daizhengchun/article/details/126904228
-
sudo mv /usr/bin/gcc /usr/bin/gcc_backup
这会将原有的
/usr/bin/gcc
重命名为/usr/bin/gcc_backup
。 - 创建符号链接: 使用
ln
命令创建新的符号链接:bash -
sudo ln -s /path/to/your/new/gcc /usr/bin/gcc
替换
/path/to/your/new/gcc
为你编译的新版本 GCC 的完整路径。 - 验证版本: 确认新版本的
gcc
是否被正确设置为默认版本:bash
-
gcc --version
输出应该显示你自行编译的新版本信息。
请注意,备份原有链接是一个良好的实践,以防止在设置新链接时出现问题。如果你遇到其他问题,还可以恢复到原始状态。
如果你想要在特定项目中使用新版本的 GCC,而不是系统默认版本,最好使用虚拟环境或类似的机制,以避免全局更改可能引起的系统不稳定性。
9.升级libstdc++.so
https://zhuanlan.zhihu.com/p/498529973
上一步升级完gcc之后,应该就有支持的最新的libstdc了,
find / -name libstdc++.so*
找到支持最大的,比如
/usr/local/lib64/libstdc++.so.6.0.32
/usr/local/lib64/libstdc++.so.6
就是/usr/local/lib64/libstdc++.so.6,现在执行
vi ~/.bashrc
最上面加上export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
按esc,按 :,输入wq保存,执行source ~/.bashrc重载配置,现在即解决了此问题
终极大招:rm libstdc++.so.6
ln -s libstdc++.so.6.0.32 libstdc++.so.6
10.测试paddle
切换环境 conda activate paddle
执行 python,输入import paddle,不报错即成功,输入paddle.utils.run_check()即可看到在几个GPU workswell