Ubuntu18.04完全卸载CUDA

cuda的卸载方法网上都有很多,这些方法大同小异,几乎都是错的,我在卸载cuda时基本试了个遍,各种踩坑。
能查到的方法一般都是从官方文档搬过来的,然而这种使用apt-get --purge remove命令的方法并不能将cuda完全卸掉。

卸载的实现方法
那么如何正确、完全的卸载cuda呢?

其实cuda安装时就已经准备好了卸载的接口,卸载程序在/usr/local/cuda-xx.x/bin下,需要注意的是cuda10.0及之前的版本卸载程序名为uninstall_cuda_xx.x.pl,而cuda10.1及之后的版本卸载程序名为cuda-uninstaller。
找到之后运行卸载程序即可,这里的xx.x表示自己的cuda版本。

在命令行中卸载
注意把下边的xx.x替换为自己的cuda版本。
cuda10.0及以下的卸载:

cd /usr/local/cuda-xx.x/bin/
sudo ./uninstall_cuda_xx.x.pl
sudo rm -rf /usr/local/cuda-xx.x

cuda10.1及以上的卸载:

cd /usr/local/cuda-xx.x/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-xx.x

最后边加了一句sudo rm -rf /usr/local/cuda-xx.x,这是因为一般情况下cuda都配置了cudnn,在运行卸载程序时只会卸载cuda而不会一并删除cudnn的文件。因为cudnn文件还在的缘故,自己的cuda-xx.x文件夹仍然在,需要手动删除。
所以如果自己要卸载的cuda没有配置cudnn,那么cuda-xx.x文件夹在卸载完成后会被自动删除,也就没必要再运行最后一句了。

卸载前请把环境删除 vim ~/.bashrc sudo vi ~/.bashrc

查看cuda的安装位置

whereis cuda

查看已安装的CUDA的版本

cat /usr/local/cuda/version.txt

查看已安装的CUDNN的版本

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

当找不到的时候卸载多次失败

先查询

sudo dpkg -l | grep cuda

使用命令卸载cuda及cudnn包

sudo dpkg -P 包名

途可能会出现依赖包的问题卸载失败按顺序卸载就行 在查询在卸载

卸载驱动 

仅卸载nvidia-cuda-toolkit

sudo apt-get remove nvidia-cuda-toolkit

卸载nvidia-cuda-toolkit及其依赖项

sudo apt-get remove --auto-remove nvidia-cuda-toolkit

清除配置/数据

sudo apt-get purge nvidia-cuda-toolkit 要么 sudo apt-get purge --auto-remove nvidia-cuda-toolkit

此外,删除/opt/cuda~/NVIDIA_GPU_Computing_SDK文件夹(如果存在)。并删除文件的export PATH=$PATH:/opt/cuda/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cuda/lib:/opt/cuda/lib64~/.bash_profile

查看安装的nvidia模块命令

rpm -qa|grep -i nvid|sort

删除相关模块

yum  remove kmod-nvidia-*

完全卸载nvidia驱动

yum remove "*nvidia*"

完全卸载CUDA TOOLKIT

yum remove "*cublas*" "cuda*"

在卸除驱动后一定记得重启

sudo reboot
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi
# added by Anaconda3 5.3.1 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/home/jwrl/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
    \eval "$__conda_setup"
else
    if [ -f "/home/jwrl/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/jwrl/anaconda3/etc/profile.d/conda.sh"
        CONDA_CHANGEPS1=false conda activate base
    else
        \export PATH="/home/jwrl/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda init <<<
export PATH="/home/jwrl/anaconda3/bin:$PATH"
alias python3=python3.6


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

我的配置文件是这样的

你可能感兴趣的:(深度学习,人工智能)