您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > slurm简明使用手册
Slurm简明使用手册|并行科技股份有限公司0Slurm简明使用手册Slurm简明使用手册|并行科技股份有限公司1目录Slurm作业管理系统....................................................................................................................................................................................................................21sinfo查看系统资源..................................................................................................................................................................................................22squeue查看作业状态.............................................................................................................................................................................................33srun交互式提交作业...............................................................................................................................................................................................44sbatch后台提交作业..............................................................................................................................................................................................55salloc分配模式作业提交........................................................................................................................................................................................66scancel取消已提交的作业....................................................................................................................................................................................67scontrol查看正在运行的作业信息.......................................................................................................................................................................78sacct查看历史作业信息.........................................................................................................................................................................................7Slurm简明使用手册|并行科技股份有限公司2Slurm作业管理系统使用Slurm作业管理系统,当前debug作业队列设置为节点可以共享,但作业独占CPUcore/GPU资源。多个用户可以提交作业到同一个节点上,但是节点上CPUcore/GPU资源只能被单一作业占有使用。作业管理系统常用命令如下:命令功能介绍常用命令例子sinfo显示系统资源使用情况sinfosqueue显示作业状态squeuesrun用于交互式作业提交srun-N2-n48-pdebugA.exesbatch用于批处理作业提交sbatch-N2-n48job.shsalloc用于分配模式作业提交salloc-pdebugscancel用于取消已提交的作业scancelJOBIDscontrol用于查询节点信息或正在运行的作业信息scontrolshowjobJOBIDsacct用于查看历史作业信息sacct-upp100-S03/01/17-E03/31/17--field=jobid,partition,jobname,user,nnodes,start,end,elapsed,state1sinfo查看系统资源sinfo得到的结果是当前账号可使用的队列资源信息,如下图所示:其中,第一列PARTITION是队列名,默认能使用的队列名为debug。第二列AVAIL是队列可用情况,如果显示up则是可用状态;如果是inact则是不可用状态。第三列TIMELIMIT是作业运行时间限制,默认是infinite没有限制。第四列NODES是节点数。第五列STATE是节点状态,idle是空闲节点,alloc是已被占用节点,comp是正在释放资源的节点,其他状态的节点都不可用,mix是该节点有作业在运行或有程序占用cpu导致的。第六列NODELIST是节点列表。Slurm简明使用手册|并行科技股份有限公司3sinfo的常用命令选项:命令示例功能sinfo-ngm26指定显示节点gm26的使用情况sinfo-pdebug指定显示队列debug情况其他选项可以通过sinfo--help查询2squeue查看作业状态squeue得到的结果是当前账号正在运行作业的状态,如果squeue没有作业信息,说明作业已退出。其中,第一列JOBID是作业号,作业号是唯一的。第二列PARTITION是作业运行使用的队列名。第三列NAME是作业名。第四列USER是超算账号名。第五列ST是作业状态,R表示正常运行,PD表示在排队,CG表示正在退出,S是管理员暂时挂起,只有R状态会计费。第六列TIME是作业运行时间。第七列NODES是作业使用的节点数。第八列NODELIST(REASON)对于运行作业(R状态)显示作业使用的节点列表;对于排队作业(PD状态),显示排队的原因。squeue的常用命令选项:命令示例功能squeue-j396查看作业号为396的作业信息squeue-uhutengteng查看集群账号为hutengteng的作业信息squeue-pdebug查看提交到debug队列的作业信息Slurm简明使用手册|并行科技股份有限公司4squeue-wgm26查看使用到cn123节点的作业信息其他选项可通过squeue--help命令查看3srun交互式提交作业srun[options]program命令属于交互式提交作业,有屏幕输出,但容易受网络波动影响,断网或关闭窗口会导致作业中断。srun命令示例:srun-pdebug-wgk[11-15]-N2-n12-t20--gres=gpu:2my_job.sh交互式提交my_job.sh程序。如果不关心节点和时间限制,可简写为srun-pdebugmy_job.sh其中,-pdebug指定提交作业到debug队列;-wgk[11-15]指定使用节点gk[11-15];-N2指定使用2个节点;-n12指定运行的任务数为12,默认情况下一个CPU核一个任务-t20指定作业运行时间限制为20分钟。--gres申请其他通用资源,例如GPU、MIC卡等。参数的值为:“gpu:2”表明需要申请2块GPU显卡资源。注意:提交作业时不显式指定显卡资源,默认情况下不能使用显卡进行计算。即忽略–gres参数,作业只能使用CPU计算资源。Srun的一些常用命令选项:参数选项功能-N3指定节点数为3-n12指定任务数为12,默认一个CPU核一个任务-pdebug指定提交作业到debug队列-wgk[11-15]指定提交作业到gk11/gk12/gk13/gk14/gk15节点-xgm[11-12]排除gm11、gm12节点-oout.log指定标准输出到out.log文件-eerr.log指定重定向错误输出到err.log文件-JJOBNAME指定作业名为JOBNAMESlurm简明使用手册|并行科技股份有限公司5-t20限制运行20分钟--gres=gpu:2为作业分配2块GPU显卡资源(最大值为8)srun的其他选项可通过srun--help查看。4sbatch后台提交作业sbatch一般情况下与srun一起提交作业到后台运行,需要将srun写到脚本中,再用sbatch提交脚本。这种方式不受本地网络波动影响,提交作业后可以关闭本地电脑。sbatch命令没有屏幕输出,默认输出日志为提交目录下的slurm-xxx.out文件,可以使用tail-fslurm-xxx.out实时查看日志,其中xxx为作业号。sbatch命令示例1(4个进程提交A.exe程序):编写脚本job1.sh,内容如下:#!/bin/bashsrun-n4A.exe然后在命令行执行sbatch-pdebugjob1.sh提交作业。脚本中的#!/bin/bash是bash脚本的固定格式。从脚本的形式可以看出,提交脚本是一个shell脚本,因此常用的shell脚本语法都可以使用。作业开始运行后,在提交目录会生成一个slurm-xxx.out日志文件,其中xxx表示作业号。sbatch命令示例2(指定2个节点,4个任务,每个任务12个cpu核提交A.exe程序,限制运行60分钟):编写脚本job2.sh,内容如下:#!/bin/bash#SBATCH-N2#SBATCH-n4#SBATCH-c12#SBATCH-t60#SBATCH–gres=gpu:4srun-n4--gres=gpu:4A.exe然后在命令行执行sbatch-pdebugjob2.sh就可以提交作业。其中#SBATCH注释行是slurm定义的作业执行方式说明,一些需要通过命令行指定的设置可以通过这些说明写在脚本里,避免了每次提交作业写很长的命令行。sbatch命令示例3(一次提交多任务)编写脚本job3.sh,内容如下:Slurm简明使用手册|并行科技股份有限公司6#!/bin/bashsrun-n8A.exe&srun-n8B.exe&srun-n8C.exe&wait然后在命令行执行sbatch-N1-pdebugjob3.sh,这里是单节点同时提交3个任务,每个任务使用8个进程。这里“wait”需要3个任务全部执行完毕,作业才会退出。sbatch的一些常用命令选项基本与srun的相同,具体可以通过sbatch--help查看。注意:与srun一样,若作业需要使用GPU显卡资源,需要在sbatch脚本中或在sbatch的命令行的参数中使用--gres=gpu:n(n为显卡数量,不能超过8)5salloc分配模
本文标题:slurm简明使用手册
链接地址:https://www.777doc.com/doc-6683507 .html