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. T和Class以及Class的理解

    转载自https://blog.csdn.net/witewater/article/details/53462385 首先看下Class类 ,普通的非泛型类Class. 注意:class是java的 ...

  2. 写一个简单的 Linux Shell (C++)

    这里可以找到代码 github.com/z0gSh1u/expshell 支持的特性 单条指令的执行 引号引起的参数(如 $ some_program "hello, world" ...

  3. FTP服务端 FTP服务端搭建教程

    FTP服务端搭建教程如下:一.需要准备以下工具:1.微型FTP服务端.2.服务器管理工具二.操作步骤:1.下载微型FTP服务端.(站长工具包可下载:http://zzgjb.iis7.com/ )2. ...

  4. linux内存分配与回收

    前言 之前在实习时,听了 OOM 的分享之后,就对 Linux 内核内存管理充满兴趣,但是这块知识非常庞大,没有一定积累,不敢写下,担心误人子弟,所以经过一个一段时间的积累,对内核内存有一定了解之后, ...

  5. ip子网掩码计算及子网划分

    为什么要懂 子网掩码计算,及子网划分属于网络基础知识.一般在几个地方会用到: 公司避免产生网络风暴而划分子网,帮助路由器判断对应主机是否在同一个网段中 服务器相互隔离而划分子网,一般机房管理人员规划: ...

  6. Artwork (Gym - 102346A)【DFS、连通块】

    Artwork (Gym - 102346A) 题目链接 算法 DFS,连通块 时间复杂度:O(k*n + k * k) 1.这道题就是让你判断从(0,0)到(m,n),避开中途所有的传感器(传感器的 ...

  7. 树莓派3B+安装64位ubuntu系统和docker工具

    想在树莓派3B上安装一些64位应用(例如64位JDK),因此首先要安装64位的操作系统,今天咱们就一起来实战: 原文地址:https://blog.csdn.net/boling_cavalry/ar ...

  8. Centos-yum软件包安装-yum

    yum 自动安装相关软件依赖,可以同时配置多个yum源,初始启动yum时候首先会缓存资源包到 /var/cache/yum目录下 yum确认 -y yum安装和卸载 install 安装,自动安装软件 ...

  9. MCU(Micro Control Unit)中文名称为微控制单元

    参考:http://www.elecfans.com/dianzichangshi/mcu.html 什么是mcu_mcu是什么意思 标签:MCU(471)单片机(3098)微控制器(503) MCU ...

  10. matlab中imfilter、conv2、imfilter2用法及区别

    来源 :https://blog.csdn.net/u013066730/article/details/56665308(比较详细) https://blog.csdn.net/yuanhuilin ...