曙光云使用说明

平台链接

https://ac.sugon.com/ac/home/index.html

控制台界面

曙光云使用说明_第1张图片

创建个人工作目录及上传文件。点击概览页面顶端的 E-Shell 菜单栏,进入所连主机的 Shell 终端。在用户目录下新建个人工作目录,如:mkdir ywj2

曙光云使用说明_第2张图片

安装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
曙光云使用说明_第3张图片

以安装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
曙光云使用说明_第4张图片

登录计算节点

# 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__
曙光云使用说明_第5张图片

进入项目文件即可开始训练

cd ~/ywj/yolov5-colab
python train.py --data data/citrus.yaml --cfg models/yolov5s.yaml  --weights weights/yolov5s.pt --epochs 150 --batch-size 4
曙光云使用说明_第6张图片

查看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
曙光云使用说明_第7张图片

conda命令相关

//换源
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 config --remove-key channels

//新建conda环境
conda create --name maskrcnn_benchmark python=3.7

//查看环境
conda info --env

//清理conda缓存
conda clean -p
conda clean -t

//删除环境
conda remove --name new_env_name --all

//复制环境,这个命令特别有用,假如一个环境有相应版本的PyTorch,那么就可以直接复制环境,再额外安装自己想要的包
conda create --name new_env_name --clone old_env_name 

//导出环境
conda env export > environment.yml

//导入环境
conda env create -f environment.yml

//激活环境
conda activate maskrcnn_benchmark

最后感谢小伙伴们的学习噢~

你可能感兴趣的:(Linux,黑科技,python,linux,conda,深度学习,人工智能)