Running preexecution programs, Example 5-12 – HP XC System 3.x Software User Manual

Page 51

Advertising
background image

Example 5-12

Submitting a Batch job Script That Uses the srun --overcommit Option

$ bsub -n4 -I ./myscript.sh

Job <81> is submitted to default queue <normal>.

<<Waiting for dispatch ...>>

<<Starting on lsfhost.localdomain>>

n1

n1

n1

n1

n2

n2

n2

n2

Hello world! I'm 0 of 8 on n1

Hello world! I'm 1 of 8 on n1

Hello world! I'm 2 of 8 on n1

Hello world! I'm 3 of 8 on n1

Hello world! I'm 4 of 8 on n2

Hello world! I'm 5 of 8 on n2

Hello world! I'm 6 of 8 on n2

Hello world! I'm 7 of 8 on n2

Example 5-13

shows some of the environment variables that are available in a batch script. The LSB_HOSTS

and LSB_MCPU_HOSTS environment variables are defined in

Platform LSF Reference. The SLURM_JOBID

and SLURM_NPROCS environment variables are defined in the

SLURM Reference Manual.

Example 5-13

Environment Variables Available in a Batch Job Script

$ cat ./envscript.sh

#!/bin/sh

name=`hostname`

echo "hostname = $name"

echo "LSB_HOSTS = '$LSB_HOSTS'"

echo "LSB_MCPU_HOSTS = '$LSB_MCPU_HOSTS'"

echo "SLURM_JOBID = $SLURM_JOBID"

echo "SLURM_NPROCS = $SLURM_NPROCS"

$ bsub -n4 -I ./envscript.sh

Job <82> is submitted to default queue <normal>.

<<Waiting for dispatch ...>>

<<Starting on lsfhost.localdomain>>

hostname = n1

LSB_HOSTS = 'n1 n1 n2 n2'

LSB_MCPU_HOSTS = 'n1 2 n2 2'

SLURM_JOBID = 176

SLURM_NPROCS = 4

Running Preexecution Programs

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 pre-execution on the first allocated node and other allocated nodes, your preexecution

Running Preexecution Programs

51

Advertising