wsl下安装cuda各种踩坑记录.assets

news2025/1/11 20:55:17
  1. 执行nvcc -V, cuda版本位11.5

请添加图片描述

  1. 删除cuda

    sudo apt-get --purge remove "*cublas*" "*cufft*" "*curand*" \
     "*cusolver*" "*cusparse*" "*npp*" "*nvjpeg*" "cuda*" "nsight*"
    
  2. 选择对应版本的cuda,下载WSl版本的cuda

请添加图片描述

  1. 执行上部分命令是正常

请添加图片描述

  1. 执行sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-1-local/7fa2af80.pub时,虽然warning了,但是最后还是ok了

    请添加图片描述

  2. 执行sudo apt-get update时会报错

请添加图片描述

  1. 解决,执行如下命令, A4B469963BF863CC根据自己上面出现的NO_PUBKEY填写 GPG error解决方法 - 知乎 (zhihu.com)

     sudo gpg --keyserver keyserver.ubuntu.com --recv A4B469963BF863CC
     sudo gpg --export --armor A4B469963BF863CC | sudo apt-key add -
    

请添加图片描述

  1. 再次执行sudo apt-get update,虽然都是warning,但好像也成功了

请添加图片描述

  1. 执行sudo apt-get -y install cuda

  2. 安装完成之后,nvcc -V是显示不出cuda版本的,cuda路径在/usr/local/cuda

请添加图片描述

  1. 添加路径

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

请添加图片描述

再使用su命令切换到root用户下执行

添加完路径之后,使用 `source ~/.bashrc` 刷新环境, 运行 `nvcc -V`
  1. 不知道咋回事按照11.1的步骤安装最后是12.1

    请添加图片描述

    删除cuda

    there are two things- nvidia drivers and cuda toolkit- which you may want to remove. If you have installed using apt-get use the following to remove the packages completely from the system:

    To remove cuda toolkit:

    sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*" 
    

    To remove Nvidia drivers:

    sudo apt-get --purge remove "*nvidia*"
    

    If you have installed via source files (assuming the default location to be /usr/local) then remove it using:

    sudo rm -rf /usr/local/cuda*
    

    From cuda 11.4 onwards, an uninstaller script has been provided. Use it for the uninstallation instead:

    # To uninstall cuda
    sudo /usr/local/cuda-11.4/bin/cuda-uninstaller 
    # To uninstall nvidia
    sudo /usr/bin/nvidia-uninstall
    

    If you get the problem of broken packages, it has happened since you added repo to the apt/sources.lst. Run the following to delete it:

    sudo vim /etc/apt/sources.list
    

    Go to the line containing reference to Nvidia repo and comment it by appending # in front of the line, for e.g.:

    #deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /
    

    Then run

    sudo apt-get update 
    

    This will fix the problem.

    References: Nvidia uninstallation

  2. 再尝试使用runfile安装, 执行sudo sh cuda_11.1.0_455.23.05_linux.run,会出现

    请添加图片描述

    查看对应的文件,会有

    请添加图片描述

  3. 加上override参数之后,继续安装

请添加图片描述

  1. 还是11.5版本

    请添加图片描述

  2. 卸载再次重新安装,

    sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*" 
    sudo apt-get --purge remove "*nvidia*"
    sudo rm -rf /usr/local/cuda*
    
  3. 安装过程出现了

    请添加图片描述

    请添加图片描述

  4. 放弃,还是安装runfile版本

  5. 降低gcc版本, 出现错误E: Package ‘g+±7’ has no installation candidate

请添加图片描述

  1. 更换源

    要在vim中清空文本,可以按下ESC键退出编辑模式,然后按两次g键将光标移动到文本的首行,最后按下d和G键,其中d键是小写,G键要切换成大写的,

    # 修改 apt-get 源的配置文件
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份
    sudo vim /etc/apt/sources.list #修改
    
    deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    
    # deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    # deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    
    
    
    #最后执行
    sudo apt-get update
    

    请添加图片描述

  2. 再次安装g++7,降低gcc版本,以便安装cuda

    首先Ubuntu 20.04默认g++9版本太高,会导致CUDA无法安装,因此要先降低g++版本。

    sudo apt-get install gcc-7 g++-7
     
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
     
    sudo update-alternatives --display gcc
     
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
     
    sudo update-alternatives --display g++
    
  3. 降低g++版本之后,可以正常执行 sudo sh cuda_11.1.0_455.23.05_linux.run

    请添加图片描述

  4. 安装完成后显示

    请添加图片描述

  5. 终于正常安装cuda 11.1了,虽然nvidia-smi显示和nvcc -V显示的版本不同,以nvcc -V为主

