准备工作
在使用命令行提交作业前,请确保:
您需要先通过ssh客户端远程登录到集群。
注意:不推荐使用root帐号进行任何作业提交,避免作业脚本中的误操作导致E-HPC集群数据遭受破坏。
提交作业
相关约定
以下假定作业相关文件路径为:
$HOME/test.py # 作业执行程序
$HOME/test.data # 作业相关数据
作业执行命令行为:
test.py -i test.data
作业调度
E-HPC目前支持多种主流的高性能计算作业调度器:
- PBS pro
- SLURM
- SGE(Sun GridEngine)
PBS
$ cat > test.pbs
#!/bin/sh
#PBS -l ncpus=4,mem=1gb
#PBS -l walltime=00:10:00
#PBS -o test_pbs.log
#PBS -j oe
cd $HOME
test.py -i test.data
$ qsub test.pbs
PBS作业调度脚本test.pbs解释如下:
- Line3是对作业所需计算资源的预估:需要4个CPU核及1GB内存。
- Line4是对作业运行时间的预估:10分钟。
- Line5是指定stdout输出文件。
- Line6是把stderr和stdout的输出合并到上面指定的输出文件。
- Line7~8为作业具体执行命令。
PBS结合算例的使用示例可参考:
更详细的使用文档可参考PBS官方的PBS User Guide。
SLURM
$ cat > test.slurm
#!/bin/sh
#SBATCH --job-name=slurm-quickstart
#SBATCH --output=test_slurm.log
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --time=00:10:00
#SBATCH --mem-per-cpu=1024
cd $HOME
test.py test.data
$ sbatch test.slurm
SLURM结合算例的使用示例可参考:
更详细的使用文档可参考SLURM官方说明。
SGE
qsub -V -b y -cwd hostname
qsub -V jobscript.sh
更详细的使用参考qsub的manual