一,驱动安装
显卡驱动和cuda版本关系
卸载原先驱动
sudo apt-get remove --purge nvidia-\*
ubuntu-drivers devices 查看显卡类型
Nvidia驱动下载地址:https://www.geforce.com/drivers选择对应的显卡和Linux 64 系统,可以下载最新版本。
要注意的是与cuda版本相配的driver版本。
1,修改blacklist.conf文件,禁用集显。
Ctrl+Alt+T 进入终端模式,依次输入命令:
sudo gedit /etc/modprobe.d/blacklist.conf (打开blacklist.conf 文件)
在文件的末尾添加:
blacklist nouveauoptions nouveau modeset=0 保存后退出;禁用集显后才能正常安装Nvidia驱动。
再更新一下
sudo update-initramfs -u
修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令: lsmod | grep nouveau 输出无东西就下一步。
2,开始安装Nvidia驱动,以下步骤需在Ctrl+Alt+F1命令行模式下进行:
按下Ctrl+Alt+F1,输入管理员账号和密码。然后输入sudo –i 切换到root;
首先,禁用X server模式,如果不操作此步骤,安装时将提示Xserver报错。
sudo service lightdm stop
或者
sudo /etc/init.d/lightdm stop
依次输入以下命令:
sudo chmod +x NVIDIA-Linux-x86_64-384.111.runsudo ./NVIDIA-Linux-x86_64-384.111.run -no-opengl-files–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau
后面两个参数可不加。
此时第一个选 n 也就是
不安装NVIDIA 加速图像驱动
后面的全部选y
我们可以输入reboot,退出命令行界面,再次启动到图形界面,输入nvidia-smi确认显卡驱动已经安装完成了.
但由于有些双系统的环境不得不启用BIOS的Secureboot时,我们将在下面文档中也会介绍,如何在Ubuntu中关闭Secureboot。
注意:如何不关闭BIOS secure boot,在Ubuntu中关闭Secure boot模式?
sudo mokutil --disable-validation
设置mok的登录密码(必须8位字符以上,按回车再次输入)。
密码设置好后,直接点击图形界面的重启。系统在重启后自动进入MOK界面。
该界面提示按任意键进入MOK管理器,请务必在倒计时前敲任意键,否则直接进入系统了。MOK管理器校验密码比较特殊,需要将password的位数一个一个提示来输入。我们按提示输入即可。
密码校验完成后,我们直接选择“Change Secure Boot State“,
在Disable Secure boot启动界面,选到“Yes”,再reboot,即可关闭了Secureboot。
最后我们修改BIOS Secure boot为On,即可大功告成。(此操作步骤适用于双系统模式,因Ubuntu安装很多驱动仅支持在Secure boot关闭的模式下,而Windows应用有可能需要打开Secure boot。)
二,安装cuda9.0
https://developer.nvidia.com/cuda-toolkit-archive
找到下载文件的路径
sudo sh cuda_9.0.176_384.81_linux.run
单击回车,一路往下运行,直到提示“是否为NVIDIA安装驱动nvidia-384?”,选择否,因为已经安装好驱动程序了,其他的全都是默认,不过要记住安装位置,默认是安装在/usr/local/cuda-9.0文件夹下。
配置环境变量,运行如下命令打开profile文件
sudo gedit /etc/profile
打开文件后在文件末尾添加路径,也就是安装目录,命令如下:
export LD_LIBRATY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
保存,然后重启电脑
sudo reboot
测试CUDA的例子:
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuerysudo make./deviceQuery
如果显示的是关于GPU的信息,则说明安装成功了。
最后你会看到cuda
驱动、
sample
、
tookit
已经安装成功,但是缺少一些库。
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
环境变量配置
安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:
export PATH=/usr/bin/:$PATH
export PATH=~/anaconda3/bin:$PATH
export PATH=/usr/local/cuda-9.0/bin:/home/fzh/anaconda3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export CUDA_HOME=/usr/local/cuda-9.0
然后设置环境变量和动态链接库,在命令行输入:
$ sudo gedit /etc/profile
在打开的文件末尾加入:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
保存之后,创建链接文件:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在打开的文件中添加如下语句:
/usr/local/cuda-9.0/lib64
然后执行
sudo ldconfig
使链接立即生效。
三.安装cudnn
https://developer.nvidia.com/rdp/form/cudnn-download-survey
进入解压后的cudnn-9.0-linux-x64-v7.0.tgz文件cuda,在终端执行下面的指令安装:
tar -zxvf cudnn-9.0-linux-x64-v7.0.tgz
cd cuda
sudo cp lib64/lib* /usr/local/cuda-9.0/lib64/
sudo cp include/cudnn.h /usr/local/cuda-9.0/include/
然后更新网络连接:
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.7.4.1 # 自己查看.so的版本
sudo ln -sf libcudnn.so.7.4.1. libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig
查看版本
cat /usr/local/cuda-9.0/version.txtcat /usr/local/cuda-9.0/include/cudnn.h | grep CUDNN_MAJOR -A 2nvcc -V
四,安装tensorrt
首先下载https://developer.nvidia.com/tensorrt
解压:
tar -xzvf TensorRT-5.0.2.6.Ubuntu-16.04.4.x86_64-gnu.cuda-9.0.cudnn7.3.tar.gz
添加环境变量,我是基于docker地址的
vim ~/.bashrc
source ~/.bashrc
tensorrt API文档
五.python查看gpu显存
pip install nvidia-ml-py3
import pynvml
pynvml.nvmlInit()
# 这里的0是GPU id
handle = pynvml.nvmlDeviceGetHandleByIndex(0)
meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)
print(meminfo.used)