WSL2和CUDA踩坑
 
WSL2里可以直接跑cuda了, 目前(2020年10月) 功能可用, 但bug很多, 不够完善
 
 
1. 安装
    主要参考: https://docs.nvidia.com/cuda/wsl-user-guide/index.html
    
    注意:
        1. 目前需要加入windows体验计划, 并选dev通道, 更新到开发版的windows
        2. 开启hyper-v/wsl/虚拟化平台等windows的功能并安好wsl, 可能需要wsl --update更新内核
        3. 只要在windows上安装这一个驱动就可以了 https://developer.nvidia.com/cuda/wsl/download 在WSL2里是不需要安驱动的.
   4. 在wsl里安cuda的话是用: cuda-toolkit-11-1 
Do not choose the cuda, cuda-11-0, or cuda-drivers meta-packages under WSL 2 since these packages will result in an attempt to install the Linux NVIDIA driver under WSL 2.
 
2. 常见问题
 
    1. DNS有问题
        在/etc/resolv.conf 里加自已的dns可暂时解决
        永久解决要新建/etc/wsl.conf文件内容如下:
    [network]
    generateResolvConf = false
   删掉 原来的 /etc/resolv.conf (这是个链接) 换成好用的dns设置
 
    2. 太占C盘空间
        最简单的移动方法, 找到wsl2的ext4.vhdx文件在哪:  
        一般在类似这种地方:  C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
        把ext4.vhdx移到其它盘, 再作一个SymbolLink就可以了 New-Item -ItemType SymbolicLink -Path . -Name ext4.vhdx -Target $newLocation
 
    3. wsl读写速度慢
        和wsl1不同现在的/mnt/下的碰盘访问走的是网络, 在读写大量小文件时慢的怀疑人生. 尽量用本地的盘吧
 
    4. wsl扩容
        wsl2默认只有256G的大小, 可以直接用hyper-v中的磁盘工具给ext4.vhdx扩容. 再到wsl里重新给/划空间
           sudo resize2fs /dev/sdb <sizeInMegabytes>G
 
    5. wsl2和代理工具Proxifer互相冲突 [ 参考的对象类型不支持尝试的操作 The attempted operation is not supported for the type of object referenced ].
 

问题:
参考的对象类型不支持尝试的操作。(The attempted operation is not supported for the type of object referenced.)
解决方法:

1. 临时解决方案(不推荐):
以管理员身份运行CMD,输入:

netsh winsock reset (不过这样Proxifer就废了)

重启计算机即可修复。

2. 比较长期解决的方案(推荐):
(使用到目前,仍未出现问题)

(1)下载此软件:
www.proxifier.com/tmp/Test20200228/NoLsp.exe

