SLURM作业脚本编写实战指南:从入门到生产级配置
一、为什么需要SLURM脚本?
在高性能计算(HPC)领域,SLURM(Simple Linux Utility for Resource Management)作为主流的作业调度系统,承担着集群资源分配的核心职责。通过编写规范的SLURM脚本,研究人员可以:
1. 精确申请计算资源(CPU/GPU/内存)
2. 实现任务队列管理
3. 自动化作业流程
4. 获得执行日志和性能统计
二、基础脚本框架解析
以下是一个通用型SLURM脚本模板,适用于大多数计算场景:
```bash
!/bin/bash
SBATCH --job-name=my_job 作业名称
SBATCH --output=job_%j.out # 输出日志文件
SBATCH --error=job_%j.err # 错误日志文件
SBATCH --partition=compute 指定计算分区
SBATCH --nodes=2 # 节点数量
SBATCH --ntasks-per-node=16 每节点核心数
SBATCH --time=24:00:00 # 最大运行时间
SBATCH --mem=16G # 内存总量
SBATCH --gres=gpu:2 # GPU资源申请
module purge # 清理环境
module load cuda/11.4 # 加载CUDA工具包