通过命令行提交作业
E-HPC支持PBS、SLURM、SGE三种作业调度系统,本文介绍如何使用三种调度系统通过命令行提交作业。
前提条件
已创建用户,具体操作,请参见创建用户。
说明不推荐使用root账号提交任何作业,避免作业脚本中的误操作导致E-HPC集群数据遭受破坏。
已放置作业文件到当前用户的$HOME目录。
背景信息
以下操作步骤中介绍了PBS、SLURM、SGE三种作业调度系统命令行示例,作业相关文件和路径示例为:
$HOME/test.py # 作业执行程序
$HOME/test.data # 作业相关数据
作业执行命令行为:
test.py -i test.data
操作步骤
通过SSH客户端远程登录到集群。更多信息,请参见使用SSH工具连接。
选择其中一种调度器,执行作业命令。
PBS
PBS命令行示例如下所示,更多信息,请参见PBS官网。
$ cat > test.pbs #!/bin/sh #PBS -l ncpus=4,mem=1gb #对作业所需计算资源的预估:需要 4 vCPU及1 GB内存。 #PBS -l walltime=00:10:00 #对作业运行时间的预估:10分钟。 #PBS -o test_pbs.log #指定stdout输出文件。 #PBS -j oe #把stderr和stdout的输出合并到上面指定的输出文件。 cd $HOME test.py -i test.data $ qsub test.pbs
SLURM
SLURM命令行示例如下所示,更多信息,请参见SLURM官网。
$ cat > test.slurm #!/bin/sh #SBATCH --job-name=slurm-quickstart #作业名称:slurm-quickstart #SBATCH --output=test_slurm.log #指定stdout输出文件。 #SBATCH --nodes=1 #指定节点数量。 #SBATCH --ntasks=1 #指定任务数量。 #SBATCH --cpus-per-task=1 #指每个任务需要的CPU个数。 #SBATCH --time=00:10:00 #对作业运行时间的预估:10分钟。 #SBATCH --mem-per-cpu=1024 #指每个CPU分配的内存。 cd $HOME test.py test.data $ sbatch test.slurm
SGE
SGE命令行示例如下所示,更多信息,请参见SGE官网。
qsub -V -b y -cwd hostname qsub -V jobscript.sh