zoukankan      html  css  js  c++  java
  • CUDA错误删除

    CUDA、CUDNN安装的心酸史


    作者:elfin  资料来源: 文内



    1、简诉

    ​ 基于ubuntu18.04,Driver Version 440.33.01;cuda10.2、cudnn8.0.3、GPU:1650的基础环境安装TensorRT7.2.2.3,安装好之后,在使用过程中报错,而项目在2080TI的另一环境中测试通过,通过代码调试、错误定位,最后定位到libcublas有毛病,当时年轻,不懂时,查看cuda版本与Driver Version的对应情况,没有什么问题,Driver Version满足>=440.33.01,一般使用它不会报错;另一方面TensorRT较新,网上有出现这种情况,且有将TensorRT7.2转换为TensorRT7.1解决的!

    ​ 在这种背景下,我准备卸载TensorRT7.2.2.3,基于NVIDIA官网卸载命令,不小心删除了全家桶!切记不要随意使用sudo apt-get autoremove。虽然按理说不应该删除CUDA,但是我就遇到这么秀,看见cuda被删除,直接傻眼。

    ​ 既然被删除了那就安装吧……

    ​ 首先选择DEB安装,结果网络波动太大,导致安装的cuda没有include文件夹,这我找谁去说理啊!那就删除重安吧,结果这个直接删CUDA文件夹的骚操作害苦了我,后面不管是DEB还是RUN文件都不能安装,下面是解决问题的过程记录!

    Top -- Bottom


    2、ERROR

    安装报错如下:

    安装cuda10.2时显示/tmp/apt-dpkg-install-eBJpT5/25-libcublas-dev_10.2.2.89-1_amd64.deb没有安装,所以手动安装,报错为:

    dpkg: 错误: 无法访问归档 '/tmp/apt-dpkg-install-eBJpT5/25-libcublas-dev_10.2.2.89-1_amd64.deb': 没有那个文件或目录

    cuda 已经是最新版 (10.2.89-1)。
    您也许需要运行“apt --fix-broken install”来修正上面的错误。
    下列软件包有未满足的依赖关系:
     cuda-libraries-dev-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
                               依赖: cuda-misc-headers-10-2 (>= 10.2.89) 但是它将不会被安装
     cuda-nvcc-10-2 : 依赖: cuda-misc-headers-10-2 (>= 10.2.89) 但是它将不会被安装
     cuda-samples-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
     cuda-visual-tools-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
    E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。
    

    此时我的/usr/local下是没有cuda与cuda-10.2的,这里报错依赖有问题。在网上找了很多方法,都不行,这里我建议你尝试以下措施:

    • 缺什么安装什么

      这个方法我没有测试,你可以实验将libcublas-dev这些包安装一下在安装cuda。

    • 删除未被删除的指令

      这里我首先查询了我安装的cuda包:

      $ sudo dpkg -l | grep cuda
      

      在查询的列表中可以看到很多cuda相关的包,特别是很多版本为10.2.89-1,我选择将这些10.2.89-1的包全部删除:

      $ sudo dpkg -P <要删除的包>
      

      在删除的过程中,可能会遇到此包被xxx依赖,此时先删除依赖它的包!直到删除完全!

      要注意不要误删除cuda-drivers等其他版本的包!

      删除完成之后,即可安装CUDA10.2!

    Top -- Bottom


    3、安装CUDA10.2报错libcublas为安装

    报错信息如下:

    ubuntu 18.04 Autoware 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装

    下列软件包有未满足的依赖关系:
     cuda-libraries-dev-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
     cuda-samples-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
     cuda-visual-tools-10-2 : 依赖: libcublas-dev (>= 10.2.2.89) 但是它将不会被安装
    E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。
    ERROR: the following rosdeps failed to install
      apt: command [sudo -H apt-get install -y ros-melodic-grid-map-visualization] failed
    

    ​ 看到此信息,我首先想到使用apt-get安装,为了保险,验证合理性,我百度了一下,还真有遇到此问题的大佬。

    ​ (报错信息复制于大佬博客,我的错误应该是一样的!)

    ​ 基于博客的方法展示步骤如下:

    • 安装包

      $ sudo apt-get install libculas-dev
      

      报错:dpkg返回错误代码:

      E: Sub-process /usr/bin/dpkg returned an error code (1)

    • 解决方法(来源于博客)

      $ sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/
      $ udo mkdir /var/lib/dpkg/info/
      $ sudo apt-get update
      # 下面这一步我报错了,镜像源有些没有get到,可能是网络的原因,不过不影响后面的操作
      $ sudo apt-get ugrade
      

      再安装

      $ sudo apt-get install libculas-dev
      

    Top -- Bottom


    4、CUDA、CUDNN安装

    基于第二章、第三章,使用sudo apt-get -y install cuda成功安装,没有包任何奇怪的东西!

    使用nvidia-smi测试通过,使用nvcc -V报错,进入cuda-10.2所在目录查看,发现没有cuda软连接:

    $ cd /usr/local/
    $ sudo ln -s cuda-10.2/ cuda/
    

    创建软连接后,nvcc -V命令可以正常使用,下面测试是否正常安装!

    $ cd /usr/local/cuda/samples/1_Utilities/deviceQuery
    $ sudo make
    $ ./deviceQuery
    

    正常应该在最后打印Result = PASS
    实际我这里是未通过,这很难受了,删掉重新安装吧!发现在bin下没有uninstall相关文件,裂开了!,使用如下命令删除:

    $ sudo apt-get autoremove --purge cuda
    $ sudo dpkg -l | grep cuda
    # 此命令显示还有未卸载干净的,继续手动卸载!此时发现之前一直向保留的440.33.01那个包早没了,好吧之前就不该保留!
    $ sudo dpkg -P ···
    

    Top -- Bottom


    完!

  • 相关阅读:
    接口文档:第二章:使用Swagger接口的文档在线自动生成
    js断点调试心得
    架构漫谈(二):认识概念是理解架构的基础
    vps 虚拟机 云服务器
    云服务器和虚拟主机的区别
    SQL嵌套子查询和相关子查询的执行过程有什么区别(推荐)
    查询速度优化用not EXISTS 代替 not in
    NULL 与空字符串
    MySQL中处理Null时要注意两大陷阱
    MySQL中NOT IN语句对NULL值的处理
  • 原文地址:https://www.cnblogs.com/dan-baishucaizi/p/14254509.html
Copyright © 2011-2022 走看看