Install-cuda

分为两种方式:
(1)直接安装显卡驱动
(2)安装cuda toolkit顺便安装显卡驱动,或者可以只安装cuda。

安装

ubuntu安装NVIDIA显卡驱动

查看GPU型号
lspci | grep -i nvidia
注: Cuda Toolkit(下载)包含nvidia显卡驱动, 可以直接一起安装。在Ubuntu18上安装Cuda11.1一直没有成功,也没报错,让看/var/log/nvidia-installer.log,里边也没提示什么,就重新下载Nvidia驱动,提示没有make。所以应该先安装gccmake才能继续的安装,之后就一路顺利的完成了。

安装驱动

  • 去英伟达官网下载驱动程序
  • 禁用nouveau第三方驱动
    打开编辑配置文件: sudo gedit /etc/modprobe.d/blacklist.conf
    在最后一行添加:blacklist nouveau
    改好后执行命令:sudo update-initramfs -u
    重启使之生效:reboot
  • 安装驱动
    重启后按Ctrl+Alt+F1 进入命令行界面
    执行命令:lsmod | grep nouveau
    禁用X服务:sudo /etc/init.d/lightdm stop (或者:sudo service lightdm stop)
    给驱动run文件赋予可执行权限:sudo chmod a+x NVIDIA-Linux-x86_64-390.25.run (下载的驱动文件名)
    安装:sudo ./NVIDIA-Linux-x86_64-390.25.run -no-opengl-files
      –no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要  
      –no-x-check 安装驱动时不检查X服务  
      –no-nouveau-check 安装驱动时不检查nouveau   
      后面两个参数可不加。  
    
  • 开启X服务:sudo /etc/init.d/lightdm start (或者:sudo service lightdm start)
  • 重启,没有问题,输入命令:nvidia-smi
    如果出现了驱动版本就表示安装成功了。

参考

禁用Nouveau 开源驱动
首先添加一个blacklist:
# vi /etc/modprobe.d/blacklist-nouveau.conf
写入以下内容:

1
2
3
4
5
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

为了保证完全禁用掉,还要在内核中直接禁用Nouveau:
# echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
这之后,更新配置试生效:
# update-initramfs -u
重启

问题
没有关闭系统自动升级,重庆后ubuntu的内核自动升级了,用GPU跑模型的时候,提示cuda不存在,用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
2
sudo apt install dkms
sudo dkms install -m nvidia -v 418.87.00

其中,418.87.00是之前安装nvidia驱动的版本号,可以通过以下命令查到:
ls /usr/src | grep nvidia

还可以通过降低系统的内核的方法来解决,由于ubuntu18启动时不能进入一个ubuntu高级的地方可以选择内核版本,所以没用这个方法。

ubuntu 安装不同版本cuda(可以顺带安装显卡驱动,一次安装更省事)

  • 官网选择cuda版本
  • 选择目标系统平台linux/x86_64/ubuntu/16.04/runfile(local)
  • 按给出的命令下载cuda .run安装包
    wget https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
  • 赋予执行权限
    chmod +x cuda_10.1.243_418.87.00_linux.run
  • 安装
    sudo sh cuda_10.1.243_418.87.00_linux.run
  • 如果系统已安装Nvidia驱动,只需要安装其他版本的cuda,可以只选择toolkit一项;如果没有安装显卡驱动,可以按默认全部选择选项安装。

配置

多版本cuda切换

  • 按照安装2中方法,安装需要版本的cuda。
  • 添加cuda 软链接

    1
    2
    sudo rm -rf /usr/local/cuda-10.1
    sudo ln -s /usr/local/cuda-11.1 /usr/local/cuda
  • 切换,在.bashrc中添加以下配置

    1
    2
    3
    4
    export PATH=$PATH:/usr/local/cuda/bin
    export LD_LIBRARY=$LD_LIBRARY:/usr/local/cuda/lib64
    export LIRRARY_PATH=$LIRRARY_PATH:/usr/local/cuda/lib64
    export CUDA_HOME='/usr/local/cuda-11.1'
  • 执行source .bashrc,输入nvcc -V,查看cuda版本。

设置cuda计算模式

  • 有三种模式:0-default、1-Exclusive、2-Prohibited。设置成2后,其他程序不能占用。
    1
    2
    3
    4
    5
    # python中配置cuda计算模式
    os.system('sudo nvidia-smi -i %s -c 0' % os.environ['CUDA_VISIBLE_DEVICES'])
    os.system('sudo nvidia-smi -i %s -c 2' % os.environ['CUDA_VISIBLE_DEVICES'])
    # shell
    sudo nvidia-smi -i '0' -c 0
Contents
  1. 1. 安装
    1. 1.1. ubuntu安装NVIDIA显卡驱动
    2. 1.2. ubuntu 安装不同版本cuda(可以顺带安装显卡驱动,一次安装更省事)
  2. 2. 配置
    1. 2.1. 多版本cuda切换
    2. 2.2. 设置cuda计算模式
|