阿里云首页 弹性高性能计算E-HPC

通过命令行提交作业

E-HPC支持PBS、SLURM、SGE三种作业调度系统,本文介绍如何使用三种调度系统通过命令行提交作业。

前提条件

  • 已创建用户,具体操作,请参见创建用户

    说明

    不推荐使用root帐号提交任何作业,避免作业脚本中的误操作导致E-HPC集群数据遭受破坏。

  • 已放置作业文件到当前用户的$HOME目录。

背景信息

以下操作步骤中介绍了PBS、SLURM、SGE三种作业调度系统命令行示例,作业相关文件和路径示例为:

$HOME/test.py           # 作业执行程序
$HOME/test.data         # 作业相关数据

作业执行命令行为:

test.py -i test.data

操作步骤

  1. 通过SSH客户端远程登录到集群。更多信息,请参见使用SSH工具连接

  2. 选择其中一种调度器,执行作业命令。

    • 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官网

      关于SLURM更多算例的使用,请参见LAMMPSWRF

      $ 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