曙光云DCU使用补充:

主要步骤参考这位博主写的和我的一些补充:

曙光云使用说明_dcu卡___Wedream__的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_43800577/article/details/127918593因为他写的时候比较早,现在这个时间点使用需要更新一些东西,大家对照到需要更改的部分:

从创建虚拟环境这一步开始更改一下:

重点:我是跑的yolov8,需要比较新的python环境,所以这里要选择python3.8(也可也选择3.9、3.10 但是要安装对应版本的Pytorch !)

以py3.8为例:

#创建环境
conda create -n yolov8 python=3.8

#激活环境
conda activate yolov8

本地安装PyTorch1.13(重点)
由于曙光云使用的是国产GPU(即DCU),硬件是基于ROCm的,因此不能适配PyTorch官网下载的包(无法调用DCU),因此只能使用曙光云平台提供的编译好的PyTorch包进行安装。切忌不能使用pip install torch==1.13.0 torchvision的命令直接安装,而应该选择曙光云本地提供的包进行安装。参考此链接:https://ac.sugon.com/doc/1.0.6/11276/general-handbook/compile/pytorch110.html
 


注意这里的目录需要用最新的,以后可能会有更新的,要去询问一下客服不同版本的python对应框架的放置位置~!

本地whl所在目录   (那个博主之前的介绍,这里已经更新到在 dtk-23.10里)

cd /public/software/apps/DeepLearning/whl/dtk-23.10/pytorch

输入:  ls        查看当前的目录情况 

 进入py38查看

cd /public/software/apps/DeepLearning/whl/dtk-23.10/pytorch/py38

 然后进行安装:

pip install torch-1.13.1+git7d2dd01.abi0.dtk2310-cp38-cp38-manylinux2014_x86_64.whl

pip install torchvision-0.14.1+gitf78f29f.abi0.dtk2310.torch1.13-cp38-cp38-manylinux2014_x86_64.whl

 之后就是申请DCU 了:

#查看所在队列
whichpartition

# salloc -p 队列名 -N 1 --gres=dcu:申请DCU的数量
#例如:
salloc -p hebhdnormal -N 1 --gres=dcu:4


#登录节点
# ssh 节点

ssh b01r4n05


#切换rocm编译器版本(加载dtk23.10),跟后续使用GPU的关系很大!

module load compiler/dtk/23.10

 如下:

添加环境变量:

vi  ~/pytorch_env.sh

export
LD_LIBRARY_PATH=/public/software/apps/DeepLearning/PyTorch_Lib/lib:/public/software/apps/DeepLearning/PyTorch_Lib/lmdb-0.9.24-build/lib:/public/software/apps/DeepLearning/PyTorch_Lib/opencv-2.4.13.6-build/lib:/public/software/apps/DeepLearning/PyTorch_Lib/openblas-0.3.7-build/lib:$LD_LIBRARY_PATH


#退出
(ESC + :+ w+ q+! +回车 )         # " !"  有时候需要,有时候不需要


# 记得以后每次登录新的节点时,一定要执行一次source ~/pytorch_env.sh命令,这关系到服务器能不能找到PyTorch
source ~/pytorch_env.sh
#激活环境
source/conda  activate yolov8
#验证
python
import torch
torch.cuda.is_available()
torch.__version__

至此虚拟环境+pytorch  基本环境安装完毕!

另外我遇到好多就是一些其他的库安装不了的问题,这个应该是没有联网,需要向客服申请权限进行联网

最后大家还是用脚本的方式提交作业,客服说命令行运行起来还是有问题的,我在跑程序就是有问题,经常是如下的内核死掉的问题。 

2、批作业提交(除了使用salloc的另一种提交作业的方式)
提示:除了使用salloc的另一种提交作业的方式,这种方式关了网页程序也能在后台跑

参考链接:https://ac.sugon.com/doc/1.0.6/11276/general-handbook/scheduler/sbatch.html

创建test.sh作业文件      注意要根据自己的conda目录,环境更换)

#!/bin/bash
#SBATCH -p hebhdnormal#换成您可以使用的队列
#SBATCH -N 1   #节点数
#SBATCH -n 32   #核心数,与dcu卡数为1:8的关系
#SBATCH --gres=dcu:4    #dcu卡数
#SBATCH -J yolo  #作业名称


source /public/home/acka5kccvb/A/etc/profile.d/conda.sh
conda activate dtk23.10_torch1.13  #换成您的conda环境
source /public/home/acka5kccvb/pytorch_env.sh
module rm compiler/rocm/2.9
module load compiler/dtk/23.10
module list

#修改为您自己的程序执行指令
python mytrain.py

1.作业提交页面选择 : 基础模板

2. 选择有DCU的地区,用调度脚本,选好工作目录以及编辑好的脚本

然后提交作业即可。

提交成功在作业管理里查看作业日志。

新用户最多用两个节点,8个dcu。

这里只改节点数为2,核数64,不改动dcu数即可。如:

最后附加一些命令行的命令:

在Linux中,你可以使用cd命令来改变当前工作目录。要返回上一级目录,可以使用以下命令:
cd ..

这会将当前目录更改为上一级目录。如果你想直接返回到用户的主目录,可以使用:

cd ~


提交作业:sbatch 脚本名
查看作业:squeue
取消作业:scancel 作业号 (作业号:执行squeue,jobid下面的数字)
实时查看输出:tail -f yolo/slurm-11647333.out(作业名字)

另外大家有其他问题可以联系客服工程师,解决问题还是比较快的!

  • 25
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shaun_1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值