当前位置:   article > 正文

Win10自定义路径位置安装WSL2 (Ubuntu 20.04) 并配置CUDA_wsl安装路径

wsl安装路径

目录

C盘默认位置安装Ubuntu

自定义位置安装Ubuntu

确保安装程序已经下载

打开微软商店应用默认安装目录

找到Ubuntu安装包的默认下载位置

复制安装包和相关文件到想要的安装位置

运行安装包,安装Ubuntu

删除原始安装包和相关文件

让Ubuntu快捷启动

其它黑科技

WSL运行状态、开/关机、卸载

WSL已安装发行版信息查询

开机/关机

卸载某个已安装的WSL Linux发行版

Windows下快速访问WSL的文件系统

WSL2 Ubuntu创建新用户并修改默认登录用户

WSL2运行GUI图形界面应用

wslg图形应用内容显示太小的解决方法 

WSL2 Ubuntu 20.04使用NVIDIA CUDA

CUDA基础知识

确定要安装的版本

安装Windows上的NVIDIA GPU驱动

WSL2 Ubuntu安装NVIDIA CUDA工具包

WSL2 Ubuntu安装NVIDIA cuDNN深度学习库

WSL2 Ubuntu安装PyTorch机器学习框架

Linux字符终端基础设施

几个基本概念

Terminal 终端

Console 控制台

Command Line 命令行

Shell 

程序与用户交互的几种方式

CLI 命令行接口

TUI 基于文字的用户接口

GUI 图形用户接口

WebUI 网络用户接口

文本编辑器:Vim/Neovim

Vim是什么

Vim的优势 

博主的Vim/Neovim配置 

终端图片查看器

Terminal Image Viewer

viu

基于gdb的代码调试器

准备待调试的代码

CLI式代码调试器:gdb

TUI式代码调试器:gdb --tui 与 cgdb

WebUI式代码调试器:gdbgui

命令行Markdown渲染器

TUI文件传输器

Midnight Commander

termscp

终端浏览器

Browsh

Carbonyl


watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_20,color_FFFFFF,t_70,g_se,x_16

⚠️⚠️⚠️注意⚠️⚠️⚠️

现在微软推出了Ubuntu22.04的WSL2发行版,22.04和之前的版本有较大变化,目前博主测试了好几种办法,发现只能安装在默认位置。如果安装在其他地方,或者是安装好再移动过去,运行ubuntu.exe时都会报错“文件被加密”。因此本教程不适用于最新的Ubuntu22.04,小伙伴们敬请周知~

如果有自定义位置安装22.04的方法,欢迎大家分享!

C盘默认位置安装Ubuntu

✅请参考该教程,非常详细:Windows 10安装 WSL2 (Ubuntu 20.04)icon-default.png?t=N7T8https://blog.csdn.net/weixin_45579994/article/details/113896240?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

✅以下链接是微软官方文档给出的手动安装方法,步骤和上面的教程一致:

旧版 WSL 的手动安装步骤 | Microsoft Docsicon-default.png?t=N7T8https://docs.microsoft.com/zh-cn/windows/wsl/install-manual

⚠️注意:如果装在C盘,在应用商店进行launch操作可能会报错如下:

WslRegisterDistribution failed with error: 0xc03a001a

原因是安装包所在的文件夹被压缩处理了,解决方案请见这里

自定义位置安装Ubuntu

⚠️⚠️⚠️注意⚠️⚠️⚠️

请在微软应用商店搜索时务必输入全名Ubuntu20.04。

现在微软推出了新的Ubuntu 22.04的WSL2发行版,应用商店默认的Ubuntu版本号已经更新至22.04。目前发现,改变22.04的安装位置可能导致虚拟机无法启动。

因此,请确保下载的版本是Ubuntu 20.04。

自定义位置安装过程与C盘安装教程相似。最大区别在于,我们按照教程官方文档从微软商店下载Ubuntu之后,不要点击“启动”,而是要将安装包复制到我们想要的位置,之后Ubuntu就会被安装到该位置。具体步骤如下。

