EaStCHEM Submission Software Package (SSP) User Guide
Download the EaStCHEM SSP: eastchem-sub.tar.gz
Contents
1. Introduction
The EaStCHEM Submission Software Package (EaStCHEM-SSP) is a suite of utilities designed to allow simple submission of jobs to the batch queuing system running on the RCF facilities. The main features of the package are:
- Hides details of job submission scripts from user if they wish
- Specific interfaces to commonly used computational chemistry packages
- Submit serial, shared memory parallel (SMP) and distributed memory parallel (DMP) jobs
- Allows submission to both local queues and to grid resources
- Create job submission script templates for modification by the user
- Allow submission of jobs that use an arbitrary executable
- Check consistency and validity of submission requests
The package is based on Perl and bash, two of the most widely available tools on Linux systems and can provide interfaces to a number of different batch queuing systems (although it is primarily aimed at Sun Grid Engine.)
2. Basic Syntax
All of the commands in the package share a common syntax:
command [options] <jobname> [<arg1> <arg2> ... ]
- command
The submission command (see Table of Commands)
- [options]
Options to the command (see Table of Options)
- <jobname>
Name of the job. This has different effects depending on the command used (see Table of Commands)
- [<arg1> ... ]
Arguments to <jobname>. This only has meaning for the jobsub command.
Table of commands in EaStCHEM-SSP
Command |
Software Package |
<jobname> |
Notes |
castepsub |
CASTEP |
Input: <jobname>.cell <jobname>.param |
|
cpmdsub |
CPMD |
Input: <jobname> |
|
crys06sub |
CRYSTAL 06 |
Input: <jobname>.INPUT |
|
dlpolysub |
DL_POLY 2 |
Input: <jobname>.CONTROL <jobname>.CONFIG <jobname>.FIELD |
|
g03sub |
Gaussian 03 |
Input: <jobname>.com (or <jobname>) |
Can only run in serial or SMP mode |
gamesssub |
GAMESS-UK |
Input: <jobname>.in |
|
molprosub |
MOLPRO |
Input: <jobname>.mol |
|
sandersub |
sander (Amber 9) |
Input: <jobname>.in <jobname>.inpcrd <jobname>.prmtop |
|
jobsub |
any |
Executable file |
[<arg1> ...] provide arguments to executable |
Table of options in EaStCHEM-SSP
Option |
Description |
Notes |
-np <nproc> |
Set the number of processors to use |
The format is either a number (raw processors) or of the form axb (where a is the number of nodes and b the number of processors per node.) If omitted a serial job is assumed. |
-q <queue> |
Queue to submit job to |
If omitted, a default queue is chosen according to the value of <nproc>. Cannot be omitted for grid jobs |
-A <account> |
Account to charge to |
If omitted, the defualt charging account for the current user is used |
-h [<user>@]<host> |
Host on grid to submit job to |
If <user> is omitted, then the username on the current host is used. |
-norun |
Create submission file only. Exit without submitting the job |
Useful for creating templates |
-help |
Show a brief summary of usage and exit |
|
3. Grid Submission
Submitting jobs to the grid rather than the local queuing system adds a couple of further considerations.
You can access the list of queues and executable locations at a remote site using the qlist and clistcommand (see the EaStCHEM PaSS User Guide for more information on grid related commands.)
4. Examples
The following examples illustrate how the various commands can be used.
Submit a serial Gaussian 03 job to a local queue
g03sub -q serial-medium.q ethane
This command would submit a serial job (1 processor by default) to the queue serial-medium.q on the local machine with the Gaussian 03 input in ethane.com
A DMP CPMD job to a local queue
cpmdsub -np 4x2 -q parallel-medium.q h2-wave.inp
This command would submit a DMP (distributed memory parallel) CPMD job to the queue parallel-medium.q on the local machine using the input in h2-wave.inp. Notice the -np 4x2 syntax requesting 4 processors on each of two nodes (i.e. 8 processors in total.) We could also have used
cpmdsub -np 8 -q parallel-medium.q h2-wave.inp
And let cpmdsub decide how to split up the 8 processors (in this case it would do, by default, exactly what we requested in the first case: 4 processors on each of two nodes.) In general, it is better to use the second form of the command and let the machine choose the distribution of the processors.
A template for a local DMP sander (Amber 9) job
For many jobs, particularly using sander, you will often want to modify the actual running command before running the job. The submission tools allow the creation of the job submission script without submission to the batch job system. In this way you can edit the submission file before submitting the job or even use it as a template. For example, the command
sandersub -norun -np 16 -q parallel-long.q my_job
would create the my_job.bash sander submission script which you could then edit before submitting to the batch job system with a command such as:
qsub my_job.bash
You can find out more about the syntax of job submission scripts in the Job Submission topic.
A DMP grid DL_POLY job
For grid submission, the -e option is often used in combination with the -h option to specify the location of the executable on the remote host. An example of this is:
dlpolysub -h other@remote.host.com -e /usr/bin/DL_POLY.X -np 4x4 -q parallel.q methanol
Here we specify that we are running the job on remote.host.com as the user other; the DL_POLY executable is found at /usr/bin/DL_POLY.X; we want 16 processors (4 on each node); we are submitting to the queue parallel.q and the input is in methanol.CONTROL, methanol.CONFIG and methanol.FIELD. For more information on using the EaStCHEM grid see the Job Submission topic and How to set up your account to use the EaStCHEM Grid.



