工作总结加强部门网站建设,学生做网站的软件,网站开发 报刊,软件开发公司怎么找客户1. Win11 显卡驱动的安装
注意#xff1a;WSL2中是不需要且不能安装任何显卡驱动的#xff0c;它的显卡驱动完全依赖于 Win11 中的显卡驱动#xff0c;因此我们只需要安装你显卡对应的 Win11 版本显卡驱动版本#xff08;必须是 Win11 版本的驱动#xff09;#xff0c;…1. Win11 显卡驱动的安装
注意WSL2中是不需要且不能安装任何显卡驱动的它的显卡驱动完全依赖于 Win11 中的显卡驱动因此我们只需要安装你显卡对应的 Win11 版本显卡驱动版本必须是 Win11 版本的驱动这个已经有很多教程了这里就不赘述。如果你安装成功可以在 Win11 的 cmd 中输入 nvidia-smi可以看到下图。
因为 WSL2 中的显卡驱动完全依赖于 Win11 的显卡驱动因此在 WSL2 中输入 nvidia-smi 也可以看到相同驱动版本的输出。 请注意这里的 nvidia-smi 能作用的范围只作用于你 Win11 安装显卡驱动时所登录的那个用户名对应到 WSL2 中的用户名。比如我是在 Win11 (guosongyuan) 用户上安装的显卡驱动那么我只能在 WSL2 的 gsy 用户状态下才能执行该 nvidia-smi 指令root 用户执行该命令是不能生效的。 2. 安装 Docker 和 Nvidia-Docker
安装 Docker 引擎可以参考文档Docker 引擎官方安装教程安装 Docker 引擎之后就可以在其基础上安装 Nvidia-Docker 组件Nvidia-Docker 安装教程。 这两个步骤非常简单如果看不懂英语的话直接用谷歌翻译就好。
3. 选择合适的 CUDA 和 CUDNN 的镜像
使用 Nvidia-Docker 的好处就在于你不需要真的在 WSL 中安装 CUDA 和 CUDNN这样就可以避免在配置不同项目环境时遇到的很麻烦的环境切换问题。我们只要每次遇到一个新的项目拉取对应的 CUDA 和 CUDNN 版本即可即插即用不想用了直接删除对应的镜像和容器即可跟删除软件一样方便。
这里以安装 CUDA 11.2.0 版本为例我们来到 Docker 镜像市场Docker HUB在其中搜索关键字 nvidia/cuda如下图。
点进入在 Tags 中搜索对应的 CUDA 版本注意同一个版本下对应三种不同的类型devel、runtime、base我们推荐安装 devel 版本因为它的环境更齐全我们这里因为 WSL2 是 Ubuntu 20.04 版本的所以我们选择镜像的时候选择 ubuntu20.04 后缀的。 这里以 nvidia/cuda:11.2.0-cudnn8-devel-ubuntu20.04 镜像为例通过 sudo docker pull nvidia/cuda:11.2.0-cudnn8-devel-ubuntu20.04 将镜像拉取下来。
拉取镜像之后我们可以查看当前镜像中的显卡驱动、CUDA版本和 CUDNN 的版本。
查看显卡驱动版本sudo docker run --rm --gpus all nvidia/cuda:11.2.0-cudnn8-devel-ubuntu20.04 nvidia-smi查看 CUDA 版本sudo docker run --rm --gpus all nvidia/cuda:11.2.0-cudnn8-devel-ubuntu20.04 nvcc -V查看 CUDNN 版本因为镜像官方将 CUDA 和 CUDNN 进行了解耦合因此我们需要分两步进行查询操作。首先通过 sudo docker run --rm --gpus all nvidia/cuda:11.2.0-cudnn8-devel-ubuntu20.04 whereis cudnn看到 cudnn.h 所在路径 cudnn: /usr/include/cudnn.h。我们根据这个输出结果把 cudnn.h 之前的 include 路径记住查询该 include 下的 cudnn_verseion.h 文件sudo docker run --rm --gpus all nvidia/cuda:11.2.0-cudnn8-devel-ubuntu20.04 cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2这样就能看到 CUDNN 的版本号了。
4. 利用拉取的镜像构建自己的镜像
我们拉取的镜像中只有最基础的 CUDA 和 CUDNN还没有配置 Anaconda、换源、git 、pip 等常用工具因此我们将这些可能用到的常用工具将其打包好。
为了构建镜像我们在用户目录下创建一个名为 mkimage 的目录在其中放入我们需要的三个内容 Anaconda3-5.2.0-Linux-x86_64.sh、Dockerfile、sources.list其中 sources.list 是用来给 Ubuntu apt 换源用的。
sources.list 内容如下
######################################
###### CONTENT for sources.list ######
######################################deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverseDockerfile内容如下
####################################
###### CONTENT for Dockerfile ######
##################################### Extends from father image
FROM nvidia/cuda:11.2.0-cudnn8-devel-ubuntu20.04# Set locale
ENV DEBIAN_FRONTEND noninteractive# Change anaconda source
# ADD means copy file from host machine to containers
ADD sources.list /etc/apt/
ENV PATH /opt/conda/bin:$PATH# Install basic dependencies
RUN rm /etc/apt/sources.list.d/cuda.list \rm /etc/apt/sources.list.d/nvidia-ml.listRUN apt-get update apt-get install -y --no-install-recommends \bzip2 \g \git \vim \python-dev \python3-pip \build-essential \wget \rm -rf /var/lib/apt/lists/*# Install Anaconda for python 3.6
ADD Anaconda3-5.2.0-Linux-x86_64.sh /home/anaconda.sh
RUN /bin/bash /home/anaconda.sh -b -p /opt/conda \ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh \rm /home/anaconda.sh# Initialize workspace
RUN mkdir /workspace
WORKDIR /workspaceCMD [/bin/bash]其中Anaconda3-5.2.0-Linux-x86_64.sh 可以在 Anaconda Archive 中找到。
然后我们可以通过下列指令制作镜像 my-nvidia/cuda:11.2。
cd ~/mkimage
sudo docker build -f Dockerfile -t my-nvidia/cuda:11.2 .经过漫长的等待我们可以看到一个 Successfully 提示消息证明我们镜像打包成功。
构建完成后我们可以通过下面这个指令进行容器的创建
sudo docker run -it --gpus all --name cuda_11.2 my-nvidia/cuda:11.2 /bin/bash