SLURM 系统入门使用指南

交互式任务

$ srun -N 1 --cpus-per-task=4 -t 5:00 -p gpu
可选参数:
-N <节点数量>
--cpus-per-task=<单进程 CPU 核心数>
--gres=gpu:<单节点 GPU 卡数>
-t <最长运行时间>
-p <使用的分区>
--qos=<使用的 QoS>

在这里插入图片描述


批处理任务

推荐使用批处理方式提交任务,批处理任务模式的核心在于编写一个 SLURM 脚本,模板如下:

#!/bin/bash
#SBATCH -J test                   # 指定作业名
#SBATCH -o test.out               # 屏幕上的输出文件重定向到 test.out
#SBATCH -p gpu                    # 作业提交的分区为 cgpu
#SBATCH -N 1                      # 作业申请 1 个节点
#SBATCH --cpus-per-task=4         # 单任务使用的 CPU 核心数为 4
#SBATCH -t 1:00:00                # 任务运行的最长时间为 1 小时
#SBATCH --gres=gpu:1              # 单个节点使用 1 块 GPU 卡

# 加载运行环境
module load anaconda3

# conda初始化bash
conda init bash

# 重新进入conda环境
source activate

# conda激活自定义环境
conda activate wfenv

# 运行程序
python /gs/home/zzlzoro/test/abc.py

其中第一行表示使用 /bin/bash 来执行脚本,下面通过 #SBATCH 前缀设置服务的各个属性,没有指定的属性将使用默认值,其他属性见官方文档。可以根据自己的需要申请适当的资源。

提交任务

 $ sbatch [BATCH_NAME].slurm

另一个例子

#!/bin/env bash

# file: example.sh

# set the number of nodes
#SBATCH --nodes=2

# set the number of tasks (processes) per node
#SBATCH --ntasks-per-node=4

# set partition
#SBATCH --partition=example-partition

# set max wallclock time
#SBATCH --time=2:00:00

# set name of job
#SBATCH --job-name=example-mpi4py

# set batch script's standard output
#SBATCH --output=example.out

# mail alert at start, end and abortion of execution
#SBATCH --mail-type=ALL

# send mail to this address
#SBATCH --mail-user=user@mail.com

# run the application
srun python example-mpi4py.py

分配式任务:

通过salloc执行创建分配式任务

$ salloc [options] command

如果后面的 command 为空,则执行 slurm 的配置 slurm.conf 中通过 SallocDefaultCommand 设定的命令。如果 SallocDefaultCommand 没有设置,则将执行用户默认的 shell。
salloc主要参数包括:

--core-per-socke=cores
分配的节点需要至少每颗 CPU 核
-I, --immediate=seconds
在 seconds 秒内资源未满足的情况下立即退出。
-J, --job-name=job name
设定作业名
-N, --nodes=minnodes[-maxnodes]
请求为作业至少分配 minnodes 个结点。
-n, --ntasks=number
指定要运行的任务数。请求为 number 个任务分配资源,默认为每个任务一个处理器核。
-p, --partitions=partition name
在指定分区中分配资源。如未指定,则由控制进程在系统默认分区中分配资源。
-w, --nodelist=node name
请求指定的结点名字列表。
-x, --exclude=node name
不要将指定的节点分配作业。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值