Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP XC System Software: User's Guide > Chapter 5 Submitting Jobs

Running Preexecution Programs

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Glossary

 » Index

A preexecution program is a program that performs needed setup tasks that an application needs. It may create directories, input files, and so on.

Though LSF-HPC daemons only run on a node with resource manager role, batch jobs can run on any compute node that satisfies the scheduling and allocation requirements.

Where preexecution commands run depends on the type of job:

  • For interactive jobs, preexecution commands run on the node where the sbatchd daemon runs, typically, the resource manager node.

  • For normal batch jobs, preexecution commands run on the first node of the SLURM allocation.

Before starting a preexecution program, LSF-HPC sets the SLURM_JOBID environment variable. To enable srun to launch preexecution on the first allocated node and other allocated nodes, your preexecution program should pick up the SLURM_JOBID environment variable. The SLURM_JOBID has the information LSF-HPC needs to run the job on the nodes required by your preexecution program.

The following items provide the information you need to run the preexecution program on the resource manager node, on the first allocated node, or on all the allocated nodes:

To run a preexecution program on the resource manager node:

This is the default behavior. Run the preexecution program normally.

Your preexecution does not need to make use of the SLURM_JOBID environment variable.

To run a preexecution program on the first allocated node:

Use the SLURM srun -N 1 command. For example:

$ /opt/hptc/bin/srun -N 1 my_pre_exec

To run a preexecution program on all allocated nodes:

Use the SLURM srun directly without node options. For example:

$ /opt/hptc/bin/srun  my_pre_exec

NOTE: Do not use the srun -b command (for SLURM batch mode) inside preexecution programs. The srun -b command returns immediately after a SLURM batch job is submitted. This can cause the preexecution program to exit with success while the real task is still running in batch mode.

See the SLURM srun(1) manpage for more information about the srun command, its options, and the SLURM_JOBID environment variable.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2003 Hewlett-Packard Development Company, L.P.