确保安装程序已经下载

首先,请按照教程官方文档从头进行下去,一直到从微软商店下载好Ubuntu20.04为止(请在微软应用商店搜索时务必输入全名Ubuntu20.04,且下载完毕后不要点“启动”)。在从微软商店下载好Ubuntu20.04之后,在开始菜单会出现类似下图的图标,这就是刚刚下载的Ubuntu20.04安装程序。

在按照教程复制完安装程序,并且完成Ubuntu安装后,我们可以右键图标,将这个原始安装包卸载。

⚠️注意:现在请不要卸载!

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_15,color_FFFFFF,t_70,g_se,x_16

打开微软商店应用默认安装目录

使用微软商店下载的应用安装包会默认保存在C:\Program Files\WindowsApps目录下。

如果发现没有权限打开C:\Program Files\WindowsApps文件夹,可以用PowerShell(管理员权限运行)的命令打开,对应的操作为:

cd "C:\Program Files\WindowsApps"

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTk3Mzc3NA==,size_16,color_FFFFFF,t_70

找到Ubuntu安装包的默认下载位置

Ubuntu安装包默认保存在WindowsApps目录下的某个文件夹里。文件夹名称的开头应该类似于CanonicalGroupLimited

寻找当前目录下以CanonicalGroupLimited开头的文件夹:

dir CanonicalGroupLimited*

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTk3Mzc3NA==,size_16,color_FFFFFF,t_70

可能会有多个类似的文件夹,依次查看这些文件夹:

dir CanonicalGroupLimited(不要回车执行)

然后按多次tab键,可以在这些类似的文件夹名之间切换。切换到你想要查看的文件夹,回车执行命令。如果文件夹里面有ubuntu<版本号>.exe文件,这就是我们要找的文件夹。

ubuntu<版本号>.exe就是Ubuntu的安装程序;安装完成后,该程序还可用来启动或访问Ubuntu。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTk3Mzc3NA==,size_16,color_FFFFFF,t_70

复制安装包和相关文件到想要的安装位置

⚠️注意:你想要安装Ubuntu的位置必须存在,否则接下来的复制操作会报错:

Copy-Item: Container cannot be copied onto existing leaf item.

如果我们想把Ubuntu安装在F盘的“ubuntu2004”文件夹下,就得确保这个文件夹存在。如果不存在,就要手动创建:

mkdir F:\ubuntu2004

接着,把安装包所在文件夹下的所有文件复制到你想要安装Ubuntu的文件夹。对应的命令行操作为:

cp <安装包所在的文件夹名>\* <你想要安装ubuntu文件夹的路径>

举个例子,这里我们将安装包和相关文件复制到了F盘的“ubuntu2004”文件夹下:

20210524145510708.png

运行安装包,安装Ubuntu

打开复制到的文件夹,双击运行ubuntu<版本号>.exe即可,等待ubuntu系统初始化。初始化完毕后,按照C盘安装教程第8步配置好用户名和密码,完成安装。

⚠️注意:

在第一次运行ubuntu<版本号>.exe时,如果出现如下异常情况之一:

  1. 出现一个黑窗口,输出一些信息(或没有输出信息)后卡住,没有出现正常的用户创建流程。
  2. 没有出现创建新用户的提示,而是直接作为root用户登录了。

请不用惊慌,按照以下顺序进行错误排查:

  1. 是否按照官方文档进行了步骤1~5?
  2. 下载安装时需要在应用商店搜索全名Ubuntu20.04,教程暂时不支持最新推出的Ubuntu22.04。
  3. 如果1、2均确认无误,电脑上是否安装过Vmware或VirtualBox?

如果排查出问题1、2,请参考“WSL运行状态、开/关机、卸载”一节,卸载掉刚刚安装的WSL Ubuntu发行版(如果卸载时发现刚刚并没有安装成功,则不用卸载),然后从头开始走一遍教程即可。