请添加图片描述

  1. /usr/local目录下也有了 cuda目录

    请添加图片描述

  2. 把之前在root和wu用户中修改的vim ~/.bashrc删除

  3. 更新可执行文件路径,在 vim ~/.bashrc中加入,如果不在 ~/.bashrc中加入的话,下次启动还是找不到cuda

    export PATH=/usr/local/cuda-11.1/bin${PATH:+:${PATH}}
    
  4. 更新动态链接库路径

    export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    
  5. 安装1.8.1版本的torch https://pytorch.org/get-started/previous-versions/

    # CUDA 11.1
    pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
    
  6. 然后安装torch-geometric, 根据torch和cuda版本选择,

    请添加图片描述

  7. 安装顺序为 torch-scatter2.0.8,torch-sparse0.6.12,torch-cluster1.5.9,torch-spline-conv1.2.1,torch-geometric==1.7.0,我的python版本为3.6, wsl(linux)

  8. 使用nvcc -V命令,发现没有了,原因更改了 /etc/apt/sources.list can’t install nvidia-driver-toolkit on Ubuntu 20.04 LTS - needs uninstallable package - Ask Ubuntu

    方法:在/etc/apt/sources.list中添加

    deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
    
    deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
    
    deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
    

    执行

    sudo apt-cache policy
    sudo apt-get --purge remove "*cublas*" "cuda*" "*nvidia*"
    sudo apt-get clean
    sudo apt-get autoremove
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install nvidia-cuda-toolkit
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/416486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

打造自己特色远程桌面:SmartCode ViewerX Crack

SmartCode ViewerX VNC 查看器 ActiveX 毫不费力地将 VNC 查看器功能添加到您的应用程序 SmartCode ViewerX VNC 查看器 ActiveX 使开发人员可以使用一组直观的 ActiveX 属性和方法完全访问 VNC 查看器功能。借助ViewerX 控件,开发人员可以轻松地为其应用程序提供…

<呕心沥血>一文总结数据结构八大排序(持续更新)

