Skip to content

Job execution

Summary

On the supercomputer system, user’s program is executed as a job.

Job script file

You first need to prepare a job script file, in which you specify the amount of required resources (e.g. the number of nodes, maximum elapsed time. etc.). Then, you submit your job script file for executing your program.

Outline of a job script

An example of a job script is as follows. A job script file usually has the ".sh" extension.

#!/bin/sh 
#------ pjsub option --------#
#PJM -L rscgrp=ea
#PJM -L node=1
#PJM -L elapse=1:00:00
#PJM -g group1
#PJM -j
#------- Program execution -------#
./a.out 

Note

  • #!/bin/sh: shell path
  • #PJM ***: job options
  • ./out: execution of a program (i.e. a.out)

Warning

In the case of using the module command in a job script written in sh excepting bash, you need to specify #!/bin/sh -l.

Job options

Basic job options are as follows.

Necessary options

Option Description
-g <groupname> specify a group
-L rsgrp=<name> specify a resource group (i.e. job queue)
-L node=<num> specify the number of reuiqred nodes
--mpi proc=<num> specify the total number of MPI processes (in the case of executing a MPI program)

Majour options

Option Description
-j specify to output the standard error output to the standard output
-N <jobname> specify the name of a job
-L elapse=<hh:mm:ss> specify the maximum elapsed time of a job

Maximum elapsed time

If an appropriate maximum elapsed time is specified,

Examples of job script

Please visit here.

Job operation commands

Major commands for job operation are as follows.

  • Job submission: pjsub sample.sh
  • Job status check: pjstat
  • Job cancel: pjdel [JOB_ID]

Note

The working directory when executing a job is that the pjsub command was issued.

Results of job execution

Standard output and standard error output are saved in files. If the output file(s) was not specified in a job script file, the following files are generated in the directory where the pjsub command was issued. ((XXXXX is the job ID.)

  • (job name).oXXXXX:standard output
  • (job name).eXXXXX:standard error output