平台链接
https://ac.sugon.com/ac/home/index.html
控制台界面
![](https://aitechtogether.com/wp-content/uploads/2023/06/8141d77e-1f5f-4b19-a292-27e4c59eea70.webp)
创建个人工作目录及上传文件。点击概览页面顶端的 E-Shell 菜单栏,进入所连主机的 Shell 终端。在用户目录下新建个人工作目录,如:mkdir ywj2
安装MiniConda(推荐)
参考链接:https://ac.sugon.com/doc/1.0.6/11250/general-handbook/software-tutorial/DeepLearning-1.html#1-miniconda%E5%AE%89%E8%A3%85
使用wget下载(下载时间可能有点久)
wget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.9.2-Linux-x86_64.sh -i https://pypi.tuna.tsinghua.edu.cn/simple/
添加权限并运行
chmod +x Miniconda3-py37_4.9.2-Linux-x86_64.sh
mkdir -p ~/miniconda3/
bash Miniconda3-py37_4.9.2-Linux-x86_64.sh -b -f -p "~/miniconda3/"
rm -rf Miniconda3-py37_4.9.2-Linux-x86_64.sh
初始化 conda 环境
~/miniconda3/bin/conda init
source ~/.bashrc
先换个清华源(加速)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
conda创建python3.7环境
conda create -n yolov5 python=3.7
激活环境
conda activate yolov5
本地安装PyTorch1.7(重点)
由于曙光云使用的是国产GPU(即DCU),硬件是基于ROCm的,因此不能适配PyTorch官网下载的包(无法调用DCU),因此只能使用曙光云平台提供的编译好的PyTorch包进行安装。切忌不能使用pip install torch==1.7.0 torchvision
的命令直接安装,而应该选择曙光云本地提供的包进行安装。参考此链接:https://ac.sugon.com/doc/1.0.6/11276/general-handbook/compile/pytorch110.html
本地whl所在目录
/public/software/apps/DeepLearning/whl/dtk-21.04
进入whl所在目录看看
cd /public/software/apps/DeepLearning/whl/dtk-21.04
以安装PyTorch1.8为例(torch1.8和torchvision0.9适配)
# 安装torch
pip install /public/software/apps/DeepLearning/whl/dtk-21.04/torch-1.8.0a0+56b43f4-cp37-cp37m-linux_x86_64.whl
# 安装torchvision
pip install /public/software/apps/DeepLearning/whl/dtk-21.04/torchvision-0.9.0a0-cp37-cp37m-linux_x86_64.whl
根据项目的需求安装其他依赖(记得激活自己的环境再安装)。提示:除了与GPU有关的包(比如torch和torchvision等),其他包我们都可以从网上直接下载,即可以使用pip install numpy
这类命令直接从网上下载,无需曙光云本地提供。
# 安装自己想要的包
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install Pillow
pip install scipy
开始使用
查看所在队列
whichpartition
申请并登录计算节点,进行测试
# salloc -p 队列名 -N 1 --gres=dcu:申请DCU的数量
salloc -p wzhdtest -N 1 --gres=dcu:2
登录计算节点
# ssh 节点
ssh b01r4n05
切换rocm编译器版本(加载dtk21.04),跟后续使用GPU的关系很大!
module switch compiler/dtk/21.04
在本地创建一个pytorch_env.sh的文件,添加环境变量!
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
# 记得以后每次登录新的节点时,一定要执行一次source ~/pytorch_env.sh命令,这关系到服务器能不能找到PyTorch
source ~/pytorch_env.sh
激活conda环境(登录到计算节点后会退出之前的环境,所以需要重新激活环境)
conda activate yolov5
进入环境,查看DCU能不能用,依次执行以下命令
python
import torch
torch.cuda.is_available()
torch.__version__
进入项目文件即可开始训练
cd ~/ywj/yolov5-colab
python train.py --data data/citrus.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt --epochs 150 --batch-size 4
查看DCU状态的命令
hy-smi
【注意】srun和salloc方式使用时需要保持E-Shell页面常开启,否则此终端对应的作业将出现结束。
补充
显卡相关
使用的显卡:海光 DCU (Deep Computing Unit)
- 7nm 工艺,2.5D Interposer SoC 封装
- TDP 300W
- FP64 6.6 TF,FP32 13.1 TF,FP16 26.2 TF
- 16GB HBM2(可支持32GB),带宽 1TB/s
- PCIe 3.0 x16,支持升级到 PCIe Gen4
- 支持 GPUDirect RDMA
- 支持 OpenCL,兼容 CUDA 主流异构编程标准
- 提供 BLAS, FFT, Sparse, Convolutions, Tensor, Softmax, LRN, BN, Activation, Pooling 等库函数
- 已支持 TensorFlow, Caffe, Caffe2, Keras, …
- 比2080TI快一些, 跑训练不如3080。
- 硬件是基于ROCm的
批作业提交(除了使用salloc的另一种提交作业的方式)
提示:除了使用salloc的另一种提交作业的方式,这种方式关了网页程序也能在后台跑
参考链接:https://ac.sugon.com/doc/1.0.6/11276/general-handbook/scheduler/sbatch.html
创建yolo.sh作业文件
#!/bin/bash
#SBATCH -o yolo.out
#SBATCH --partition=wzhdtest
#SBATCH --qos=low
#SBATCH -J myFirstGPUJob
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=6
#SBATCH --gres=dcu:1
module switch compiler/dtk/21.04
source ~/pytorch_env.sh
source ~/miniconda3/etc/profile.d/conda.sh
conda activate yolov5
cd ~/ywj/yolov5-colab
python train.py --data data/citrus.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt --epochs 10 --batch-size 8
提交yolo.sh作业文件
sbatch yolo.sh
文章出处登录后可见!