ubuntu 20.04 NVIDIA驱动、cuda、cuDNN安装

1. NVIDIA驱动

系统设置->软件和更新->附加驱动->选择NVIDIA驱动->应用更改。该界面会自动根据电脑上的GPU显示推荐的NVIDIA显卡驱动。
请添加图片描述
运行nvidia-smi:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

1.1 使用nvcc -V检查驱动和cuda:

Command 'nvcc' not found, but can be installed with:

sudo apt install nvidia-cuda-toolkit

运行:

sudo apt install nvidia-cuda-toolkit

再次运行nvcc -V,出现:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

证明驱动是存在的,于是进行下一步。

1.2 检查是否已安装 NVIDIA 驱动:

dpkg -l | grep nvidia

出现

ii  libnvidia-cfg1-535:amd64                    535.183.01-0ubuntu0.20.04.1           amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-535                        535.183.01-0ubuntu0.20.04.1           all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-535:amd64                 535.183.01-0ubuntu0.20.04.1           amd64        NVIDIA libcompute package
ii  libnvidia-compute-535:i386                  535.183.01-0ubuntu0.20.04.1           i386         NVIDIA libcompute package
ii  libnvidia-decode-535:amd64                  535.183.01-0ubuntu0.20.04.1           amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-decode-535:i386                   535.183.01-0ubuntu0.20.04.1           i386         NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-535:amd64                  535.183.01-0ubuntu0.20.04.1           amd64        NVENC Video Encoding runtime library
ii  libnvidia-encode-535:i386                   535.183.01-0ubuntu0.20.04.1           i386         NVENC Video Encoding runtime library
ii  libnvidia-extra-535:amd64                   535.183.01-0ubuntu0.20.04.1           amd64        Extra libraries for the NVIDIA driver
ii  libnvidia-fbc1-535:amd64                    535.183.01-0ubuntu0.20.04.1           amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-fbc1-535:i386                     535.183.01-0ubuntu0.20.04.1           i386         NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-535:amd64                      535.183.01-0ubuntu0.20.04.1           amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-gl-535:i386                       535.183.01-0ubuntu0.20.04.1           i386         NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-ml-dev                            10.1.243-3                            amd64        NVIDIA Management Library (NVML) development files
ii  nvidia-compute-utils-535                    535.183.01-0ubuntu0.20.04.1           amd64        NVIDIA compute utilities
ii  nvidia-cuda-dev                             10.1.243-3                            amd64        NVIDIA CUDA development files
ii  nvidia-cuda-doc                             10.1.243-3                            all          NVIDIA CUDA and OpenCL documentation
ii  nvidia-cuda-gdb                             10.1.243-3                            amd64        NVIDIA CUDA Debugger (GDB)
ii  nvidia-cuda-toolkit                         10.1.243-3                            amd64        NVIDIA CUDA development toolkit
ii  nvidia-dkms-535                             535.183.01-0ubuntu0.20.04.1           amd64        NVIDIA DKMS package
ii  nvidia-driver-535                           535.183.01-0ubuntu0.20.04.1           amd64        NVIDIA driver metapackage
ii  nvidia-firmware-535-535.183.01              535.183.01-0ubuntu0.20.04.1           amd64        Firmware files used by the kernel module
ii  nvidia-kernel-common-535                    535.183.01-0ubuntu0.20.04.1           amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-535                    535.183.01-0ubuntu0.20.04.1           amd64        NVIDIA kernel source package
ii  nvidia-opencl-dev:amd64                     10.1.243-3                            amd64        NVIDIA OpenCL development files
ii  nvidia-prime                                0.8.16~0.20.04.2                      all          Tools to enable NVIDIA's Prime
ii  nvidia-profiler                             10.1.243-3                            amd64        NVIDIA Profiler for CUDA and OpenCL
ii  nvidia-settings                             470.57.01-0ubuntu0.20.04.3            amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-535                            535.183.01-0ubuntu0.20.04.1           amd64        NVIDIA driver support binaries
ii  nvidia-visual-profiler                      10.1.243-3                            amd64        NVIDIA Visual Profiler for CUDA and OpenCL
ii  screen-resolution-extra                     0.18build1                            all          Extension for the nvidia-settings control panel
ii  xserver-xorg-video-nvidia-535               535.183.01-0ubuntu0.20.04.1           amd64        NVIDIA binary Xorg driver

