测绘学院HPC集群使用手册

集群描述

集群使用slurm作业调度系统,slurm的详细使用方法参考 https://slurm.schedmd.com/quickstart.html

当然也有中文版本的手册,仅供大家下载参考。

申请账号

申请账号地址:

填写申请信息

申请账号后,加入QQ群,等待管理员批复后,在群里发送通知。

登陆集群

账号申请成功后,管理员会把登陆信息,用户名,初始密码在群里发送。

使用ssh类型的软件进行登陆集群
例如: Xshell putty 等工具

注意: 初次登陆集群后,请立刻修改初始密码。在登录成功终端后,使用yppasswd 修改密码

例如: 当前用户为test

集群基本命令

sinfo 集群分区信息查看

PARTITION为分区名

AVAIL为当前分区可用状态,up为已启动。

TIMELIMIT表示作业的时间限制,默认infinite表示无限制。

NODE表示节点数,10表示该分区有10个节点。

STATE为状态信息,idle表示空闲,alloc表示已分配,mix表示已部分分配,down为节点宕机

squeue 集群任务队列查看

以查看所有集群的作业列表,包括作业名,执行用户,运行时间,执行节点,作业ID(唯一)

scancel 取消作业

可以根据squeue 查看到的JODID,取消作业

scancel <jobID>

scontrol show jobID 查看某个作业详细状态

srun 提交作业(交互式)

srun <你的程序>
例如: srun hostname
      srun sleep 60 &
      srun python3 test.py
      srun a.out

注意:交互式提交作业,当前终端关闭的情况下,你的作业会随终端关闭一起退出,如果想关闭终端,不退出作业,可以在srun 后加 & ,或者使用sbatch 提交作业

sbatch 提交作业 (非交互式)

vim test.sh
-------------------------------------------------
#提交普通程序
#!/bin/bash
srun -c32 a.out         #运行程序 #-c 为需要多少核心
--------------------------------------------------
sbatch test.sh

资源定义:
除了使用 srun -c32 定义需要多少核心之外,还可以在脚本中定义资源,以及任务名等选项,更多的参数,参考文档

#/bin/bash
#SBATCH -J jobname       作业名
#SBATCH -o job-%j.log    定义脚本log
#SBATCH -e job-%j.err    定义错误log
#SBATCH -N 1 -n 8        定义资源 这里是一个节点8核心
#SBATCH -P all           指定分区
#SBATCH --gres=gpu:1     使用GPU个数为1
srun <yourPro>

环境变量工具 module

集群中默认安装了一些软件,我们可以直接快速加载这些软件的到任务中。

module avail 查看当前可用环境

module avail

module load 加载环境变量

module load intel/oneapi/2022.0.2

sbatch 脚本中使用

#/bin/bash
#SBATCH -J jobname       作业名
#SBATCH -o job-%j.log    定义脚本log
#SBATCH -e job-%j.err    定义错误log
#SBATCH -N 1 -n 8        定义资源 这里是一个节点8核心
#SBATCH -P all           指定分区
#SBATCH --gres=gpu:1     使用GPU个数为1

module load intel/oneapi/2022.0.2
srun <yourPro>