wsl安装CUDA

news2024/11/18 2:33:29

NVCC

昨天已经安装好了gpu版的pytorch,对于一般的代码应该就可以运行了。但有些代码中需要用到cuda算子,需要配置nvcc环境。对于这个我也没能搞太清楚,网上的说法不一,我使用conda安装pytorch时也安装了cudatoolkit,按照我的理解,这里面应该带着nvcc,虽然没有在全局的path里面,但是在编译的时候应该可以找到这个路径。但事与愿违。

我在conda安装了cudatoolkit还是不能编译。看网上的教程,安装pytorch-cuda似乎可以,但是安装太慢,遂放弃。

我尝试的路径:

  1. 使用pip安装pytorch

    在这里插入图片描述

不行,我的理解是没有安装cudatoolkit这个包

  1. 使用conda安装

在这里插入图片描述

这个方法应该是可以的,安装时包里有这个nvcc这个包,但是太慢了,遂放弃

  1. 尝试安装旧的版本,因为我复现论文的需要,我安装的是 conda install pytorch=1.9.0 torchvision cudatoolkit=11.1 -c pytorch -c nvidia -y,这里面也有cudatoolkit了,按照我的理解,应该是可以编译cuda算子的,但事与愿违

  2. 安装cuda,使用apt install nvidia-cuda-toolkit,这时候有nvcc了,但是版本太低,好像是9.x版本,遂卸载

  3. 安装cuda11.6(这里是我操作失误了,我以为是cuda版本高了,然后卸载换成了11.1,这个应该也行)

  4. 安装cuda11.1(成功的方法)

    1. 百度搜索cuda11.1,进入nvidia页面

在这里插入图片描述

  1. 选择对应的版本,按照步骤安装
  2. 安装完成后按照提示加入path

在这里插入图片描述

vim ~/.bashrc

在末尾加入

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

执行
source ~/.bashrc
  1. 输入nvcc --version ,不出意外的话就安装成功了

编译算子

刚开始python setup.py install时,出现错误

    depends=ext.depends,
  File "/home/lzc/miniconda3/envs/pt/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 539, in unix_wrap_ninja_compile
    with_cuda=with_cuda)
  File "/home/lzc/miniconda3/envs/pt/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1360, in _write_ninja_file_and_compile_objects
    error_prefix='Error compiling objects for extension')
  File "/home/lzc/miniconda3/envs/pt/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1682, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension_

然后pip了一下ninja就可以了

(此处省略本代码中专有的坑,有两个包作者没提供,不过在issues里面有人找作者要过了,但是安装这个也很麻烦)

经过很长时间的踩坑,终于跑通了,可以进行调试了,终于!

在这里插入图片描述

~

配环境真的很折磨人

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

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

相关文章

c++11 标准模板(STL)(std::forward_list)(八)