如果出现异常现象2,且没有排查出问题,请保持当前root用户的登录状态,然后参考下文“WSL2 Ubuntu创建新用户并修改默认登录用户”一节进行解决即可。解决后应当不影响日后的正常使用,如果出现问题欢迎反馈给博主~

如果排查出问题3,博主尚未深入研究过,请通过评论或私聊反馈给博主~

最终,目录下会多出一个vhdx虚拟硬盘文件,它就是Ubuntu WSL2虚拟机挂载的“硬盘”。在WSL2 Ubuntu虚拟机中下载资源、安装软件,都会让这个虚拟硬盘文件变大

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTk3Mzc3NA==,size_16,color_FFFFFF,t_70

安装结束后,安装目录中的ubuntu<版本号>.exe就是Ubuntu的启动/访问程序

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_20,color_FFFFFF,t_70,g_se,x_16

删除原始安装包和相关文件

正如教程开篇提到的,在开始菜单中可以找到原始安装包的应用图标,右键将其卸载。卸载后Ubuntu从微软商店的已安装列表中消失。

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_15,color_FFFFFF,t_70,g_se,x_16

让Ubuntu快捷启动

从此,安装目录中的ubuntu<版本号>.exe就是Ubuntu的启动程序,我们把它添加到开始菜单。

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_20,color_FFFFFF,t_70,g_se,x_16

 以后可以直接从开始菜单打开Ubuntu,也可以通过Windows键+S键直接搜索ubuntu打开: ​

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_20,color_FFFFFF,t_70,g_se,x_16watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_20,color_FFFFFF,t_70,g_se,x_16

​对于那些安装了Windows Terminal的小伙伴,Ubuntu会自动添加至其中:

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_19,color_FFFFFF,t_70,g_se,x_16

如果发现Windows Terminal的下拉列表里没有这个项目 ,那代表它被自动隐藏了。我们点击“设置”后应当能在左侧边栏找到它。将其取消隐藏,然后保存设置。

3455d233cd944441b74aa2b22e752e26.png

其它黑科技

WSL运行状态、开/关机、卸载

本节用到的wsl命令参考自官方文档:

Basic commands for WSL | Microsoft DocsReference for the basic commands included with Windows Subsystem for Linux (WSL).icon-default.png?t=N7T8https://docs.microsoft.com/en-us/windows/wsl/basic-commands

WSL已安装发行版信息查询

WSL可以安装多个Linux发行版(如Ubuntu、Kali等等)。操作系统由内核+外围程序组成,Linux是操作系统内核的名字,由基于Linux内核的软件组成的操作系统叫做Linux发行版(如Ubuntu、Kali等等)。

我们可以打开powershell,通过以下命令查询机器上安装的所有发行版:

wsl --list --verbose

 输出一张表格,分别记录了WSL中每一个Linux发行版的名称(NAME)状态(STATE)版本(VERSION)

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_20,color_FFFFFF,t_70,g_se,x_16

  • NAME:发行版的名称。
  • VERSION:发行版所用WSL技术的版本。若VERSION一栏的值为2,代表该发行版使用了WSL2技术;若为1,则该发行版使用WSL1技术。
  • STATE:发行版的运行状态。每个发行版都有两个运行状态——运行中(Running)已停止(Stopped)。前者可以理解为“开机”状态,而后者则为“关机”状态。

开机/关机

WSL中,Linux发行版的开机/启动方法非常简单,只需要运行该发行版的安装-启动程序即可。

关机操作,在powershell中执行以下命令来关闭某一个linux发行版:

wsl --terminate <发行版名称>

或者关闭所有发行版:

wsl --shutdown

⚠️注意:发行版开机后,只要不手动执行关机操作,或者不关闭物理机器,它将一直保持开机。物理机器在关闭、重新启动后,发行版会关机。 

卸载某个已安装的WSL Linux发行版

当你确认不再需要某个WSL Linux发行版后,可以执行以下命令将其彻底删除。

⚠️注意:

