HowTo

To ensure fair access to the resources, the facility make use of Torque PBS queue system. You can use:
  • qsub to submit a job,
  • qstat to inspect the status of the queues,
  • qdel to delete a previously submitted job.

Refer to manual pages for details (e.g. man qsub).
Software resources are organized in modules: for a list of available modules, type: module avail.
For loading a module, type:module load [modulename].
To unload a module, type: module clear [modulename].
The list fo the currently laded modules can be obtained by typing: module list.
To clean the environment, type: module purge.

In the following, you will find examples for serial, parallel and cuda projects.

Serial Project

You can use serial queue for submitting jobs requiring one cpu.
#!/bin/bash
#PBS -l walltime=00:10:00
#PBS -l nodes=1:ppn=1
#PBS -q serial
#PBS -N sleep
#PBS -o out.$PBS_JOBNAME.$PBS_JOBID
#PBS -e err.$PBS_JOBNAME.$PBS_JOBID


cd $PBS_O_WORKDIR


./sleep 20
				

Example package for serial job submission can be found here.

Parallel Project

Parallel jobs must be submitted to parallel queue.
#!/bin/bash
#PBS -l walltime=00:10:00
#PBS -l nodes=1:ppn=12
#PBS -q parallel
#PBS -N hello
#PBS -o out.$PBS_JOBNAME.$PBS_JOBID
#PBS -e err.$PBS_JOBNAME.$PBS_JOBID


cd $PBS_O_WORKDIR

module load mpi

mpirun -np 12 ./hello
				

Example package for parallel job submission can be found here. Make sure to load the modules required by the executable (usually the ones you used to compile), as in row 12.

CUDA Project

Currently, the maximum GPU number a job can require is 1, no GPU is available outside cuda queue.
#!/bin/bash
#PBS -l walltime=24:00:00
#PBS -l nodes=1:ppn=1
#PBS -q cuda
#PBS -N detect
#PBS -o out.$PBS_JOBNAME.$PBS_JOBID
#PBS -e err.$PBS_JOBNAME.$PBS_JOBID

module load cuda

cd $PBS_O_WORKDIR

./detect -s 100
				

Example package for CUDA job submission can be found here. Make sure to load the modules required by the executable (usually the ones you used to compile), as in row 9. Do not use cudaSetDevice( 1 ), since the assigned device could have a different number id. In order to find what device you are using, see the detect.cu example in the zip file.