我现在经常在实验室服务器上跑程序,而老师要求我们使用SLURM作业管理系统,网上资料零零散散,这篇文章算是一个简单的汇总
1.用户编写作业脚本
2.提交作业
3.作业排队等待资源分配
4.在首节点加载执行作业脚本
5.脚本执行结束,释放资源
6.用户在输出文件中查看运行结果
以下是一些常见的作业资源需求参数,使用#SBATCH -xx xxx
的方式写入脚本中即可
-J,--job-name:指定作业名称
-N,--nodes:节点数量
-n,--ntasks:使用的CPU核数
--mem:指定每个节点上使用的物理内存
-t,--time:运行时间,超出时间限制的作业将被终止
-p,--partition:指定分区
--reservation:资源预留
-w,--nodelist:指定节点运行作业
-x,--exclude:分配给作业的节点中不要包含指定节点
--ntasks-per-node:指定每个节点使用几个CPU核心
--begin:指定作业开始时间
-D,--chdir:指定脚本/命令的工作目录