Ubuntu 16.04 安装 M40 显卡驱动

11,287 阅读3分钟

今晚干了一件大蠢事,花了一个整个晚上在ubuntu上安装yum。撞到怀疑人生,各种缺包。回到寝室才知道是电脑系统是Ubuntu 16.04,不是centos7.2.1511。也就是是说ubuntu不用也没办法安装yum,今晚我是推石头的西西弗斯

言归正传说回安装驱动的事。

安装驱动前先确认系统型号,显卡的型号。

系统型号:Ubuntu 16.04

显卡的型号:TESLA M40

安装显卡驱动

推荐命令行安装,简单有效,先添加源:

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt-get update

然后查看当前机器显卡推荐安装的驱动:

ubuntu-drivers devices

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001D01sv000010DEsd00001D01bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-415 - third-party free
driver   : nvidia-430 - third-party free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin
driver   : nvidia-384 - distro non-free
driver   : nvidia-418 - third-party free
driver   : nvidia-410 - third-party free

== cpu-microcode.py ==
driver   : intel-microcode - distro free

推荐安装(recommended) nvidia-430,直接自动安装推荐的版本:

sudo ubuntu-drivers autoinstall

但是我安装过程中提示缺少一个依赖库,所以为了解决依赖,我使用 aptitude 单独安装 nvidia-430:

sudo aptitude install nvidia-430

没有安装 aptitude 直接 apt 安装即可:

sudo apt install aptitude

使用 aptitude 的时候,会让你选择是否更改当前的依赖项的变化,默认「Y」是保留当前系统的状态,不解决依赖,选择「n」则进行依赖库的安装与卸载等,建议在安装的时候查看控制台输出,看看是否有误删除的依赖库,确认没有问题后,再选「n」进行下一步即可,你也可以到网上搜索下 aptitude 的用法。

安装完重启电脑即可,查看下当前显卡的信息。命令:nvidia-smi。

安装cuda

在此链接上下载cuda,选择Ubuntu 16.04

developer.nvidia.com/cuda-10.1-d…

image.png

运行脚本

sudo sh cuda_10.1.243_418.87.00_linux.run

添加环境变量

sudo gedit ~/.bashrc
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

查看安装是否成功

nvcc -V

安装cudnn

在此链接cuDNN Library for Linux cuda10.1

developer.nvidia.com/rdp/cudnn-a…

sudo cp cuda/lib64/* /usr/local/cuda-10.1/lib64/
sudo cp cuda/include/* /usr/local/cuda-10.1/include/

可能会权限问题

sudo chmod 777 文件名

查看是否安装成功:

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

developer.nvidia.com/rdp/cudnn-a…

安装anaconda

此链接下载anaconda

bash Anaconda3-5.0.1-Linux-x86_64.sh

设置DNS

anaconda安装好了之后没办法用conda install 安装包,解析不了域名,一开始我还以为是更换镜像。后面换了镜像也不行,反复查资料才发现是DNS没设置

配置动态解析文件

sudo gedit /etc/resolv.conf

有的系统可能没有该文件,加入 nameserver 8.8.8.8 即可。

安装pytorch


pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html


安装tensorflow

pip install tensorflow-gpu==2.3.1 -i https://pypi.mirrors.ustc.edu.cn/simple

建立分组

我是管理员账号安装的anaconda,发现自己的账号却用不了。

设置用户组可以解决这个问题 创建新的用户组 anaconda,可以自定义组名:

sudo groupadd anaconda

把 Anaconda 安装目录所属组设为刚才创建的组 anaconda

sudo chgrp -R anaconda /usr/local/anaconda3

修改 Anaconda 安装目录的权限:

sudo chmod 770 -R /usr/local/anaconda3

把用户添加进组

sudo usermod -a -G anaconda 用户名

或添加新用户并指定该组名:

sudo adduser -u 新用户名 -G anaconda

注意:更改用户组之后,需要重启服务器,或者重新登录用户,才会生效!!!

测试安装环境

pytorch

import torch
flag = torch.cuda.is_available()
if flag:
    print("CUDA可使用")
else:
    print("CUDA不可用")

ngpu= 1
# Decide which device we want to run on
device = torch.device("cuda:0" if (torch.cuda.is_available() and ngpu > 0) else "cpu")
print("驱动为:",device)
print("GPU型号: ",torch.cuda.get_device_name(0))

tensorflow

import tensorflow as tf
tf.config.list_physical_devices('GPU')

至此显卡驱动已经安装好了,还有其他细节,以后想到了再做补充。

参考文献

segmentfault.com/a/119000002…

blog.csdn.net/AWhiteDongD…

blog.csdn.net/codedancing…