Ubuntu安装NVIDA、CUDA、cuDNN

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/StardustYu/article/details/87883622

1.先安装好gcc,g++,make

sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install make
sudo apt-get update

2.安装NVIDA

1)去NVIDA官网查找并下载相应的显卡驱动.run文件
卸载原有驱动的方法(若未安装过驱动可跳过)
#for case1: original driver installed by apt-get:
sudo apt-get remove --purge nvidia*

#for case2: original driver installed by runfile:
sudo chmod +x *.run
sudo ./NVIDIA-Linux-x86_64-384.59.run --uninstall

2)关闭nouveau
lsmod | grep nouveau

观察是否有输出
若有输出

sudo vim /etc/modprobe.d/blacklist.conf

在最后一行添加

blacklist nouveau

之后

sudo update-initramfs -u

重启

输入

lsmod | grep nouveau

若没有输出,则证明成功

3)安装驱动

按下Ctrl+Alt+F2进入命令行界面

然后关掉图形界面,具体方法可查看这篇博客

进入你下载的.run文件的目录

先赋予权限

sudo chmod a+x *.run

运行.run文件进行安装(注意参数)

sudo ./*.run –no-opengl-files

参数说明

–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau
后面两个参数可不加。
安装过程都默认yes

安装完成后reboot重启

安装完成后,输入

nvidia-smi

若有输出,则证明安装成功

4)一些注意事项
  • 在安装前,要关闭电脑的secure boot。进入bios,进入BOOT SETUP,进入Security’,将secure boot 设置为disabled。
  • 若在安装过程中出现gcc,make等词汇,说明gcc,make等未安装

3.安装CUDA

进入CUDA官网下载相应版本的.run文件
根据官网提示安装CUDA的.run文件
sudo sh cuda_*.run

在安装过程中除了安装驱动选项选择no,其他选择yes或默认

配置环境变量

打开.bashrc文件

sudo vim ~/.bashrc

如果用的zsh , 打开.zshrc文件
sudo vim ~/.zshrc
下面的文件作相应修改

在文件结尾加上

export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

其中cuda应改为相应版本

使bashrc文件生效

source ~/.bashrc
验证

输入nvcc -V验证能否查看CUDA版本

卸载

/usr/local/cuda/bin目录下运行cuda自带的卸载工具uninstall_cuda_*.pl

sudo ./uninstall_cuda_*.pl

4.安装cuDNN

进入cuDNN下载官网下载相应版本的cuDNN

选择cuDNN Library for Linux下载

参考cuDNN Installation Guide进行安装

解压下载的.tgz文件

tar -xzvf cudnn-*.tgz

将解压出的文件拷贝到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*

猜你喜欢

转载自blog.csdn.net/StardustYu/article/details/87883622