======== Frequently Asked Questions (FAQ) ========
====== I. SLURM ======
===== What's SLURM? =====
In the new build, a migration is done from MARVIN's TORQUE/Maui scheduler chain into SLURM. This means **//you must update your legacy submission scripts to SLURM syntax!//** Note that SLURM claims to be able to accept PBS directives, but this is yet tested. Apologies, but both the torque_mom and maui daemons have seen past health check problems. Besides, 50% of the leading 10 supercomputers within the [[http://www.top500.org|TOP500]] list utilize SLURM. There are a number of great sources directly from the developers. Some of our favorites:
* [[http://slurm.schedmd.com/overview.html | Quick Start User Guide]] - A good overview of what to expect.
* [[http://slurm.schedmd.com/documentation.html | Documentation]] - If you need to know, the answer is probably found here.
* [[http://slurm.schedmd.com/tutorials.html | Tutorials]] - Video tutorials for users.
* [[http://slurm.schedmd.com/rosetta.pdf | The Rosetta Stone]] - A handy reference card for job script conversions between PBS-Torque, SLURM, LSF, SGE, & LoadLeveler.
--------------
====== II. GAUSSIAN ======
Gaussian is a proprietary software package - the license is owned by Peter Schwerdtfeger.
Familiarize yourself with Gaussian - here is a brief introduction. \\
With Dr. Schwerdtfeger's approval, you'll be added to the ''%%gaussian%%'' user list.
===== How do I submit a Gaussian job? =====
A Gaussian SLURM script for a serial (one node) job looks similar to the following tetrafluoromethane example:
#!/bin/bash
##################################
#SBATCH -J CF4
#SBATCH -p sgi
#SBATCH -t 0-0:15
#SBATCH -N 1
#SBATCH -n 4
#SBATCH --mem=4G
#SBATCH -o CF4.out
#SBATCH --mail-type=begin
#SBATCH --mail-type=end
#SBATCH --mail-user=you@massey.ac.nz
##################################
module load gaussian/sgi
source $g09root/g09/bsd/g09.profile
export GAUSS_SCRDIR=$SCRATCH
WORKDIR=/home/$USER/
echo "This job was submitted from $SLURM_SUBMIT_HOST,"
echo "from the directory $SLURM_SUBMIT_DIR,"
echo "Running on node $HOSTNAME."
echo "The local scratch is on $SCRATCH."
echo START: `date`
g09 < $WORKDIR/CF4.inp
echo FINISH: `date`
**NOTE:** For things you do very often, you can load modules and set environment variable calls within bash startup. For example, in the above script, one might opt to delete the two lines
module load gaussian/sgi
source $g09root/g09/bsd/g09.profile
and instead replace them within the file ''%%/home/$USER/.bashrc%%''. HOWEVER, don't do both: either put in a SLURM script, OR set in bash startup...
If you want to set a different path for your error/output file via the -e or -o options, you should always provide a filename. Setting just the directory patch, the way it worked in PBS, will result in your job to crash. The %j keyword can be useful here as it will be replaced by the SLURM job id.
#SBATCH -o /home/${USER}/err/job-%j
----------------
====== III. INTEL Composer XE ======
--------------------------------------
====== IV. VASP ======
--------------------------------------
====== V. Orca ======
Orca is distributed as binary files only. A sample script could look like this
#!/bin/bash
#SBATCH --job-name=Au12Ih
#SBATCH -t 999:00:00
#SBATCH -N 1
#SBATCH -n 4
#SBATCH --mem=2G
#SBATCH --mail-type=END
#SBATCH --mail-type=FAIL
#SBATCH -o path-to-error-file/orca-%j
#SBATCH --mail-user=you@massey.ac.nz
#SBATCH -p sgi
echo This job was submitted from the computer:
echo $SLURM_SUBMIT_HOST
echo and the directory:
echo $SLURM_SUBMIT_DIR
echo
echo It is running on the compute node:
echo $SLURM_CLUSTER_NAME
echo
module load intel/compiler/64/15.0/2015.1.133
module load openmpi/gcc/64/1.8.1
cd $SLURM_SUBMIT_DIR
echo Current directory:
pwd
echo
echo "---- The Job is executed at "Fri Mar 27 13:36:01 NZDT 2015" on "simurg" ----"
/cm/shared/apps/orca/orca /home/trombach/test-simurg/Au12/Au12Ih.in > /home/trombach/test-simurg/Au12/Au12Ih.out
echo "---- The Job has finished at "Fri Mar 27 13:36:01 NZDT 2015" ----"
Please note, that if you want run a parallel MPI job, you need to call the binary with its absolute path!