Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
titlemy_job.pbs
#!/bin/bash
 
#PBS -<parametar1> <value>
#PBS -<parametar2> <value>
 
<command>

Basic PBS parameters

OptionArgumentMeaning
-NnameNaming the job
-qdestinationSpecifying job queue or node
-llist_of_resourcesAmount of resources required for the job
-Mlist_of_usersList of users to receive e-mail
-memail_optionsTypes of mail notifications
-opath/to/directoryPath to directory for output file
-epath/to/directoryPath to directory for error file
-j
oeCombining output and error file
-Wgroup_listproject_codeProject code for job


Options for sending notifications by mail with the -m option:

aMail is sent when the batch system terminates the job
bMail is sent when the job starts executing
eMail is sent when the job is done
jMail is sent for sub jobs. Must be combined with one or more sub-options a, b or e


Code Block
languagebash
titleExample mail
#!/bin/bash
 
#PBS -q cpu
#PBS -l select=1:ncpus=2
#PBS -M <name>@srce.hr,<name2>@srce.hr
#PBS -m be
 
echo $PBS_JOBNAME > out
echo $PBS_O_HOST


Two emails were received:

Code Block
titleJob start
PBS Job Id: 2686.x3000c0s25b0n0.hsn.hpc.srce.hr
Job Name:   pbs.pbs
Begun execution 
Code Block
titleJob finished
PBS Job Id: 2686.x3000c0s25b0n0.hsn.hpc.srce.hr
Job Name:   pbs.pbs
Execution terminated
Exit_status=0
resources_used.cpupercent=0
resources_used.cput=00:00:00
resources_used.mem=0kb
resources_used.ncpus=2
resources_used.vmem=0kb
resources_used.walltime=00:00:01


Options for resources with the -l option:

-l select=3:ncpus=2Option for 3 chunks of a node with 2 cores (6 cores in total)
-l select=1:ncpus=10:mem=20GBOption for 1 chunka of a node with 10 cores i 20GB RAM
-l ngpus=2Option for 2 GPU-s


PBS environmental variables

NCPUSNumber of cores requested. Matches the value from the ncpus option from the PBS script header.
OMP_NUM_THREADSAn OpenMP variable exported by PBS to the environment that is equal to the value of the ncpus option from the PBS script header
PBS_JOBIDIdentifikator posla koji daje PBS kada se posao preda. Stvoreno nakon izvršenja naredbe qsub.
PBS_JOBNAMEJob identifier provided by PBS when a job is submitted. Created after executing the qsub command.
PBS_NODEFILEList of work nodes, or processor cores on which the job is executed
PBS_O_WORKDIRThe working directory in which the job was submitted, or in which the qsub command was invoked.
TMPDIRThe path to the scratch directory.


Tip
titleSetting up working directory

While in PBS pro the path for output and error files is specified in the directory where they are executed, the input and output files of the program itself are by default loaded/saved in the $HOME directory. PBS Pro does not have the option of specifying the job to run in the current directory we are in, so it is necessary to manually change the directory.

After the header it is necessary to write:

cd $PBS_O_WORKDIR

It will redirect the job execution to the directory where the script was run.