首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【保姆级教程】如何在Win11上搭建一个GPU环境

【保姆级教程】如何在Win11上搭建一个GPU环境

作者头像
致Great
发布2024-11-23 10:55:41
发布2024-11-23 10:55:41
1.9K0
举报
文章被收录于专栏:自然语言处理自然语言处理

CUDA和CUDNN安装

CUDA安装

下载对应cuda环境

下载链接:https://developer.nvidia.com/cuda-downloads,图片下载的是 cuda_12.6.1_560.94_windows.exe

然后一路安装即可:

安装路径如下:

CUDNN安装

打开cuDNN下载页面

解压后我们得到以下的目录结构:

我们将文件夹覆盖到上面的CUDA安装目录下,比如我的CUDA的安装目录是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6,将压缩包内对应的文件夹复制到bin、include、lib目录下即可

环境变量配置

然后添加环境变量,鼠标右键此电脑 => 属性 => 高级系统设置 => 环境变量,将CUDA的安装目录添加到CUDA_PATH变量中

然后在PATH中添加以下路径:

代码语言:javascript
复制
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\lib\x64

命令行输入nvidia-smi,能够正确显示各种信息就安装完成了。

WSL以及Ubuntu子系统安装

WSL安装

下载并安装WLS2,

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

运行命令wsl --set-default-version 2设置版本为2

安装 Linux 发行版

默认情况下,安装的 Linux 分发版为 Ubuntu。 可以使用 -d 标志进行更改。

若要更改安装的发行版,请输入:wsl --install -d <Distribution Name>。 将 替换为要安装的发行版的名称。 若要查看可通过在线商店下载的可用 Linux 发行版列表,请输入:wsl --list --onlinewsl -l -o。 若要在初始安装后安装其他 Linux 发行版,还可使用命令:wsl --install -d <Distribution Name>

本机选择的安装: wsl --install -d Ubuntu-20.04

首次启动需要设置用户名,如下:

迁移系统盘
  • 导出系统
代码语言:javascript
复制
wsl --export Ubuntu-20.04 Ubuntu-20.04.tar
  • 注销系统
代码语言:javascript
复制
wsl --unregister Ubuntu-20.04
  • 导入系统
代码语言:javascript
复制
wsl --import Ubuntu-20.04 H:\Ubuntu_WSL Ubuntu-20.04.tar
  • 设置默认用户
代码语言:javascript
复制
Ubuntu2004 config --default-user yanqiang

docker以及nvidia-docker2安装

docker安装

wsl进入系统

配置apt源

sudo vi /etc/apt/sources.list

粘贴如下内容

代码语言:javascript
复制
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu focal stable

更新apt

代码语言:javascript
复制
sudo apt-get update
sudo apt-get upgrade

安装依赖

代码语言:javascript
复制
sudo apt install apt-transport-https ca-certificates curl software-properties-common

安装docker

代码语言:javascript
复制
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

添加用户组

代码语言:javascript
复制
sudo usermod -aG docker $USER

重启docker

代码语言:javascript
复制
sudo systemctl start docker
sudo service docker restart
sudo systemctl restart docker && sudo systemctl enable docker
安装nvidia-docker2

配置源

代码语言:javascript
复制
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list

安装nvidia-docker2

代码语言:javascript
复制
sudo apt update
sudo apt install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

下载Pytorch镜像

配置docker源
代码语言:javascript
复制
{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
    "registry-mirrors": [
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
  ],
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false
}
下载docker镜像

下载镜像,选择自己合适的版本

代码语言:javascript
复制
docker pull pytorch/pytorch:2.4.0-cuda11.8-cudnn9-runtime

启动容器

代码语言:javascript
复制
docker run -it --ipc=host --gpus all --name test  pytorch/pytorch:2.4.0-cuda11.8-cudnn9-runtime

进入容器之后,检查cuda是否可用

上面如果报错:

请输入:

代码语言:javascript
复制
# Checks if `cuda` is available via an `nvml-based` check which won't trigger the drivers and leave cuda uninitialized.
CUDA_DEVICE_ORDER="PCI_BUS_ID" PYTORCH_NVML_BASED_CUDA_CHECK=1 CUDA_VISIBLE_DEVICES=0,1,2,3 python -c "import torch;print(torch.cuda.is_available());"

os.environ[“CUDA_DEVICE_ORDER”] = “PCI_BUS_ID” # 按照PCI_BUS_ID顺序从0开始排列GPU设备

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CUDA和CUDNN安装
    • CUDA安装
    • CUDNN安装
    • 环境变量配置
  • WSL以及Ubuntu子系统安装
    • WSL安装
    • 安装 Linux 发行版
    • 迁移系统盘
  • docker以及nvidia-docker2安装
    • docker安装
    • 安装nvidia-docker2
  • 下载Pytorch镜像
    • 配置docker源
    • 下载docker镜像
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档