salloc

申请计算节点,然后登录到申请到的计算节点上运行指令;

salloc的参数与sbatch相同,该部分先介绍一个简单的使用案例;随后介绍一个GPU的使用案例;最后介绍一个跨节点使用案例;

首先是一个简单的例子;

申请一个节点6个核心,并跳转到该节点上运行程序;

salloc -p C032M0128G -N1 -n6 -q low -t 2:00:00
# salloc 申请成功后会返回申请到的节点和作业ID等信息,假设申请到的是a4u03n07节点,作业ID为1078858
ssh a4u03n07      # 直接登录到刚刚申请到的节点a4u03n07调式作业
scancel 1078858   # 计算资源使用完后取消作业
squeue -j 1078858 # 查看作业是否还在运行,确保作业已经退出,避免产生不必要的费用

随后是一个GPU节点的使用案例;

申请一个GPU节点,6个核心,1块GPU卡,并跳转到节点上运行程序;

salloc -p GPU -N1 -n6 --gres=gpu:1 -q low -t 24:00:00
# 假设申请成功后返回的作业号为1078858,申请到的节点是gpu05
ssh gpu05 # 登录到gpu05上调式作业
scancel 1078858  # 计算结束后结束任务
squeue -j 1078858 # 确保作业已经退出

最后介绍一个跨节点使用案例;

申请两个节点,每个节点12个核心

salloc -p C032M0128G -N2 --ntasks-per-node=12 -q low -t 2:00:00
# salloc 申请成功后会返回申请到的节点和作业ID等信息,假设申请到的是a8u03n[05-06]节点,作业ID为1078858
# 这里申请两个节点,每个节点12个进程,每个进程一个核心

# 根据需求导入MPI环境
module load intel/2018.0

# 根据以下命令生成MPI需要的machine file
srun hostname -s | sort -n > slurm.hosts

mpirun -np 24 -machinefile slurm.hosts hostname

# 结束后退出或者结束任务
scancel 1078858

results matching ""

    No results matching ""