一、
先从官网找一个合适自己的版本下载
https://developer.nvidia.com/cuda-toolkit-archive
我选的CUDA10.0
下载后得到`sudo sh cuda_10.0.130_410.48_linux.run`文件
二、关闭ubuntu图形化界面
不关闭的话,安装会报错的。提示
An NVIDIA kernel module 'nvidia-uvm' appears to already be loaded in your kernel. This may be because it is in use.
至于关闭的方法,网上经常会教你用
sudo service lightdm stop
sudo /etc/init.d/lightdm stop
然后关闭图形化界面失败,提示lightdm.service not loaded。我被这样折腾了很久。
实际上,在Ubuntu18.04中要用麻烦一点的方法。
关闭用户图形界面。
sudo systemctl set-default multi-user.target
sudo reboot
开启用户图形界面。
sudo systemctl set-default graphical.target
sudo reboot
没错,开关都要重启一次。
三、安装CUDA
在对应目录下,运行如下命令。
sudo sh cuda_10.0.130_410.48_linux.run
#sudo sh cuda_10.1.243_418.87.00_linux.run
文件名要换成你刚才下载的.run文件名。
#如果正处于虚拟环境下,先退出虚拟环境。
#如果用了sudo还是报错 'Driver installation must be run as root.'
#说明需要root用户,检查当前用户的权限是否为root,方法为
将用户提权为root用户
sudo vim /etc/passwd
找到当前用户(比如alan),将用户名后面的数字改成0
从
alan:x:1000:1000:/home/alan
修改为
alan:x:0:0:/home/alan
然后重启
或者
sudo passwd root
#修改root用户密码
sudo reboot
#重启后用root登陆进去安装
按流程 accept
安装完会提示,让你去把各种PATH设置一下。
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-10.1/
Samples: Installed in /home/fc, but missing recommended libraries
Please make sure that
- PATH includes /usr/local/cuda-10.1/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-10.1/lib64, or, add /usr/local/cuda-10.1/lib64 to /etc/ld.so.conf and run ldconfig as root
四、配置环境变量
根据上面的提示 Please make sure that这段,把PATH和LD_LIBRARY_PATH修一修。
sudo gedit ~/.bashrc
"""
在bashrc文件中写入
"""
export PATH=/usr/local/cuda-10.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH
"""
wq!保存后
"""
source ~/.bashrc
然后设置一下环境变量里的动态链接。
/urs/local/cuda/链接到/usr/local/cuda-10.1/。
sudo vim /etc/profile
export PATH=/usr/local/cuda/bin:$PATH
最后根据下面这条提示,把/etc/ld.so.conf修一修
add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root
于是我们开始
sudo vim /etc/ld.so.conf.d/cuda.conf
"""
打开文件后,写入
"""
/usr/local/cuda/lib64
"""
wq!退出
"""
运行一下ldconfig,链接生效。
sudo ldconfig
在/usr/local/cuda/bin下有自带的卸载工具。
sudo /usr/local/cuda/bin/uninstall_cuda_10.1.pl
但我发现这样好像只能卸载cuda,本身的英伟达驱动删不干净。
网上搜到了这条命令
sudo /usr/bin/nvidia-uninstall
这样可以直接删驱动。
//参考https://www.jianshu.com/p/00c37b09f0f3