The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HPC::Runner::PBS - Submit jobs to a PBS job scheduler.

DESCRIPTION

HPC::Runner::PBS is a wrapper around qsub and can be used to submit arbirtary bash commands to PBS.

It has two levels of management. The first is the main qsub command, and the second is the actual job, which runs commands in parallel, controlled by HPC::Runner::Threads or HPC::Runner::MCE.

It supports job dependencies. Put in the command 'wait' to tell PBS that some job or jobs depend on some other jobs completion. Put in the command 'newnode' to tell HPC::Runner::PBS to submit the job to a new node.

The only necessary option is the --infile, and --queue if you wish to run on a queue besides s48.

The bulk of this code is extended from HPC::Runner::Slurm.

queue

Same as the partition in HPC::Runner::Slurm

walltime

Define PBS walltime

mem

template_file

actual template file

One is generated here for you, but you can always supply your own with --template_file /path/to/template

SUBROUTINES/METHODS

run()

First sub called Calling system module load * does not work within a screen session!

submit_slurm()

Submit jobs to PBS using qsub

Uses almost the same logic as submit_slurm, so we'll keep that.

This subroutine was just about 100% from the following perlmonks discussions. All that I did was add in some logging.

http://www.perlmonks.org/?node_id=151886 You can use the script at the top to test the runner. Just download it, make it executable, and put it in the infile as

perl command.pl 1 perl command.pl 2 #so on and so forth

SYNOPSIS

  use HPC::Runner::PBS;

AUTHOR

Jillian Rowe <jillian.e.rowe@gmail.com>

Acknowledgements

This module was originally developed at and for NYU Abu Dhabi in the Center for Genomics and Systems Biology. With approval from NYUAD, this information was generalized and put on github, for which the authors would like to express their gratitude.

COPYRIGHT

Copyright 2015- Jillian Rowe

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO