武汉大学超算入门介绍

仅供初次使用借鉴


 

一、申请账号

进入官网申请武大超算,两三个工作日后学生邮箱会收到hpc邮箱,内含:

  • 用户名            seawithstars
  • 初始密码         xxxxxxxx
  • 登录地址         202.114.96.180

二、下载软件

1.PuTTY 

下载地址:PuTTY   连接超算!

 

c16e7dd981b04ce3a4ec9b4c3e300d6c.png

 2.FileZilla

下载地址: FileZilla   传输文件!

0fa86cf202034fdaa90d43d32e748ac5.png


三、连接超算

1.使用PuTTY连接

如图:

77f66261a7074fbeb371c8e097aa0b13.png

  1.  填入登录地址
  2. 输入Sessions名称
  3. Save Sessions     ( 这样下次就不用再次输入登录地址,直接点击新建的Session)
  4. 点击刚才的Session
  5. Open

a7b7b08a2c1b4ae492d647197cdf87dd.pngac4f61b52faa42aabac404f04a321771.png

     6.输入用户名以及初始密码后,即可进入超算中自己的账户,出现以下内容0bc8fdc3cedc4de297e9e17ebf28e030.png

此时我们可以更改初始密码,需要至少一个小写字母一个大写字母。输入:

passwd

  会出现修改密码,按照提示修改即可。

[seawithstars@swarm02 ~]$ passwd
Changing password for user seawithstars.
Changing password for seawithstars.
(current) UNIX password:

其中 seawithstars就是用户名,swarm02就是登录节点,登录节点不允许长时间计算占用资源


2.使用FileZilla进入文件传输

如图:

cf7f423251354310a9906c9ffff4d520.png

现在我们来认识一下武大超算给我们的存储空间:

/home/seawithstars/

  • 文件容量限额 1GB
  • 文件数量限额 10000
  • 目录下的文件长期保存
  • 建议仅用来保存用户的环境变量等设置信息

/project/seawithstars/     其实该地址也可以   /home/seawithstars/project/

  • 文件容量限额 500GB
  • 文件数量限额 500000
  • 目录下的文件长期保存
  • 主要的计算程序和数据存储空间

 


四、配置环境

1.安装miniconda

这里我们参考官方指导:

Conda 在安装(升级)软件包或者使用虚拟环境的时候,需要用到 ~/.conda 和 ~/.cache 目录,因为武大超算 ~/ 目录的容量限制,将这两个目录移动到 ~/project 下面有助于消除因容量限制引起的问题

首先创建文件:

mkdir ~/project/conda_user
ln -s ~/project/conda_user ~/.conda

mkdir ~/project/conda_cache
ln -s ~/project/conda_cache ~/.cache

然后移动文件指向:

mv ~/.conda ~/project/conda_user
ln -s ~/project/conda_user ~/.conda

mv ~/.cache ~/project/conda_cache
ln -s ~/project/conda_cache ~/.cache

下载miniconda

c2ff5b09191d4d42a8865c00d39f77bc.png

 下载后使用FileZilla传输到/project/liuyuhao/  使用PuTTY执行一下命令:

cd project
ls

进入project文件夹并列出所含文件(夹),命令行下会出现:

conda_cache  conda_user  Miniconda3-latest-Linux-x86_64.sh

安装sh文件:

sh Miniconda3-latest-Linux-x86_64.sh

1.会出现一些协议确定,一直点 enter

89ade87215764153a330c1e04d9408be.png

 

2.输入  yes 同意协议

63955249934f495796ffdf90a78b17e4.png

3.选择存储位置,将home 改为 project,然后执行安装并等待

c99167c6795246618d2431b013d92388.png

 a8dbb21e71e1423f86d88de7ae017462.png

 

 

4.安装程序会询问是否在 ~/.bashrc 中加入环境变量控制,选择是,用户每次登录后就可以直接使用这次安装的 miniconda3base环境中

717b1d6d17c04eb589eccbe29783bc48.png

 5.结束安装,出现:

Thank you for installing Miniconda3!

6.验证conda指令,会列出当前的环境

conda env list

558a308afaa84aa1b44de47baff48bbc.png

7.为conda换源,在控制台输入

vim ~/.condarc

 vim是一个编辑器         ~/即/home/liuyuhao/         .condarc是文件名

进入vim之后 点击输入小写 i 复制一下channels然后在控制台点击右键(粘贴)

channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/MindSpore
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/auto
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/biobakery
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/c4aarch64
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/caffe2
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/deepmodeling
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/dglteam
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fermi
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/idaholab
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/intel
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/matsci
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/mordred-descriptor
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/numba
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/ohmeta
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/omnia
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/plotly
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/psi4
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch-lts
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch-test
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch3d
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pyviz
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/qiime2
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/rapidsai
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/rdkit
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/simpleitk
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/stackless
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/ursky
 - defaults
show_channel_urls: true

输入完成后点击 Esc ,随后输入(保存并退出)

:wq

 同理给pip换源

mkdir ~/.pip # 配置文件位置在 ~/.pip/pip.conf(如果不存在创建该目录和文件)
vim ~/.pip/pip.conf  # 打开配置文件,修改如下:

插入

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

 保存并退出即可。

2.创建适用于yolov5的虚拟环境

1.导入yolov5项目(访问github可能需要魔法),项目地址,下载后传输到 /project/liuyuhao/