该操作将会删除指定发行版的所有数据!即使再次重装该发行版,数据也不会回来!

wsl --unregister <发行版名称>

在执行完毕后,检查一下物理机器上现存的所有WSL Linux发行版,已删除的发行版应当不再出现。

wsl --list --verbose

如果您之前为该发行版创建了某些快捷方式(如开始菜单中的“磁贴”、Windows Terminal中的“Profile”、文件浏览器中的“快速访问”等),可以手动将它们删除。

Windows下快速访问WSL的文件系统

在保证Linux发行版正在运行的情况下,在文件浏览器中输入以下路径,即可访问发行版的文件系统:

\\wsl$

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_20,color_FFFFFF,t_70,g_se,x_16

 此时我们可以在左侧边栏中,将路径加入快速访问(“固定到快速访问”功能也可能是在上方的文件夹工具栏里,不同系统貌似不一样,找不到的话可以百度一下)。

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_12,color_FFFFFF,t_70,g_se,x_1620210924112119755.png

WSL2 Ubuntu创建新用户并修改默认登录用户

如果您需要在WSL2 Ubuntu中创建一个新的用户,并且以后每次运行WSL2 Ubuntu时,都会默认以这个新用户的身份登录,可以参考本节教程。

首先,使用如下命令手动创建新的用户账号。执行该命令后,会让你输入新用户的密码和一些其他信息。成功创建用户后,/home/目录下将会出现新用户的家目录。

sudo adduser <想要创建的用户名>

新用户创建完成,然后我们将新用户加入sudo群组,这样新的用户可以直接使用sudo命令。成功执行以下命令后,具有sudo权限的新用户账号就算是创建完毕~

sudo usermod -aG sudo <新创建的用户名>

接下来,创建并修改针对该Ubuntu的WSL配置文件。这样一来,我们以后运行这个发行版时,可以默认使用新用户身份登录。以管理员sudo权限,创建或编辑该配置文件:

/etc/wsl.conf

在文件中加入如下内容,保存该配置。

  1. [user]
  2. default=<新创建的用户名>

最后,在Windows系统中打开powershell,手动让该WSL2 Ubuntu发行版停止运行(具体方法请参考“WSL运行状态、开/关机、卸载”一节)。

成功停止运行后,重新运行WSL2 Ubuntu(双击ubuntu<版本号>.exe,或者直接在Windows Terminal中运行)。此时配置文件改动生效,应当默认登录为新的用户。

WSL2运行GUI图形界面应用

微软在Github上发布了wslg项目,旨在为WSL2提供更加自然的GUI图形界面支持,并且提到wslg可以通过安装虚拟GPU驱动来得到物理GPU的加速。

⚠️注意:

该功能对windows系统版本有要求。按下Windows键+R键后,在弹出的“运行”窗口中输入winver,可以快速查询系统版本。

系统要求 Windows 10 Insider Preview build 21362+(wslg项目README描述)或 Windows 11 Build 22000+(微软官方文档描述)。大家可以通过参加Windows预览体验计划升级系统。

wslg在Github的项目地址:

GitHub - microsoft/wslg: Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios

微软官方文档:

Run Linux GUI apps with WSL | Microsoft Docs

博主的win11按照官方文档的描述升级了WSL2的GUI支持。使用上的效果就是,在WSL2的Linux发行版命令行中打开某个GUI图形界面应用(如xterm)后,windows系统会打开一个新的窗口,窗口中运行着该应用,可以进行图形界面的交互。

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_20,color_FFFFFF,t_70,g_se,x_16

wslg图形应用内容显示太小的解决方法 

当Windows系统设置了显示内容放大,并且放大倍数是整数时(如100%、200%等),wslg会按照相应的放大倍数放大GUI的内容。但若放大倍数不是整数(如125%、150%等),wslg默认不会对GUI内容进行非整数倍放大。本节第一幅图片便是没有放大的效果。

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_20,color_FFFFFF,t_70,g_se,x_16

 我们需要以管理员权限运行linux发行版,然后新建wslg的配置文件.wslgconfig

