windows 部署 mindspore GPU 开发环境

news2024/10/5 12:24:42

基础环境

  • windows 环境: Windows 11
    • 版本:22H2
    • 操作系统版本:22621.2283
  • wsl2: 1.2.5.0
    Docker Desktop: Docker Desktop 4.23.0
    CUDA driver for WSL 版本: 535.104.07

宿主机上的 nvidia 环境如下所示:
在这里插入图片描述

宿主机安装套件

在宿主机上安装 nvidia-container-toolkit

# Acquire version of operating system version
DISTRIBUTION=$(. /etc/os-release; echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$DISTRIBUTION/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit nvidia-docker2
sudo systemctl restart docker

配置 Docker Engine

/etc/docker/daemon.json 中配置,或是在 Docker Desktop -> settings -> Docker Engine 中配置让Docker可以使用 nvidia-container-runtime

  • /etc/docker/daemon.json 中配置方法如下所示
vim /etc/docker/daemon.json

{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
  • Docker Desktop -> settings -> Docker Engine 中配置如下所示
    在这里插入图片描述

获取MindSpore镜像

对于GPU后端,可以直接使用以下命令获取最新的稳定镜像:

docker pull swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-{cuda_version}:{version}

docker pull swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-{cuda_version}:{version}
其中:

  • {version} 对应MindSpore版本,如1.5.0。
  • {cuda_version} 对应MindSpore依赖的CUDA版本,包括cuda10.1,cuda11.1和cuda11.6。
    另外,如果需要获取构建环境或者运行时环境镜像:

运行MindSpore镜像

执行以下命令启动Docker容器实例:

docker run -it -v /dev/shm:/dev/shm --runtime=nvidia swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-{cuda_version}:{tag} /bin/bash

其中:

  • -v /dev/shm:/dev/shm 将NCCL共享内存段所在目录挂载至容器内部;
  • --runtime=nvidia 用于指定容器运行时为 nvidia-container-runtime
  • {tag} 对应上述表格中的标签。
  • {cuda_version} 对应MindSpore依赖的CUDA版本,包括cuda10.1,cuda11.1和cuda11.6。

验证是否成功安装

按照上述步骤进入MindSpore容器后,测试Docker是否正常工作,请运行下面的Python代码并检查输出:

python -c "import mindspore;mindspore.set_context(device_target='GPU');mindspore.run_check()"

如果输出:

MindSpore version: 版本号
The result of multiplication calculation is correct, MindSpore has been installed on platform [GPU] successfully!

在这里插入图片描述

运行程序

写好的程序放在 /dev/shm 目录映射的本机目录下,在容器中执行即可

例如:我将容器的 /dev/shm 映射到了本机的 D:\DockerDesktopWSL\ContainerFile\mindspore 目录
在这里插入图片描述
在容器中执行相关程序即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1032894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【李沐深度学习笔记】矩阵计算(4)

课程地址和说明 线性代数实现p4 本系列文章是我学习李沐老师深度学习系列课程的学习笔记,可能会对李沐老师上课没讲到的进行补充。 本节是第四篇,由于CSDN限制,只能被迫拆分 矩阵计算 矩阵的导数运算 向量对向量求导的基本运算规则 已知…

如何实现线程池之间的数据透传 ?

如何实现线程池之间的数据透传 ? 引言transmittable-thread-local概览capture如何 capture如何保存捕获的数据 save 和 replayrestore 小结 引言 当我们涉及到数据的全链路透传场景时,通常会将数据存储在线程的本地缓存中,如: 用户认证信息透…

灾备系统中的多线程传输功能

多线程传输是指同时使用多个线程进行文件传输,使多个数据包可以同时传输,从而充分利用网络带宽的最大值,提高传输速度。 正常的IE页面文件下载与上传都只有一个线程,有些软件可以实现多线程文件传输,就好像在传输文件…

JDK21你可以不用,新特性还是要了解的

大家好,我是风筝 今年6月份的时候,写过一篇JDK21引入协程,再也不用为并发而头疼了,那时候只是预览版,终于,前两天(2023年9月19日)发布了 JDK21 正式版。 老早就在 YouTube 上订阅了…

在电脑上怎么分类管理笔记?支持分类整理的电脑云笔记软件

对于大多数上班族而言,在使用电脑办公时,随手记录工作笔记是一个非常常见的场景。无论是会议纪要、工作总结还是项目计划,记录下每一次思考和灵感是提高工作效率的关键。然而,随着时间的推移,电脑上记录的笔记内容逐渐…

OceanMind海睿思入选弯弓研究院《2023中国营销技术生态图谱8.0》

近日,由国内MarTech领域知名机构 弯弓研究院 主办的第五届营销数字化大会暨营销科技MarTech交易展在广州成功召开。 本次大会发布了《2023中国营销技术生态图谱8.0版》 (以下简称“弯弓图谱8.0”),中新赛克海睿思 凭借成熟的技术实力成功入选弯弓图谱8.0…

K-最近邻算法

一、说明 KNN算法是一个分类算法,基本数学模型是距离模型。K-最近邻是一种超级简单的监督学习算法。它可以应用于分类和回归问题。虽然它是在 1950 年代引入的,但今天仍在使用。然而如何实现,本文将给出具体描述。 来源:维基百科 …

Docker 安装Redis(集群)

3主3从redis集群配置 1、新建6个docker容器 redis 实例 docker run -d --name redis-node-1 --net host --privilegedtrue -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381 docker run -d --name redis-node-2 --ne…

Fiddler抓取Https请求配置

官网:https://www.telerik.com/fiddler 配置抓取https包 1.Tools->Options->Https,勾选下面。 2.Actions ->Trust Root Certificate.安装证书到本地 3.在手机端设置代理:本机ip如:192.168.1.168 端口号:8888。 4.手机…

有一个新工具,能让程序员变成高手,优雅撸它!

不知道从什么时候开始,程序员这个职位变得家喻户晓,对程序员的印象也从以前的高深莫测变成如今的加班代名词。对于程序员加班,不懂有话要说。 作为大厂的一枚螺丝钉,接到任务的第一时间需要缕清底层逻辑,并随时关注部门…

【2603. 收集树中金币】

来源:力扣(LeetCode) 描述: 给你一个 n 个节点的无向无根树,节点编号从 0 到 n - 1 。给你整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] [ai, bi] 表示树中节点 ai 和 bi 之间有一条…

基于SpringBoot的网上超市系统的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 用户功能实现 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计…

【Java 基础篇】Java网络编程:下载进度监控实现详解

文件下载是许多应用程序的重要功能,而下载进度监控是提高用户体验的关键。在本文中,我们将详细介绍如何使用Java实现文件下载进度监控,以便用户可以实时了解文件下载的进度。 什么是下载进度监控 下载进度监控是一种用户界面元素或功能&…

真白给,太好考了!大爆冷+扩招!

一、学校及专业介绍 太原科技大学(Taiyuan University of Science and Technology)位于山西省太原市,入选了国家中西部高校基础能力建设工程、教育部数据中国“百校工程”,教育部首批新工科研究与实践项目实施高校。 1.1 招生情况 太原科技…

【word格式】mathtype公式插入 | 段落嵌入后格式对齐 | 字体大小调整 |空心字体

1. 公式嵌入 推荐在线latex编辑器,可以截图转 latex 识别率很高 https://www.latexlive.com/home 美中不足,不开会员每天只能用3次识别。 通过公式识别后,输出选择align环境,然后在mathtype中直接粘贴latex就可以转好。 2.公式…

在线人才测评,招聘技术研发类岗位的人才测评方案

企业的发展离不开技术创新,与其他岗位的员工相比,研发岗位创造性强,较为独立,技术专业度高,对研发技术类岗位的招聘,不仅仅是在专业能力方面做要求,还需要从人员素质,潜在能力方面入…

解决方案:TSINGSEE青犀+智能分析网关助力智慧仓储智能化监管

为全面保障物流仓储的安全性与完整性,解决仓库管理难题,优化物流仓储方式,提升仓储效率,降低人工成本,旭帆科技推出智慧仓储AI视频智能分析方案,利用物联网、大数据、云计算等技术,对仓储管理进…

图像形态学操作(连通性、腐蚀、膨胀)

相关概念 形态学操作-腐蚀 参数: img: 要处理的图像kernal :核结构iteration :腐蚀的次数,默认是1 形态学操作-膨胀 参数: img : 要处理的图像kernal : 核结构iteration : 膨胀的次数,默认为1 import cv2 as cv im…

推荐几款实用的项目进度管理软件

做好项目的进度管理是项目经理的重要职责,在这个过程中,并非单凭人力就可以把控。项目进度管理软件出现,成为人们在项目管理过程中最需要的工具之一。一个项目无论大小,都需要一款高效且实用的项目管理工具,对项目流程…

03Nginx的静态资源部署,反向代理,负载均衡,动静分离的配置

Nginx具体应用 部署静态资源 Nginx相对于Tomcat处理静态资源的能力更加高效,所以在生产环境下一般都会将Nginx可以作为静态web服务器来部署静态资源 静态资源: 在服务端真实存在并且能够直接展示的一些html页面、css文件、js文件、图片、视频等资源文件将静态资源部署到Ngin…