目录 一、常见的八大排序 二、八大排序的算法思想 1、冒泡排序 2、选择排序 3、插入排序 4、希尔排序 5、归并排序 6、快速排序 7、堆排序 8、计数排序 三、八大排序的算法实现 一、常见的八大排序 常见的八大排序算法如下: 冒泡排序(Bubble …

Android中的接口回调机制

文章目录1.回调的含义和用途2.java实现接口回调3.Android中接口回调的体现4.接口回调在异步任务中的体现1.回调的含义和用途 一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类同步调用、异步调用和回调。同步调用是一种阻…

JAVAWeb04-DOM

1. DOM 1.1 概述 1.1.1 官方文档 地址: https://www.w3school.com.cn/js/js_htmldom.asp 1.1.2 DOM 介绍 DOM 全称是 Document Object Model 文档对象模型就是把文档中的标签,属性,文本,转换成为对象来管理 1.2 HTML DOM(文档…

为什么现代企业都在使用ERP系统 它有哪些优势

随着科技的不断发展,企业管理方式也在不断地发生改变。在这个信息化的时代,企业要想取得成功,必须要善于利用先进的信息化技术工具。其中,ERP系统是企业管理中不可或缺的重要工具。本文将探讨现代企业为什么会使用ERP系统&#xf…

CPU占用率高怎么办?正确解决方法在这里!

案例:CPU占用率高怎么解决 【各位朋友,我的电脑现在运行太慢了,同事说可能是CPU占用率太高了,但对本电脑小白来说,完全不知道怎么处理,大家有什么好的方法可以解决这个问题吗?】 在计算机中&a…

快看这些wireshark 命令,必须得会!

wireshark捕获命令 捕获器表达式语法: 限定词三类 Type:host、net、prot 指出其后数字或名字的意义(主机,网段,端口) Direction:src、dst 指出传输方向 (源 、目的) …

GcExcel Java Edition 6.0.6 Crack

概述 GrapeCity Documents for Excel,Java 版,是一个编程接口,允许 Java 开发人员以编程方式大规模创建和操作 Excel 文档。GrapeCity Documents for Excel 是一种解决方案,允许开发人员跨 Java 应用程序导入/导出、创建报告和模板…

论文阅读《GlueStick: Robust Image Matching by Sticking Points and Lines Together》

论文地址:https://arxiv.org/abs/2304.02008 源码地址:https://github.com/cvg/GlueStick 概述 针对视角变化时在闭塞、无纹理、重复纹理区域的线段匹配难的问题,本文提出一种新的匹配范式(GlueStick),该方…

MySQL性能优化(三)事务与锁详解

文章目录什么是数据库事务?事务的四大特性:ACID事务的开启与结束案例表结构与数据案例事务并发的三大问题:脏读(一个事务读取到了其他事务未提交的数据)不可重复读(一个事务读取到其他事务已提交的数据造成…

Qt在安卓手机输出‘hello,world‘

我也想实现这样的功能。 最开始的参考文章: (2条消息) Qt android 开发环境搭建_逝水流年丶轻染尘的博客-CSDN博客 方案1:(失败) 我之前已经下载过 Qt5.14.2了,所以我想直接添加组件 中间过程参考: (2条消息) Qt更新组件出现&…

敏捷开发模式下如何用 PingCode 这类工具迭代管理

迭代(Sprint)是 Scrum 敏捷开发框架的核心,正确的迭代可以帮助敏捷团队提高工作交付速度。Scrum 团队以完成迭代待办列表为工作目标,并在迭代结束时交付一定的产品增量。PingCode 以产品待办列表作为迭代管理的核心,因…

java并发编程之美第二章读书笔记

并发编程的其他基础知识 什么是多线程的并发编程 并发: 同一时间段内多个任务同时都在执行,且执行都没有执行结束,强调的是在一个时间段内同时执行,而一个时间段由多个时间积累而成的,所以并发的多个任务在单位时间内并不一定同时执行 并行: 单位时间内多个任务同时在执行…

基于GPT-4免费生成代码的工具!小游戏,管理系统都能生成!

Cursor支持Python、Java、C、JavaScript、C#等等,可AI生成代码,功能非常强大!这篇教程将教你如何下载安装,带你玩转Cursor 目录 话不多说,先看能力: 只需要三步,就可以AI出你想要的代码&#x…

测试基础知识

开发模型和测试模型 软件的生命周期 软件的生命周期指的是产品从设想开始到软件不再使用的时间。 软件的生命周期可以分为6个阶段:需求分析,计划,设计,编码,测试,运行维护。 瀑布模型 适用项目&#xf…

[考研数据结构]第3章之栈的基本知识与操作

文章目录 栈的基本概念 栈的实现 顺序栈 共享栈 链栈 栈的基本概念 栈的定义 栈(Stack)是只允许在一端进行插入或删除操作的线性表 相关术语 栈顶(Top)线性表允许进行插入或删除的那一端称之为栈顶栈底(Bottom&…

JAVASE基础(二)

这里写目录标题JAVASE基础11.科学计数法12.编码和字符集12.编译格式问题13.类型转换类型级别自动类型转换强制类型转换特殊情况14.final修饰符a.修饰变量b.修饰方法c.修饰类15.scanner使用16.两个数交换引入中间变量位运算数学数方法一数学计数方法二17.扩展赋值运算符&#xf…

递归算法_字符串反转_20230412

递归算法-字符串反转 前言 递归算法对解决重复的子问题非常有效,字符串反转也可以用递归算法加以解决,递归算法设计的关键是建立子问题和原问题之间的相关性,同时需要确立递归退出的条件;如果递归退出的条件无法确定&#xff0c…

【LeetCode: 面试题 17.13. 恢复空格 | 暴力递归=>记忆化搜索=>动态规划】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Redis安装和配置

目录本章重点Redis安装Redis启动和停止配置后台启动连接前的配置本章重点 主要掌握安装和启动了解redis的配置文件进行配置掌握Redis几种启动方式 Redis安装 下载 Redis官网 点击下载 解压 然后将下载好的压缩包上传到服务器,进行解压! tar zxvf 进行解压 编译 我们要进行编…