2.进入yolov5-master文件夹并创建虚拟环境yolo38

cd yolov5-master
conda create -n yolo38 python=3.8

3.输入y确定创建并下载依赖包

1d8de136a1ed41e2b23d22281a952f0f.png

 4.进入虚拟环境

conda activate yolo38

5.安装依赖库文件

如果是使用cpu训练那么可以不用介意使用什么版本的torch,直接pip

如果使用GPU则要查询超算cuda版本对应的torch以及torchvision

 

为避免安装torch出现问题,先手动安装torch,torchvision

 4860919725944516919a1260ae601621.png

 

pip install torch==1.7.0
pip install torchvision==0.8.1

然后再根据requirements安装:

pip install -r requirements.txt

 最后再跑一遍确认所有库安装完成

pip install -r requirements.txt

 6.下载字体文件,yolov5需要字体,下载过程比较慢,在电脑上下载(需要魔法)后移动到超算上

下载路径

移动到

/home/seawithstars/.config/Ultralytics/

7.在登录节点试运行

conda activate yolo38
python train.py

 出现训练过程即可 ctrl+C终止运行

b21e6e5ee0664cd193ab7199b38b393d.png


3.提交训练

使用srun或者sbatch更换节点计算

参见下一章节

 

五、超算相关命令

 

注:学生只能使用hpxg分区        最大使用16个cpu核        最多占用两个节点

 

1.Slurm作业系统

①使用sbatch提交

  • 第一行是脚本语言解释器的路径,一般选择 bash 作为解释器
  • 若干行由 #SBATCH 引导的 Slurm 设置选项
  • 计算程序运行需要设置的环境变量
  • 运行程序的命令
vim yolo.sbatch

 插入:

#!/bin/bash

#SBATCH --partition=hpxg     #申请分区 `hpxg` 的计算资源
#SBATCH --cpus-per-task=15
#SBATCH --ntasks=1

conda init
source ~/.bashrc

cd $SLURM_SUBMIT_DIR
conda activate yolo38
python train.py

添加权限:

chmod +x yolo.sbatch

交互式提交任务

使用srun不会读取#SBATCH 需要指定,like

srun -c 15 yolo.sbatch

非交互式提交任务

sbatch yolo.sbatch

 #SBATCH 指令 ,红色为srun指令

#SBATCH --account=supervisor   #付费账号关联,用户使用收费分区时,需要关联付费账号,supervisor是导师账户名

 

#SBATCH --cpus-per-task==16    #每个任务使用16个cpu核    -c

#SBATCH --gres=gpu:2                #使用2块gpu,小于等于每个节点GPU数量4

#SBATCH --nodes=1                    #使用1个节点

#SBATCH --ntasks-per-node=1    #每个节点有一个任务

#SBATCH --partition=hpxg           #使用hpxg分区

 2.相关指令

①运行以下命令查看计算节点的状态信息

sinfo

其中 STATE 常见的有

  • alloc,节点已经被分配给作业任务
  • down,节点当前不可用
  • drain,节点被管理员设置为退出服务
  • idle,节点当前空闲
  • mix,节点有部分计算资源已被分配,还有部分资源空闲可用

②作业运行状态

squeue

squeue 显示的信息包括以下内容

  • JobID,作业编号

  • PARTITION,作业在哪个分区上运行

  • NAME,作业名称,默认是作业脚本的名字

  • USER,作业的所有者

  • ST,作业当前状态,详见 Job State Codes,常见的有

    • CG 作业正在完成
    • F 作业失败
    • PD 作业正在等待分配资源
    • R 作业正在运行
  • TIME,作业已运行时间

  • NODES,作业占用的计算节点数

  • NODELIST,作业占用的计算节点名

  • (REASON),作业正在等待执行的原因,详见 Job Reason Codes,常见的有

    • AssoGrpCpuLimit 导师名下所有学生正在使用的CPU总数达到了导师开通的CPU数量限额
    • AssoGrpGRES 导师名下所有学生正在使用的GPU总数达到了导师开通的GPU数量限额
    • Priority 作业正在排队等待
    • QOSMinGRES 提交到GPU分区的作业没有申请GPU资源

 

③进入运行节点查看资源占用

ssh 计算节点名
  • 在计算节点上,使用 top 命令可以查看程序使用 CPU 的状况
  • 如果是 GPU 程序,在计算节点上使用 nvidia-smi 命令可以查看程序使用 GPU 的状况
  • 用户有程序正在运行的计算节点才允许登录

④取消作业

如果用户要取消作业,先运行 squeue 命令查询作业编号数字 JobID ,然后运行以下命令取消作业

scancel JobID

如果要取消用户的所有作业

scancel -u 用户名

 六、常见问题

 

问题1:        -bash: conda: command not found

vim ~/.bashrc

最后一行加入:

export PATH=$PATH:/project/liuyuhao/miniconda3/bin

source ~/.bashrc 

 #更新配置文件

问题2:       删除了 .bashrc 或者 .bash_profile 

cp /etc/skel/.bash* ~/

问题3:        提示        ): No such file or directory bad interpreter(/bin/bash

删除yolo.sbatch 重新创建yolo.sbatch,重新提交任务

rm yolo.sbatch
vim yolo.sbatch

 

参考网址:

1.武汉大学超算中心


 

 

 

  • 27
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

樱叶落花

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

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

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

打赏作者

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

抵扣说明:

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

余额充值