touch /mnt/c/ProgramData/Microsoft/WSL/.wslgconfig

然后在文件中添加如下内容,来打开非整数倍放大功能:

  1. [system-distro-env]
  2. WESTON_RDP_DISABLE_FRACTIONAL_HI_DPI_SCALING=false

 最后,对发行版进行“关机”“开机”操作,使改动生效。下图是修改配置后的效果:

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAX19YV0gxOTk5X18=,size_20,color_FFFFFF,t_70,g_se,x_16

参考的Github回答:

WSLg does not seem to support fractional scaling · Issue #23 · microsoft/wslg · GitHub

WSL2 Ubuntu 20.04使用NVIDIA CUDA

作为一个虚拟机,WSL2居然可以访问到物理宿主机的GPU设备,博主之前还没听说过有哪家公司的虚拟机可以做到这一点。如果WSL2当真可以做到,并且性能可以接受的话,那真是科研党的福音!

⚠️注意:

  1. 该功能对windows系统版本有要求。系统要求Windows 11Windows 10, version 21H2
  2. 关于支持在WSL2上运行CUDA的显卡型号,NVIDIA文档中只保证了GeForce系列和NVIDIA RTX/Quadro系列显卡支持此功能。文档并未提及其他系列和型号的显卡,可以自行尝试按教程配置,但有可能失败。

微软撰写的为WSL2启用GPU加速的官方文档。该文档记载了WSL2使用NVIDIA CUDA(需要NVIDIA品牌的GPU)和DirectML(GPU不限品牌,AMD/Intel/NVIDIA都可,但需要支持DirectX 12技术)的方法:

GPU acceleration in WSL | Microsoft Docs

在本节中我们主要介绍WSL2 Ubuntu 20.04使用Nvidia CUDA的操作方法,遵循NVIDIA公司给出的官方教程:

CUDA on WSL :: CUDA Toolkit Documentation (nvidia.com)

CUDA基础知识

CUDA(Compute Unified Device Architecture)是由NVIDIA开发的一个并行计算平台和一种并行编程模式,旨在为NVIDIA的GPU提供通用的计算能力

具体说来,CUDA是NVIDIA为他们公司自己的GPU开发的一套“工具库和工具程序”,它将复杂的底层GPU驱动接口封装起来,只暴露出一套自己的接口给上层应用。你只需要在自己的代码(如C++、Fortran等)中按照规则调用CUDA,再经过CUDA专用编译工具(如nvcc等)的翻译,最终的可执行程序就可以使用GPU进行计算了。

用来解决问题的上层应用

科研人员或程序员使用TensoFlow、PyTorch等深度学习框架来解决某些复杂问题,并且需要GPU提供算力。

TensoFlow、PyTorch等深度学习框架

这些深度学习框架需要调用一些基础的“获得CUDA支持、编译好的C++等程序”,并把它们包装成高级语言的接口,供上层应用调用。

C++、Fortran等程序

深度学习框架开发人员在程序代码中嵌入cuDNN或者CUDA相关的代码(即在代码中调用cuDNN和CUDA暴露出的简单接口),然后源代码经过nvcc等编译器翻译为底层GPU驱动程序能看懂的机器码。

cuDNN

NVIDIA将一些复杂的深度学习算法和数据结构用CUDA提供的接口实现,然后暴露出简洁的接口给上层应用。

CUDA

NVIDIA将自己设计的GPU的复杂底层驱动接口封装起来,暴露出一套简洁、专用的接口给上层应用,

nvcc等CUDA专用编译器

专用编译器将程序代码中内嵌的CUDA代码翻译为底层GPU驱动程序能看懂的机器码。

NVIDIA GPU驱动程序

底层的显卡驱动程序会根据机器码给的指令,操控显卡进行动作。

NVIDIA GPU物理设备

显卡,手能触碰到的物理设备。显卡上的电路根据指令进行动作。

