CentOS使用GPU (驱动>=450.156.00, cuda11.0 和 cudnn8.0.5)
CentOS使用GPU安装升级内核yum install kernel-headersyum install kernel-develyum update kernel*在配置文件中禁用nouveau# 使用的是下面第一种方法$ vi /etc/modprobe.d/blacklist.conf# 添加:blacklist nouveau#-----------------------------
安装升级内核
yum install kernel-headers
yum install kernel-devel
yum update kernel*
-
在配置文件中禁用nouveau
# 使用的是下面第一种方法 # 1 $ vi /etc/modprobe.d/blacklist.conf # 添加: blacklist nouveau #-------------------------------------------- # 2.CentOS 7: vim /usr/lib/modprobe.d/dist-blacklist.conf # 或 vim /lib/modprobe.d/dist-blacklist.conf # 并且在加上blacklist nouveau之后还要加上一行 options nouveau modeset=0
-
备份原来的 initramfs nouveau image镜像
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
-
创建新的 initramfs image镜像
dracut /boot/initramfs-$(uname -r).img $(uname -r)
重启后,检查nouveau driver确保没有被加载!
$ lsmod | grep nouveau
下载驱动并安装
wget https://cn.download.nvidia.cn/tesla/450.156.00/NVIDIA-Linux-x86_64-450.156.00.run
chmod +x NVIDIA-Linux-x86_64-450.156.00.run
sudo ./NVIDIA-Linux-x86_64-450.156.00.run
nvidia-smi
- 若出现重启就失效的错误,可能是驱动版本过低,可自行选择驱动安装
安装CUDA(11.0)
下载: https://developer.nvidia.com/cuda-toolkit-archive
# 下载链接以及安装命令
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
sudo sh cuda_11.0.2_450.51.05_linux.run
中间有部分选择:
1.accept
2.驱动 (不下载) 以及cuda工具 (下载)
验证示例:
# 安装完成后~目录下有验证文件 NVIDIA_CUDA-11.0_Samples/
# 进入
cd NVIDIA_CUDA-11.0_Samples/
make # 编译
./NVIDIA_CUDA-11.0_Samples/1_Utilities/deviceQuery/deviceQuery # 运行
WARNING - libnvscibuf.so not found, please install libnvscibuf.so <<<
WARNING - libnvscisync.so not found, please install libnvscisync.so <<<
WARNING - nvscibuf.h not found, please install nvscibuf.h <<<
WARNING - nvscisync.h not found, please install nvscisync.h <<<
GCC Version is greater or equal to 4.7.0 <<</usr/bin/ld: 找不到 -lglut
collect2: 错误:ld 返回 1
make[1]: *** [simpleGL] 错误 1
make[1]: 离开目录“/root/NVIDIA_CUDA-11.0_Samples/2_Graphics/simpleGL”
make: *** [2_Graphics/simpleGL/Makefile.ph_build] 错误 2
切换gcc
1. 安装centos-release-scl
sudo yum install centos-release-scl
2. 安装安装devtoolset
# 版本可以更换
sudo yum install devtoolset-8-gcc*
3. 安装激活对应的devtoolset
可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本,
scl enable devtoolset-8 bash
# 查看版本
gcc -v
4. 切换gcc版本
1)临时切换gcc版本
安装的devtoolset是在 /opt/sh 目录下的,每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只 需要执行
source /opt/rh/devtoolset-版本号/enable
注意:这条激活命令只对本次会话有效,重启会话后还是会变回原来的4.8.5版本,可以将对应版本的切换命 令写个shell文件放在配了环境变量的目录下,需要时随时切换,或者开机自启
2)直接替换旧的gcc
旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
编译~目录下的samples实例报错:
/opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/ld: 找不到 -lglut
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:332:simpleGL] 错误 1
make[1]: 离开目录“/root/NVIDIA_CUDA-11.0_Samples/2_Graphics/simpleGL”
make: *** [Makefile:51:2_Graphics/simpleGL/Makefile.ph_build] 错误 2
# 下载glut相关
sudo yum install freeglut*
再次编译成功
安装cudnn(8.0.5)
下载: https://developer.nvidia.com/rdp/cudnn-archive
将下载的 cuDNN Library for Linux (x86_64) 解压,复制解压出来的文件到安装好的CUDA环境中
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
# 更改权限输入:
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
# 安装结束后重启,测试是否安装成功
cp -r /usr/src/cudnn_samples_v8/ ~
cd ~/cudnn_samples_v8/mnistCUDNN/
make clean && make
./mnistCUDNN
# Result = PASS
# 成功
将cuda与cudnn加入环境
# vi /etc/profile
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cudnn/lib64:$LD_LIBRARY_PATH
# 激活环境
source /etc/profile
# 验证环境是否正确
nvcc -V
欢迎来到由智源人工智能研究院发起的Triton中文社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。
更多推荐
所有评论(0)