Job scheduling - qsub

用qsub脚本语言在集群上进行简单的作业调度。

先看一个简单的qsub脚本样例 exp.pbs

#!/bin/bash
#PBS -s /bin/bash
#PBS -l nodes=1:ppn=12
#PBS -q gpu

cd /public/home/qing/code/Refiner
export PATH=/public/home/qing/code/Qing/build/bin:$PATH
export LD_LIBRARY_PATH = /public/home/qing/code/Qing/build/bin:$LD_LIBRARY_PATH

(time correspond -kd 15.0 -falloff 45.0 -max_bbox_dist 10.0 )

整个脚本分为3个部分:
1)资源说明

#PBS -s /bin/bash                         --> -s 运行脚本bash
#PBS -l nodes=1:ppn=12                    --> -l 运行当前脚本需要节点数目1,该节点上线程数12
#PBS -q gpu                               --> -q 队列,该集群上只有一种队列gpu

2)工作目录

cd /public/home/qing/code/Refiner
export PATH=/public/home/qing/code/Qing/build/bin:$PATH
export LD_LIBRARY_PATH = /public/home/qing/code/Qing/build/bin:$LD_LIBRARY_PATH

由于用到一些别的库并没有在 bash.profile里,因此需要额外export

3)程序运行

(time correspond -kd 15.0 -falloff 45.0 -max_bbox_dist 10.0 )

time 即 统计时间
correspond -kd 15.0 -falloff 45.0 -max_bbox_dist 10.0 即程序运行的命令行

那么运行此脚本使用命令 qsub exp.psb,那么程序在哪些节点上运行,需要哪些硬件资源qsub会自动分配。
多个.PBS可以直接用python生成。

你可能感兴趣的:(Job scheduling - qsub)