确定要安装的版本

从物理设备开始一直到上层应用,CUDA有一条复杂的软件版本依赖链。我们通常从自己电脑的物理GPU型号开始,确定每个环节的软件版本:

GPU物理设备的型号——决定——>GPU驱动的版本号对应关系
GPU驱动的版本号——决定——>CUDA的版本号对应关系
CUDA的版本号——决定——>cuDNN的版本号对应关系
CUDA的版本号,同上——决定——>PyTorch等深度学习框架的版本号对应关系

举个例子(这一步只是先确定版本,还没到安装环节。后面有具体的安装教程,别着急哟~)

  1. 确定要安装的显卡驱动版本——博主的笔记本电脑是2018年购买的联想拯救者R720,显卡型号是NVIDIA GeForce GTX 1050 Ti,在官方下载地址可以查询并下载显卡驱动。博主是2021年配置的CUDA,因此使用的是当时最新的470.14版本显卡驱动。大家可以选择更新的版本。

    8df1235f86ca46919e575810abc6bf12.png

  2. 确定要安装的CUDA版本——在2022年12月22日查表可知(表格的截图在下面),470.14的NVIDIA显卡驱动(一定要看表格中Windows那一列哦,我们的显卡驱动是装在Windows上面的)应当兼容CUDA 11.0到CUDA 11.8的所有版本。但是在470.14驱动发布的当年,最新的CUDA版本也只开发到了CUDA 11.3,2021年的博主只能安装CUDA 11.3。大家可以选择表格中记录的新CUDA版本。⚠️注意:安装最新的CUDA并不一定是个好主意,因为有可能其他上层应用还没来得及对其进行适配。比如在2022年8月3日,CUDA已经发布到了11.7版本,但PyTorch最高仍然只支持CUDA 11.6(详见下面的4)。
    26d56c6e97a04461986db6d77b9c2ebb.png
    安装完显卡驱动,在命令行执行nvidia-smi.exe,可以查看驱动支持的 最高CUDA版本。上图中显示的是 CUDA Version: 11.3,表示该驱动开发出来时最高支持CUDA 11.3
    2022年12月22日,该表格列举了每个“CUDA版本”要求的最低“Windows显卡驱动版本”
    一定要看表格中Windows那一列哦,我们的显卡驱动是装在Windows上面的~
  3. 确定要安装的cuDNN版本——在2022年8月3日查表可知,cuDNN 8.4.1可以兼容所有CUDA 11的版本(GPU型号的算力要不低于3.5)2021年博主配置环境的时候,cuDNN最新才发布到8.2.1,因此当时博主使用了cuDNN 8.2.1。大家可以选择表格中写的更新的版本。

    a87a2883972345ec902bd1bdff2fc673.png

  4. 确定要安装的PyTorch版本——(不需要PyTorch的话可以不看)在2022年8月3日查表可知,PyTorch1.12.0有三种支持CUDA的版本,分别最高支持到CUDA 10.2 / CUDA 11.3 / CUDA 11.6。由于博主的CUDA版本是11.3,我使用更接近的最高支持CUDA 11.3的PyTorch。大家可以选择更新的版本。

    3fb0375fd7dc4fc691d49c366129a9b3.png

 总结下来,博主的CUDA配置清单如下,大家也可以整理一下自己要安装的软件清单:

物理显卡型号NVIDIA GeForce GTX 1050 Ti
显卡驱动版本号470.14
CUDA版本号11.3
cuDNN版本号8.2.1

PyTorch版本号

(不用的话可以不装)

1.12.0-gpu-cuda113

 明确了要安装软件的版本,接下来就可以正式进入下载安装环节啦~

安装Windows上的NVIDIA GPU驱动

按照NVIDIA给出的教程,首先需要安装Windows平台上的NVIDIA显卡驱动。

