slaunch(1)

NAME

slaunch - Launch a parallel application under a SLURM job allocation.

SYNOPSIS

slaunch [options] <command> [command args]

DESCRIPTION

slaunch launches a parallel application (a job step in SLURM parlance) on the nodes, or subset of nodes, in a job allocation. A valid job allocation is a prerequisite of running slaunch. The ID of the job allocation may be passed to slaunch through either the --jobid command line parameter or the SLURM_JOBID environment variable. The salloc and sbatch commands may be used to request a job allocation, and each of those commands automatically set the SLURM_JOBID environment variable.

OPTIONS

--jobid <JOBID>
    The job allocation under which the parallel application should be launched.

-n, --ntasks[=]<number>
    Specify the number of processes to launch. The default is one process per node, but note that the -c parameter will change this default.

-N, --nodes[=]<number>
    Specify the number of nodes to be used by this job step. By default, slaunch will use all of the nodes in the specified job allocation.

-r, --relative[=]<number>
    Specify the first node in the allocation on which this job step will be launched. Counting starts at zero, thus the first node in the job allocation is node 0. The default value for --relative is zero.

-c, --cpus-per-task[=]<ncpus>
    Specify that each task requires ncpus number of CPUs. Useful for applications in which each task will launch multiple threads and can therefore benefit from there being free processors on the node.

-w, --nodelist[=]<nodelist>
    Request a specific list of node names. The list may be specified as a comma-separated list of node names, or a range of node names (e.g. mynode[1-5,7,...]). Duplicate node names are not permitted in the list. The order of the node names in the list is not important; the node names will be sorted my SLURM.

-T, --task-layout[=]<nodelist>
    Request a specific task layout. The nodelist can contain duplicate node names, and node names may appear in any order. The order of node names in the nodelist IS significant. Each node name in the nodes list represents one task, with the Nth node name in the nodelist designating on which node the Nth task should be launched. For example, a nodelist of mynode[4,3,1-2,4] means that tasks 0 and 4 will run on mynode4, task 1 will run on mynode3, task 2 will run on mynode1, and task 3 will run on mynode2. NOTE: This option implicitly sets the task distribution method to "arbitrary". Some network switch layers do not permit arbitrary task layout.

-F, --task-layout-file[=]<filename>
    Request a specific task layout. This options much like the --task-layout option, except that instead of a nodelist you supply the name of a file. The file contains a nodelist that may span multiple lines of the file. NOTE: This option implicitly sets the task distribution method to "arbitrary". Some network switch layers do not permit arbitrary task layout.

--nice=<adjustment>
    Run the job with an adjusted scheduling priority. With no adjustment value the scheduling priority is decreased by 100. The adjustment range is from -10000 (highest priority) to 10000 (lowest priority). Only privileged users can specify a negative adjustment. NOTE: This option is presently ignored if SchedulerType=sched/maui.

-h, --help
    Output help information and exit.

-V, --version
    Output version information and exit.

ENVIRONMENT VARIABLES

SLURM_JOBID
    Same as --jobid.

EXAMPLES

To launch a job step (parallel program) in an existing job allocation:

    slaunch --jobid 66777 -N2 -n8 myprogram

To grab an allocation of nodes and launch a parallel application on one command line (See the salloc man page for more examples):

    salloc -N5 slaunch -n10 myprogram

SEE ALSO

sinfo(1), salloc(1), sbatch(1), squeue(1), scancel(1), scontrol(1), slurm.conf(5), sched_setaffinity(2), numa(3)