### Example 2:The following PBS script requests 8 CPU cores, 24GB of memory, and 3 hours of walltime for running of 8 MATLAB jobs in parallel. #!/bin/bash
#PBS -j oe
#PBS -m ae
#PBS -N JobName2
#PBS -l pmem=3gb
#PBS -l nodes=1:ppn=8
#PBS -l walltime=3:00:00
#PBS -M your.name@jcu.edu.au
cd $PBS_O_WORKDIR
shopt -s expand_aliases
source /etc/profile.d/modules.sh
echo "Job identifier is $PBS_JOBID"
echo "Working directory is $PBS_O_WORKDIR"
module load matlab
matlab -r myjob1 &
matlab -r myjob2 &
matlab -r myjob3 &
matlab -r myjob4 &
matlab -r myjob5 &
matlab -r myjob6 &
matlab -r myjob7 &
matlab -r myjob8 &
wait # Wait for background jobs to finish. |
If the file containing the above content has a name of `JobName2.pbs` , you simply execute `qsub JobName2.pbs` to place it into the queueing system. ### Example 4:The following PBS script requests uses job arrays. If you aren't proficient with bash scripting, using job arrays could be painful. The example below has each sub-job requesting 1 CPU core, 1 GB of memory, and 20 minutes of walltime. #!/bin/bash
#PBS -j oe
#PBS -m ae
#PBS -N ArrayJob
#PBS -l pmem=1gb
#PBS -l nodes=1:ppn=1
#PBS -l walltime=20:00
#PBS -M your.name@my.jcu.edu.au
cd $PBS_O_WORKDIR
shopt -s expand_aliases
source /etc/profile.d/modules.sh
module load matlab
matlab -r myjob$PBS_ARRAYID |
If the file containing the above content has a name of `ArrayJob.pbs` and you will be running 32 sub-jobs, you simply use `qsub -t 1-32 ArrayJob.pbs` to place it into the queueing system. |