深度学习后面很多高级知识 必须在linux 系统中, 所以安装了ubuntu
也必须安装 cuda cudnn . 如果是pytorch 只能安装 10.1的 千万不要安装 10.2 不然出错
安装 cuda 很多的坑 说多了都是泪。
内核也不用重新降级 , gcc 也不用 应该是大于等于官网给的版本号就可以。 官网真是蛋疼。
官网安装指导:
https://docs.nvidia.com/cuda/archive/10.1/cuda-installation-guide-linux/index.html
lspci | grep -i nvidia
gcc --version
sudo apt-get install linux-headers-$(uname -r)
下面错误的安装方式步骤都是对的 ,只不过安装前后关系有问题。 我按照官网的步骤安装了 发现cuda正确安装了 但是 显卡驱动不正常 。卸载了驱动 卸载了 显卡 重装了系统都不行,多次重装系统出现ubuntu引导不了问题, 接近崩溃边缘。后来抱着试一试的态度。 如下操作:
有一个选择 安装 wifi 各种软件的时候 选择 最小安装 不要安装 各种软件。
在/etc/modprobe.d/blacklist.conf 里添加,如下内容,并执行 sudo update-initramfs -u 命令,
blacklist nouveau
options nouveau modeset=0
重启后用 lsmod | grep nouveau, 如果没有任何输出说明禁用成功。
因为cuda 自动会装 navidia 驱动 所以先不用装显卡驱动。
我的电脑 nvidia-smi 出现 不了画面 按照后面的 deb 模式安装 .run 的方式安装会一直失败 安装了 很多次 也接近崩溃。
验证cuda 出现:
cudaGetDeviceCount returned 100
-> no CUDA-capable device is detected
Result = FAIL
nvidia-smi 也不行。
安装cuda 的时候 会自动 安装 显卡驱动 ,但是这个驱动不太兼容
sudo apt-get remove --purge nvidia*
sudo apt autoremove
重新按照下面的安装显卡的安装步骤 安装一个对应的显卡驱动 。
sudo apt-get update
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
两次 update 不能少 。
3)检查显卡和推荐的驱动
sudo apt-cache search nvidia
ubuntu-drivers devices
结果:
vendor : NVIDIA Corporation
driver : nvidia-driver-435 - third-party free
driver : nvidia-driver-440 - third-party free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
于是步骤: 这里的 编号 就是上面的 recommended
4)安装驱动
sudo apt-get install nvidia-driver-418
nvidia-smi 就会出现 , cuda 也正确安装了
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
nvcc --version
这一步 就不写了 别人已经写好了。
内核下载地址:
https://pkgs.org/download/linux-image
参考:https://www.jianshu.com/p/db2755a07d7d
因为 cuda 驱动 对GCC 版本要求严格 安装不同版本的时候 不要先把以前的版本 gcc 卸载了 不然后面编译 gcc 源码不成功 g++也是
具体参考
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
2.运行 download_prerequisites 脚本
```powershell
tar -xf gcc-7.3.0.tar.gz
cd gcc-7.3.0
./contrib/download_prerequisites
3.配置
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make // 大概 40 min
make install
which gcc 查看安装位置
当ubuntu系统上安装了不同版本的gcc和g++,可以使用update-alternatives命令设置默认使用哪个版本,典型的如在Ubuntu 16.04里安装了gcc-4.8和gcc-6, 想让gcc命令自动使用gcc-6版.首先要让系统知道我们安装了多个版本的gcc
命令最后的 20和50是优先级,如果使用auto选择模式,系统将默认使用优先级高的
#/usr/bin/gcc-4.8 20 表示自己安装的目录
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50
同理修改g++的方式类似:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 50
在/etc/modprobe.d/blacklist.conf 里添加,如下内容,并执行 sudo update-initramfs -u 命令,
blacklist nouveau
options nouveau modeset=0
重启后用 lsmod | grep nouveau, 如果没有任何输出说明禁用成功。
1)卸载现有驱动:
不卸载后面有很多问题
–purge选项会将配置文件、数据库等删除
sudo apt-get autoremove --purge cuda
查看安装了哪些cuda相关的库,可以用以下指令
$ sudo dpkg -l |grep cuda
删除的包名要根据待删除的版本而定
$ sudo dpkg -P cuda-repo-ubuntu1604-9-1-local_9.1.85-1_amd64
这个key值是官网文档查到的,当然通过apt-key list也能查看
sudo apt-key list
sudo apt-key del 7fa2af80
sudo apt-get remove --purge nvidia*
sudo apt autoremove
sudo apt-get --purge remove "*cublas*" "cuda*"
sudo apt-get --purge remove "*nvidia*"
2)安装ppa显卡驱动源:
sudo apt-get update
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
两次 update 不能少 。
3)检查显卡和推荐的驱动
sudo apt-cache search nvidia
ubuntu-drivers devices
结果:
vendor : NVIDIA Corporation
driver : nvidia-driver-435 - third-party free
driver : nvidia-driver-440 - third-party free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
于是步骤: 这里的 编号 就是上面的 recommended
4)
sudo apt-get install nvidia-driver-418
期间可能会设置密码,进行重启后的修改确认“Enroll MOK”
5)重启并检查(输入密码,在“Enroll MOK”中确认修改!)
查看:
nvidia-smi:
在官网下载:https://developer.nvidia.com/cuda-downloads
历史各种版本:
https://developer.nvidia.com/cuda-toolkit-archive
如果遇到安装过程 遇到问题 查看官网指导 :https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
以上 二选一
添加环境变量:
sudo gedit ~/.bashrc
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc
测试 安装成功:
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
nvcc --version
错误示范到此为止 真是经历了 81 难 。
https://developer.nvidia.com/rdp/cudnn-download
普通机器 :x86_64architecture 服务器机器 :Power architecture
下载 cuDNN Library for linux
这就是一个 压缩包:
tar -zxvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
检测是否安装成功:
下载三个文件:
cuDNN Runtime Library for Ubuntu18.04 (Deb)
cuDNN Develpoper Library for Ubuntu18.04 (Deb)
cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)
sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.1_amd64.deb
编译测试:
cp -r /usr/src/cudnn_samples_v7/ /home/wdong/
cd /home/wdong/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
sudo apt-get --purge remove "*cublas*" "cuda*"
https://blog.csdn.net/caicaiatnbu/article/details/87626491
https://enterinit.com/ubuntu-remove-nvidia-cuda-drivers/