⚠️注意:

  1. 如果Windows系统已经安装了NVIDIA显卡驱动,据不可靠消息来源报道,显卡驱动版本在455.41以上的话,应当可以支持此功能(如果后面运行CUDA失败,还请卸载CUDA,然后更新显卡驱动到最新)。
  2. 如果已经有NVIDIA显卡驱动,可以按Windows键+S键,搜索系统里安装的NVIDIA的显卡管理程序(如GeForce Experience,它在任务栏也会显示图标),通过它升级显卡驱动。

如果系统里没有装过NVIDIA显卡驱动,或想要手动更新的话,请在官方下载地址下载安装最新的、符合自己显卡型号WIndows显卡驱动(“操作系统”一定要选择Windows,而不是Linux)。举个例子,假如电脑显卡是GTX1050ti(笔记本版),操作系统是Windows 11,下图是应该选择的显卡驱动配置:

b2df2a5348e34ebe966bbbb68200620a.png

 配置完毕后,点击“搜索”,查找最新的显卡驱动。搜索出结果后,点击“下载”,会弹出文件下载窗口。

4b661bfe616f41168b02d6d2b47c0b5f.png

 如果觉得浏览器下载太慢,可以复制下载链接到迅雷或者其他下载器:

865ec91a6c9841328a5ad1e3af0662a4.png

下载完毕后,运行安装程序。一般来说,按照推荐选项安装即可。 安装完毕后,重启电脑

8e39ee347b1402788fa30c75135d1eae.jpeg
安装过程,图片来源于网络

安装完毕后,可以在命令行执行nvidia-smi.exe检查显卡驱动信息,正常输出则安装正确。如果无法直接找到这个可执行文件,可以在命令行输入它的(默认)安装位置。

'C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe'

9f8b8a9720f146748019c27e045375b0.png

WSL2 Ubuntu安装NVIDIA CUDA工具包

当我们在Windows上安装完NVIDIA显卡驱动后,下一步就是安装CUDA的核心本体——CUDA工具包。CUDA工具包囊括了CUDA的相关工具库文件和工具程序,如nvcc编译器等。拥有了CUDA工具包,我们就可以在程序代码中嵌入CUDA语句来方便地使用GPU,然后通过CUDA的编译器将代码翻译成可执行文件。本节主要参考来源:CUDA on WSL :: CUDA Toolkit Documentation

⚠️注意:鉴于平台限制,WSL2下的CUDA工具包目前仍有少数功能没有得到完全支持,如CUDA代码的调试器等,详细请见文档

当你进行到这一步时,应该已经清楚自己需要安装的CUDA版本了,我们把要安装的CUDA版本号记作:

<CUDA_MAJOR>.<CUDA_MINOR>

CUDA_MAJOR是CUDA的大版本号,CUDA_MINOR是CUDA的小版本号

假如说我们要安装CUDA 11.6,那么CUDA_MAJOR=11,CUDA_MINOR=6

打开WSL2 Ubuntu 20.04,执行如下语句来获取NVIDIA CUDA的官方本地安装包仓库。首先,我们根据自己要装的CUDA版本号,依次定义这两个临时环境变量:

  1. export CUDA_MAJOR=大版本号,如11
  2. export CUDA_MINOR=小版本号,如6

由于最近几个月NVIDIA更新了自己apt源的GPG密钥,我们需要先删除它原来过时的密钥:

sudo apt-key del 7fa2af80

接着,下载并安装NVIDIA CUDA的本地安装包仓库:

  1. wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
  2. sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
  3. wget https://developer.download.nvidia.com/compute/cuda/${CUDA_MAJOR}.${CUDA_MINOR}.0/local_installers/cuda-repo-wsl-ubuntu-${CUDA_MAJOR}-${CUDA_MINOR}-local_${CUDA_MAJOR}.${CUDA_MINOR}.0-1_amd64.deb
  4. sudo dpkg -i cuda-repo-wsl-ubuntu-${CUDA_MAJOR}-${CUDA_MINOR}-local_${CUDA_MAJOR}.${CUDA_MINOR}.0-1_amd64.deb

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/128520
推荐阅读
相关标签