(因需要梯子访问下载,有些朋友不方便,所以我上传到百度云分享在这里:)
(链接:https://pan.baidu.com/s/1bVZ0OXZPxEt8l1IHYaFK3A ,提取码:vjge)

(2)管理员身份运行CMD输入:
NoLsp.exe C:\windows\system32\wsl.exe
1
请自行注意NoLsp.exe程序的位置,以及你的wsl.exe位置。
产生原因和解决方法分析:
代理软件和wsl2的sock端口冲突,使用netsh winsock reset重置修复。
Proxifer开发人员解释如下:

如果Winsock LSP DLL被加载到其进程中,则wsl.exe将显示此错误。最简单的解决方案是对wsl.exe使 用WSCSetApplicationCategory
WinAPI调用来防止这种情况。在后台,该调用在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog中为wsl.exe创建一个条目。
这将告诉Windows不要将LSP DLL加载到wsl.exe进程中

 
 
 

WSL2和CUDA踩坑的更多相关文章

  1. Ubuntu16.04编译安装tensorflow,2018最新血泪踩坑之后的全面总结!绝对成功!【转】

    本文转载自:https://blog.csdn.net/pzh11001/article/details/79683133 大家好,我是 (深度学习硬件DIY总群)(719577294)群主:    ...

  2. Pytorch及Yolov5环境配置及踩坑

    Pytorch及Yolov5环境配置及踩坑 1.何为Yolov5 yolo是计算机视觉方面用来进行目标检测的一个十分出名的开源框架,我搜不到官方的对此概括性的定义,但实际上也没什么必要,更重要的是会使 ...

  3. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

  4. Spark踩坑记——数据库(Hbase+Mysql)

    [TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...

  5. 【踩坑速记】二次依赖?android studio编译运行各种踩坑解决方案,杜绝弯路,总有你想要的~

    这篇博客,只是把自己在开发中经常遇到的打包编译问题以及解决方案给大家稍微分享一下,不求吸睛,但求有用. 1.大家都知道我们常常会遇到dex超出方法数的问题,所以很多人都会采用android.suppo ...

  6. NPOI导出Excel (C#) 踩坑 之--The maximum column width for an individual cell is 255 charaters

    /******************************************************************* * 版权所有: * 类 名 称:ExcelHelper * 作 ...

  7. 我的微信小程序入门踩坑之旅

    前言 更好的阅读体验请:我的微信小程序入门踩坑之旅 小程序出来也有一段日子了,刚出来时也留意了一下.不过赶上生病,加上公司里也有别的事,主要是自己犯懒,就一直没做.这星期一,赶紧趁着这股热乎劲,也不是 ...

  8. router路由去掉#!的踩坑记

    项目中在研究去掉router#!的过程中的踩坑过程.

  9. vue+ vue-router + webpack 踩坑之旅

    说是踩坑之旅 其实是最近在思考一些问题 然后想实现方案的时候,就慢慢的查到这些方案   老司机可以忽略下面的内容了 1)起因  考虑到数据分离的问题  因为server是express搭的   自然少 ...

随机推荐

  1. python的命名规则

    命名规则:大小写字母,数字,下划线和汉字等字符及组合 注意事项:大小写敏感,首字符不能是数字,不与保留字相同 Python语言有33个保留字(关键字) 如:if ,elif, else ,in 33个 ...

  2. Java中toCharArray()方法

    Java中 toCharArray() 方法详解 <Thinking in Java>Chapter11中存在下列代码 package holding; import java.util. ...

  3. 配置静态 IP、网卡命名规范

    一.网卡命名规范(设备类型 + 设备位置 + 数字) 设备类型: 格式 描述 en 以太网(Ethernet) ib 无限宽带(InfiniBand) sl 串列线路互联网协议(slip:Serial ...

  4. 【Unity 插件】Lean Pool 使用

    2020-09-11 Lean Pool 是一个轻量级的游戏对象池库,它可以轻松的帮助你的游戏提高性能.当然,Lean Pool也可以工作于普通的C#类. 目录: 1.Lean Pool使用 2.Le ...

  5. robotframework获取Token

    公司做接口自动化,但是其他接口调用都需要传入token,所以首要目标是把token读取出来. 需要清楚以下内容: 1.登录使用post请求 2.https协议,且登录后需手工验证SSL证书,默认处于不 ...

  6. vue项目工程中npm run dev 到底做了什么

    1. npm install 安装了webpack框架中package.json中所需要的依赖 2.安装完成之后,需要启动整个项目运行,npm run 其实执行了package.json中的scrip ...

  7. vulnhub靶机之Quaoar

    Quaoar 靶机非常简单. 扫描端口主机. wordpress建站. 扫到两个用户,分别是wpuser以及admin. 爆破出了后台: 传了一个一句话木马,连上蚁剑又传了个反弹shell. 反弹sh ...

  8. 将SublimeText3打造成简易Java IDE

    简介与优点 使用该教程,你能使你的Sublime Text3可以作为一个精简版的JAVA IDE工具 既可以独立在cmd控制台运行也可以在Sublime自带的控制台运行 运行后不会有乱码 报错后可以在 ...

  9. YOLOv4: Darknet 如何于 Ubuntu 编译,及使用 Python 接口

    本文将介绍 YOLOv4 官方 Darknet 实现,如何于 Ubuntu 18.04 编译,及使用 Python 接口. 主要内容有: 准备基础环境: Nvidia Driver, CUDA, cu ...

  10. 分页查询对象Page

    1 public class Page { 2 //当前页码 3 private Integer pageNo = 1; 4 //每页显示条数 5 private Integer pageSize = ...