定义于头文件 <forward_list> template< class T, class Allocator std::allocator<T> > class forward_list;(1)(C11 起)namespace pmr { template <class T> using forward_list std::forward_list<T, std::pmr::polymorphic_…

当面试官问:“你还有什么要问我”,怎样回答才最加分?

面试到最后&#xff0c;面试官常常会问求职者&#xff1a;“你还有什么要问我&#xff1f;”许多人面对这个问题&#xff0c;不知该怎样回答&#xff0c;怕回答不好影响自己的面试结果&#xff0c;那么怎么回答才最加分呢&#xff1f;有人说&#xff0c;可以问问这个职位应该具…

springboot整合gateway网关

2.3 搭建Gateway 本项目使用Spring Cloud Gateway作为网关&#xff0c;下边创建网关工程。 新建一个网关工程。 工程结构 添加依赖&#xff1a; XML org.springframework.cloud spring-cloud-starter-gateway com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discove…

TryHackMe-Blog

Blog 比利乔尔&#xff08;Billy Joel&#xff09;在他的家用电脑上写了一个博客&#xff0c;并开始工作。这将是非常棒的&#xff01; 枚举此框并找到隐藏在其上的 2 个标志&#xff01;比利的笔记本电脑上有一些奇怪的事情。你能四处走动并得到你需要的东西吗&#xff1f;还…

蓝队常用的攻击手段

目录 一&#xff0c; 漏洞利用 1.1 SQL 注入漏洞 1.2 跨站漏洞 1.3 文件上传或下载漏洞 1.4 命令执行漏洞 1.5 敏感信息泄露漏洞 在实战过程中&#xff0c;蓝队专家根据实战攻防演练的任务特点逐渐总结出一套成熟的做法:外网纵向突破重点寻找薄弱点&#xff0c;围绕薄弱点…

2022 VeLO: Training Versatile Learned Optimizers by Scaling Up

VeLO: Training Versatile Learned Optimizers by Scaling Up 通过扩展模型的规模来训练一个通用的优化器。 设计上&#xff0c;优化器的原理基于元学习的思路&#xff0c;即从相关任务上学习经验&#xff0c;来帮助学习目标任务。 相比迁移学习&#xff0c;元学习更强调获取元…

2023年批量下载和改名音频专辑(单页列表)

一、下载原理 1&#xff09;找到目标音频的专辑网页&#xff0c;这里以 kite runner mp3为例。&#xff08;需要自己找&#xff09; https://www.xi___ma___la_____ya.com/album/71718770 2&#xff09;进入详细页&#xff08;称为一次请求URL&#xff09;&#xff08;不需要…

JUC(java.util.concurrent)的常见类

文章目录一、JUC常见类Callable 接口ReentrantLockSemaphore(信号量)CountDownLatch一、JUC常见类 concurrent代表了并发&#xff0c;这个包下为我们提供了并发编程(多线程)相关的组件. Callable 接口 我们的Callable接口和Runnable是一样的&#xff0c;但也有一些区别: Run…

C/C++实现跨年表白烟花

跨年表白烟花使用c/c实现烟花效果&#xff08;小白进&#xff09;分析诉求&#xff0c;拆分问题头文件贯穿全文的媒体部分文字部分&#xff1a;进入烟花弹部分烟花弹的属性初始化烟花弹让烟花弹飞起来烟花爆炸烟花弹的属性初始化烟花让烟花炸起来完成代码&#xff1a;使用c/c实…

840个最优的机器学习python开源项目整理分享

本资源包含了840个很棒的机器学习开源项目&#xff0c;总共270万颗星分为32个类别。所有项目均按项目质量得分排名&#xff0c;该得分是根据从GitHub和不同程序包管理器自动收集的各种指标计算得出的。资源整理自网络&#xff0c;资源获取见源地址&#xff1a;https://github.c…

三星手机提取微信聊天数据

三星手机提取微信聊天数据的方法&#xff0c;无需root。 注意&#xff0c;暴力破解密码需要英伟达显卡&#xff0c;一小时内破解&#xff0c;无显卡可能要两天。 1. 安装USB驱动&#xff0c;通过S换机助手&#xff0c;备份微信软件至电脑。注意&#xff0c;选择不加密。 三星…

[硬核] Bootstrap Blazor Table 综合演示例子

知识点: 1.导入导出 2.分页功能 3.增删改查 4.批量删除 5.批量编辑(审核) 6.列排序与列搜索 7.顶部搜索实现所有列搜索 8.高级搜索实现多条件搜索 9.顶部与刷新与视图列 10.实现文本类型明细行 11.列的统计 12.隐藏列,时间日期列格式化 13.新窗口打开 14.随机数据 15.自由编辑…

DVWA靶机CSRF全难度(未完)

目录 Low难度 medium难度 Cross Site Request Forgery跨站的请求伪造 原理&#xff1a;利用受害者尚未失效的身份认证信息、会话&#xff1b;诱骗其访问黑客设计号的页面&#xff0c;在受害人不知情的情况下以受害人的身份向服务器发送请求完成非法操作 Low难度 源代码 &l…

十二、RabbitMQ 报错汇总

&#x1f33b;&#x1f33b; 目录一、报版本过低问题一、报版本过低问题 问题&#xff1a; error: Failed dependencies: libcrypto.so.1.1()(64bit) is needed by erlang-25.1.2-1.el8.x86_64 libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) is needed by erlang-25.1.2-1.el8.x86_…

基于模糊控制的自平衡小车的研究

1、内容简介略635-可以交流、咨询、答疑2、内容说明随着人类文明的发展&#xff0c;传感器技术、计算机应用技术、机械学、微电子技术、通讯技术以及人工智能技术也得到了飞速的发展。进入21世纪后&#xff0c;在机器人学和机器人技术领域&#xff0c;自平衡小车已成为其中的重…

LeetCode 2293. 极大极小游戏

【LetMeFly】2293.极大极小游戏 力扣题目链接&#xff1a;https://leetcode.cn/problems/min-max-game/ 给你一个下标从 0 开始的整数数组 nums &#xff0c;其长度是 2 的幂。 对 nums 执行下述算法&#xff1a; 设 n 等于 nums 的长度&#xff0c;如果 n 1 &#xff0c;…

【OpenCV】形态学操作 | 图像平滑 | 边缘检测 | Laplacian算子

Ⅰ. 形态学操作 0x00 腐蚀和膨胀 腐蚀和膨胀是最基本的形态学操作&#xff0c;腐蚀和膨胀都是针对白色部分&#xff08;高亮部分&#xff09;而言的。 膨胀就是使图像中的高亮部分扩张&#xff0c;效果图拥有比原图更大的高亮区域&#xff1b;腐蚀是原图中的高亮区域被蚕食&…

C语言文件补充笔记2:VS查看定义、文件章节涉及到的函数

1 VS查看函数的定义与库的原码 &#xff08;1&#xff09;查看库函数的定义 右击要查看的函数&#xff0c;然后“转到定义” 这里就跳转到了定义的所在文件 在右上角关闭相关文件 &#xff08;2&#xff09; 查看库原码 将鼠标放到导入的库中&#xff0c;然后右击&#…

给数组创建复制(深拷贝)给数组创建复制(深拷贝)

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 数组的深拷贝、浅拷贝、引用拷贝 修改原数组不会影响复制后的数组 numpy.copy() [太阳]选择题 对于以下python代码最后输出的结果是? import numpy as np print("【执行】a np.arang…

awesome平铺窗口使用笔记

这个故事要从vim开始。从入了vim的坑以后&#xff0c;就爱上了平铺窗口模式。在macOS中就开始使用yabai。使用了yabai以后&#xff0c;就很大程序可以用键盘完成大部分操作了。然后我开始用linux&#xff0c;使用的是i3wm。感觉非常不错&#xff0c;几乎就与vim中的窗口管理差不…