说明已安装NVIDIA 驱动。

1.3 查看已安装驱动的版本信息

ls /usr/src | grep nvidia

出现驱动版本信息nvidia-535.183.01

1.4 安装 DKMS 工具,帮助自动重新编译和安装NVIDIA 驱动程序的内核模块

sudo apt-get install dkms

1.5 安装或重新安装特定版本(535.183.01)的 NVIDIA 驱动模块

错误…… 回到第一步,设置更换驱动后一定要重启!!!!或运行命令sudo reboot

1.6 运行sudo reboot后,再次nvidia-smi

请添加图片描述
成功!

2. CUDA

2.1 首先查看cuda是否安装:

运行nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

没有安装cuda。

2.2 参考1

2.3 参考2

2.4 查看CUDA版本

cat /usr/local/cuda/version.txt

2.5 查看cuDNN版本

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

3. 查看已安装的cuda版本

ls -l /usr/local | grep cuda

本电脑出现

lrwxrwxrwx  1 root root   20 11月 12 19:48 cuda -> /usr/local/cuda-11.6
drwxr-xr-x 17 root root 4096 11月 12 19:47 cuda-10.1
drwxr-xr-x 16 root root 4096 11月 12 16:07 cuda-11.6

则表示当前机器上安装了10.1、11.6两个 cuda 版本,/usr/local/cuda是一个软链接,链接到了/usr/local/cuda-11.6目录,表示当前使用的是cuda-11.6版本。

更换cuda软连接

参考

1.查看系统中nvcc的实际路径,在终端输入which nvcc

2.删除/usr/bin/nvcc 链接,在终端输入sudo rm /usr/bin/nvcc

3.重新创建软连接并指向CUDA11.3,在终端输入sudo ln -s /usr/local/cuda-11.3/bin/nvcc /usr/bin/nvcc

### 安装准备 为了确保顺利安装,在开始之前应确认系统的更新状态并移除旧版驱动程序。可以使用命令`sudo apt-get update && sudo apt-get upgrade`来完成系统软件包的更新[^1]。 ### 卸载现有NVIDIA软件 如果已经存在旧版本的NVIDIA驱动或其他CUDA相关组件,则应该先卸载它们以避免冲突。这可以通过运行如下命令实现: ```bash sudo apt-get purge nvidia* ``` ### 添加Graphics Drivers PPA 对于更稳定的驱动支持,建议添加graphics-drivers PPA到Ubuntu源列表中以便获取最新的稳定版驱动器。执行以下命令: ```bash sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update ``` ### 安装NVIDIA Driver 通过APT安装特定版本的NVIDA驱动是一个较为简便的方法。例如要安装470系列驱动,可输入下列指令: ```bash sudo ubuntu-drivers autoinstall # 或者指定版本号如: # sudo apt install nvidia-driver-470 ``` 验证安装成功与否可通过查看Xorg日志文件或利用命令`nvidia-smi`显示当前GPU的状态信息。 ### 安装CUDA Toolkit 前往[NVIDIA官方网站](https://developer.nvidia.com/cuda-downloads),依据个人需求挑选适合的操作系统与版本组合下载对应的.run脚本或者.deb包形式的安装文件。这里推荐采用`.deb`方式简化依赖关系处理过程。按照网页提示操作直至完成整个流程即可[^3]。 #### 更新环境变量 为了让编译工具链能够识别新加入的路径,需编辑用户的shell配置文件(比如~/.bashrc),追加下面两行内容至文件末尾处: ```bash export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH ``` 使更改生效只需重新加载该配置文件: ```bash source ~/.bashrc ``` 最后再次调用`nvcc --version`测试是否能正常输出CUDA编译器的信息作为检验手段之一[^2]。 ### 安装cuDNN Library 访问[CUDA Deep Neural Network library (cuDNN)](https://developer.nvidia.com/rdp/cudnn-download)页面登录账号后找到匹配于已安装备份之CUDA版本号的目标压缩包进行下载解压动作;接着把其中几个目录下的.so动态链接库复制粘贴到相应位置(/usr/local/cuda/include & /usr/local/cuda/lib64/)覆盖默认同名项即告完工。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值