茄子的个人空间

ubuntu上安装NIVIDIA驱动和CUDA_Tookit

字数统计: 853阅读时长: 3 min
2023/09/12
loading

每一次安装NIVIDIA驱动或CUDA Tookit时,都要经过一番折腾,才能够安装成功,这里把过程记录一下,以便以后可以参考。

本次安装遇到的最大问题是:pytorch所能支持的最高cuda版本为11.8,而安装后的cuda为最新12.2版本,pytorch没法识别cuda。
导致这一问题的主要原因在于两点:

  1. 安装的NIVIDIA驱动版本过高,导致CUDA Tookit版本也过高,无法降级
  2. 使用网络方式安装CUDA Tookit,安装之后得到的是最新版的CUDA Tookit,不是我想要的11.8版本

接下来是安装过程:

  • 删除已安装的NIVIDIA驱动或CUDA Tookit

    1
    2
    3
    4
    5
    6
    sudo rm /etc/apt/sources.list.d/cuda*
    sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*"
    sudo apt-get --purge remove "*nvidia*"
    sudo apt-get autoremove
    sudo apt-get autoclean
    sudo rm -rf /usr/local/cuda*
  • 查看ubuntu系统版本和驱动器型号,并下载对应驱动安装

    1
    2
    3
    4
    cat /etc/os-release # 查看系统版本

    lspci | grep VGA # 查看显卡型号

    查看好版本之后,在这里下载对应的驱动程序并安装。

    本次安装,服务器的版本为Ubuntu 22.04.2 LTS,显卡型号为GeForce RTX 3090.

  • 查看驱动安装结果

    驱动程序安装好之后,使用”nividia smi”命令查看安装结果,这里如果显示错误信息,重启系统就好了。

    需要注意的是,这里出来的cuda的版本号不能大于pytorch所能支持的最大cuda版本号。

    比如这次安装的时候,pytorch所能支持的最大cuda版本号为11.8,而我安装后,这里显示的版本号是12.2,最终导致无论如何pytorch都不能识别cuda。原因就是因为这里安装的驱动太新,nividia设置成了最新的cuda toolkit,后面安装cuda toolkit软件包的时候不能降级,导致pytorch没法识别。

    在本次安装过程中,最终成功安装的驱动器版本为510,安装成功之后查询到的cuda版本为11.04, 由于最新的pytorch支持的cuda版本为11.8,所以后面我们还需要安装11.8版本的cuda toolkit,才能让pytorch使用cuda。

  • 安装cuda toolkit

    这里找到对应版本的cuda toolkit,点进去之后,选择操作系统、操作系统版本等信息,下载类型选择第三个,安装包下载好之后,根据提示安装就好了。

    完成之后,再用”nividia smi”查询cuda信息,这次版本应该就是pytorch支持的了。

    这里有个疑问,貌似以本次包方式,安装cuda toolkit的时候可以勾选安装nividia驱动程序,也就是说可以省去前面安装驱动这一步。

    这里遇到的大坑是,下载类型一定要选择第三个”runfile(local)”,之前好几次选择第二个”deb(network)”,安装完,一查询cuda信息,得到的都是12.2的版本, 但是pytorch不支持12.2的cuda,所以没法用。

    本次安装过程中,下载的是11.8版本的cuda toolkit,下载和安装脚本如下

    1
    2
    3
    4

    wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
    sudo sh cuda_11.8.0_520.61.05_linux.run

  • 安装对应版本的pytorch

    这里找到对应的pytorch版本,然后安装就好了。

  • 最后,查看cuda是否能够被pytorch识别

    1
    2
    import torch
    print(torch.cuda.is_available())

    如果显示为ture,则表示安装成功。

CATALOG