~ubuntu-branches/ubuntu/saucy/slurm-llnl/saucy

« back to all changes in this revision

Viewing changes to doc/man/man1/slaunch.1

  • Committer: Bazaar Package Importer
  • Author(s): Gennaro Oliva
  • Date: 2008-05-30 13:11:30 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20080530131130-l6ko6aie7xhrlmxe
Tags: 1.3.3-1
* New upstream release
* Removed patches to src/slurmctd/controller.c src/slurmdbd/slurmdbd.c
  doc/man/man1/sacctmgr.1 included to upstream
* Edited watch file to seek for 1.3 releases
* doc/man/man1/salloc.1 doc/man/man1/sbatch.1 doc/man/man5/slurm.conf.5
  patched to improve formatting and avoid manual warnings 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
.\" $Id: slaunch.1 13559 2008-03-11 22:41:30Z jette $
2
 
.TH "slaunch" "1" "SLURM 1.2" "October 2006" "SLURM Commands"
3
 
.SH "NAME"
4
 
.LP 
5
 
slaunch \- Launch a parallel application under a SLURM job allocation.
6
 
.SH "SYNOPSIS"
7
 
.LP 
8
 
slaunch [\fIoptions\fP] <\fIcommand\fP> [\fIcommand args\fR]
9
 
.SH "DESCRIPTION"
10
 
.LP 
11
 
\fBNOTE: Support of slaunch is expected to be discontinued in the near future.
12
 
Use of slaunch is not recommended.\fR
13
 
.br
14
 
 
15
 
.br
16
 
slaunch launches a parallel application (a \fBjob step\fR in SLURM parlance)
17
 
on the nodes, or subset of nodes, in a \fBjob allocation\fR.   A valid job
18
 
allocation is a prerequisite of running slaunch.  The ID of the job allocation
19
 
may be passed to slaunch through either the \fB\-\-jobid\fR command line
20
 
parameter or the \fBSLAUNCH_JOBID\fR environment variable.  The \fBsalloc\fR
21
 
and \fBsbatch\fR commands may be used to request a job allocation, and each
22
 
of those commands automatically set the \fBSLURM_JOB_ID\fR environment variable,
23
 
which is also understood by slaunch.  Users should not set SLURM_JOB_ID on their
24
 
own; use SLAUNCH_JOBID instead.
25
 
 
26
 
.SH "OPTIONS"
27
 
.LP 
28
 
 
29
 
.TP
30
 
\fB\-C\fR, \fB\-\-overcommit\fR
31
 
Permit the allocation of more tasks to a node than there are available processors.
32
 
Normally SLURM will only allow up to N tasks on a node with N processors, but
33
 
this option will allow more than N tasks to be assigned to a node.
34
 
 
35
 
.TP 
36
 
\fB\-c\fR, \fB\-\-cpus\-per\-task\fR[=]<\fIncpus\fR>
37
 
Specify that each task requires \fIncpus\fR 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.
38
 
 
39
 
.TP
40
 
\fB\-\-comm\-hostname\fR[=]<\fIhostname|address\fR>
41
 
Specify the hostname or address to be used for PMI communications only
42
 
(MPCIH2 communication bootstrapping mechanism).
43
 
Defaults to short hostname of the node on which slaunch is running.
44
 
 
45
 
.TP
46
 
\fB\-\-core\fR[=]<\fItype\fR>
47
 
Adjust corefile format for parallel job. If possible, slaunch will set
48
 
up the environment for the job such that a corefile format other than
49
 
full core dumps is enabled. If run with type = "list", slaunch will
50
 
print a list of supported corefile format types to stdout and exit.
51
 
 
52
 
.TP
53
 
\fB\-\-cpu_bind\fR=[{\fIquiet,verbose\fR},]\fItype\fR
54
 
Bind tasks to CPUs. Used only when the task/affinity or task/numa 
55
 
plugin is enabled. 
56
 
NOTE: To have SLURM always report on the selected CPU binding for all 
57
 
commands executed in a shell, you can enable verbose mode by setting 
58
 
the SLURM_CPU_BIND environment variable value to "verbose". 
59
 
Supported options include:
60
 
.PD 1
61
 
.RS
62
 
.TP
63
 
.B q[uiet],
64
 
quietly bind before task runs (default)
65
 
.TP
66
 
.B v[erbose],
67
 
verbosely report binding before task runs
68
 
.TP
69
 
.B no[ne]
70
 
don't bind tasks to CPUs (default)
71
 
.TP
72
 
.B rank
73
 
bind by task rank
74
 
.TP
75
 
.B map_cpu:<list>
76
 
bind by mapping CPU IDs to tasks as specified
77
 
where <list> is <cpuid1>,<cpuid2>,...<cpuidN>.
78
 
CPU IDs are interpreted as decimal values unless they are preceded
79
 
with '0x' in which case they interpreted as hexadecimal values.
80
 
.TP
81
 
.B mask_cpu:<list>
82
 
bind by setting CPU masks on tasks as specified
83
 
where <list> is <mask1>,<mask2>,...<maskN>.
84
 
CPU masks are \fBalways\fR interpreted as hexadecimal values but can be
85
 
preceded with an optional '0x'.
86
 
.RE
87
 
 
88
 
.TP 
89
 
\fB\-D\fR, \fB\-\-workdir\fR[=]<\fIdirectory\fR>
90
 
Set the working directory of the tasks to \fIdirectory\fR before execution.
91
 
The default task working directory is slaunch's working directory.
92
 
 
93
 
.TP
94
 
\fB\-d\fR, \fB\-\-slurmd\-debug\fR[=]<\fIlevel\fR>
95
 
Specify a debug level for slurmd(8). \fIlevel\fR may be an integer value
96
 
between 0 [quiet, only errors are displayed] and 4 [verbose operation]. 
97
 
The slurmd debug information is copied onto the stderr of
98
 
the job.  By default only errors are displayed. 
99
 
 
100
 
.TP
101
 
\fB\-E\fR, \fB\-\-task\-error\fR[=]<\fIfilename pattern\fR>
102
 
Instruct SLURM to connect each task's standard error directly to 
103
 
the file name specified in the "\fIfilename pattern\fR".
104
 
See the \fB\-\-task\-input\fR option for filename specification options.
105
 
 
106
 
.TP 
107
 
\fB\-e\fR, \fB\-\-slaunch\-error\fR[=]<\fIfilename pattern\fR>
108
 
Instruct SLURM to connect slaunch's standard error directly to the 
109
 
file name specified in the "\fIfilename pattern\fR".
110
 
See the \fB\-\-slaunch\-input\fR option for filename specification options.
111
 
 
112
 
.TP
113
 
\fB\-\-epilog\fR[=]<\fIexecutable\fR>
114
 
\fBslaunch\fR will run \fIexecutable\fR just after the job step completes.
115
 
The command line arguments for \fIexecutable\fR will be the command
116
 
and arguments of the job step.  If \fIexecutable\fR is "none", then
117
 
no epilog will be run.  This parameter overrides the SrunEpilog
118
 
parameter in slurm.conf.
119
 
 
120
 
.TP 
121
 
\fB\-F\fR, \fB\-\-task\-layout\-file\fR[=]<\fIfilename\fR>
122
 
Request a specific task layout.  This option is much like the
123
 
\-\-task\-layout\-byname option, except that instead of a nodelist you
124
 
supply the name of a file.  The file contains a nodelist that may span
125
 
multiple lines of the file.
126
 
 
127
 
NOTE: This option implicitly sets the task distribution method to "arbitrary".
128
 
Some network switch layers do not permit arbitrary task layout.
129
 
 
130
 
.TP
131
 
\fB\-\-gid\fR[=]<\fIgroup\fR>
132
 
If \fBslaunch\fR is run as root, and the \fB\-\-gid\fR option is used, 
133
 
submit the job with \fIgroup\fR's group access permissions.  \fIgroup\fR 
134
 
may be the group name or the numerical group ID.
135
 
 
136
 
.TP 
137
 
\fB\-h\fR, \fB\-\-help\fR
138
 
Display help information and exit.
139
 
 
140
 
.TP
141
 
\fB\-I\fR, \fB\-\-task\-input\fR[=]<\fIfilename pattern\fR>
142
 
Instruct SLURM to connect each task's standard input directly to 
143
 
the file name specified in the "\fIfilename pattern\fR".
144
 
 
145
 
By default, the standard IO streams of all tasks are received and transmitted
146
 
over the network to commands like slaunch and sattach.  These options disable
147
 
the networked standard IO streams and instead connect the standard IO streams
148
 
of the tasks directly to files on the local node of each task (although the file
149
 
may, of course, be located on a networked filesystem).
150
 
 
151
 
Whether or not the tasks share a file depends on whether or not the file lives
152
 
on a local filesystem or a shared network filesytem, and on whether or not
153
 
the filename pattern expands to the same file name for each task.
154
 
 
155
 
The filename pattern may
156
 
contain one or more replacement symbols, which are a percent sign "%" followed 
157
 
by a letter (e.g. %t).
158
 
 
159
 
Supported replacement symbols are:
160
 
.PD 0
161
 
.RS 10
162
 
.TP 
163
 
\fB%J\fR
164
 
Job allocation number and job step number in the form "jobid.stepid".  For instance, "128.0".
165
 
.PD 0
166
 
.TP 
167
 
\fB%j\fR
168
 
Job allocation number.
169
 
.PD 0
170
 
.TP 
171
 
\fB%s\fR
172
 
Job step number.
173
 
.PD 0
174
 
.TP 
175
 
\fB%N\fR
176
 
Node name. (Will result in a separate file per node.)
177
 
.PD 0
178
 
.TP 
179
 
\fB%n\fR
180
 
Relative node index number within the job step.  All nodes used by the job step will be number sequentially starting at zero.  (Will result in a separate file per node.)
181
 
.PD 0
182
 
.TP 
183
 
\fB%t\fR
184
 
Task rank number.  (Will result in a separate file per task.)
185
 
.RE
186
 
 
187
 
.TP 
188
 
\fB\-i\fR, \fB\-\-slaunch\-input\fR[=]<\fIfilename pattern\fR>
189
 
.PD
190
 
Change slaunch's standard input
191
 
to be a file of name "filename pattern".  These options are similar to using
192
 
shell IO redirection capabilities, but with the additional ability to replace
193
 
certain symbols in the filename with useful SLURM information.  Symbols are
194
 
listed below.
195
 
 
196
 
By default, slaunch broadcasts its standard input over the network to the
197
 
standard input of all tasks.  Likewise, standard output and standard error
198
 
from all tasks are collected over the network by slaunch and printed on
199
 
its standard output or standard error, respectively.  If you want to see
200
 
traffic from fewer tasks, see the \-\-slaunch\-[input|output|error]\-filter
201
 
options.
202
 
 
203
 
Supported replacement symbols are:
204
 
.PD 0
205
 
.RS 10
206
 
.TP 
207
 
\fB%J\fR
208
 
Job allocation number and job step number in the form "jobid.stepid".  For instance, "128.0".
209
 
.PD 0
210
 
.TP 
211
 
\fB%j\fR
212
 
Job allocation number.
213
 
.PD 0
214
 
.TP 
215
 
\fB%s\fR
216
 
Job step number.
217
 
.RE
218
 
 
219
 
.TP
220
 
\fB\-J\fR, \fB\-\-name\fR[=]<\fIname\fR>
221
 
Set the name of the job step.  By default, the job step's name will be the
222
 
name of the executable which slaunch is launching.
223
 
 
224
 
.TP 
225
 
\fB\-\-jobid\fR=<\fIJOBID\fP>
226
 
The job allocation under which the parallel application should be launched.  If slaunch is running under salloc or a batch script, slaunch can automatically determint the jobid from the SLURM_JOB_ID environment variable.  Otherwise, you will need to tell slaunch which job allocation to use.
227
 
 
228
 
.TP
229
 
\fB\-K\fR, \fB\-\-kill\-on\-bad\-exit\fR
230
 
Terminate the job step if any task exits with a non\-zero exit code.  By default
231
 
slaunch will not terminate a job step because of a task with a non\-zero exit
232
 
code.
233
 
 
234
 
.TP 
235
 
\fB\-L\fR, \fB\-\-nodelist\-byid\fR[=]<\fInode index list\fR>
236
 
Request a specific set of nodes in a job alloction on which to run the tasks of the job step.  The list may be specified as a comma\-separated list relative node indices in the job allocation (e.g., "0,2\-5,\-2,8").  Duplicate indices are permitted, but are ignored.  The order of the node indices in the list is not important; the node indices will be sorted my SLURM.
237
 
 
238
 
.TP
239
 
\fB\-l\fR, \fB\-\-label\fR
240
 
Prepend each line of task standard output or standard error with the task
241
 
number of its origin.
242
 
 
243
 
.TP
244
 
\fB\-m\fR, \fB\-\-distribution\fR=
245
 
(\fIblock\fR|\fIcyclic\fR|\fIhostfile\fR|\fIplane=<options>\fR)
246
 
Specify an alternate distribution method for remote processes.
247
 
.PD 1
248
 
.RS
249
 
.TP
250
 
.B block
251
 
The block method of distribution will allocate processes in\-order to
252
 
the cpus on a node. If the number of processes exceeds the number of
253
 
cpus on all of the nodes in the allocation then all nodes will be
254
 
utilized. For example, consider an allocation of three nodes each with
255
 
two cpus. A four\-process block distribution request will distribute
256
 
those processes to the nodes with processes one and two on the first
257
 
node, process three on the second node, and process four on the third node.
258
 
Block distribution is the default behavior if the number of tasks
259
 
exceeds the number of nodes requested.
260
 
.TP
261
 
.B cyclic
262
 
The cyclic method distributes processes in a round\-robin fashion across
263
 
the allocated nodes. That is, process one will be allocated to the first
264
 
node, process two to the second, and so on. This is the default behavior
265
 
if the number of tasks is no larger than the number of nodes requested.
266
 
.TP
267
 
.B plane
268
 
The tasks are distributed in blocks of a specified size.
269
 
The options include a number representing the size of the task block.
270
 
This is followed by an optional specification of the task distribution
271
 
scheme within a block of tasks and between the blocks of tasks.
272
 
For more details (including examples and diagrams), please see
273
 
.br
274
 
https://computing.llnl.gov/linux/slurm/mc_support.html
275
 
.br
276
 
and
277
 
.br
278
 
https://computing.llnl.gov/linux/slurm/dist_plane.html.
279
 
.TP
280
 
.B hostfile
281
 
The hostfile method of distribution will allocate processes in\-order as
282
 
listed in file designated by the environment variable SLURM_HOSTFILE.  If
283
 
this variable is listed it will over ride any other method specified.
284
 
.RE
285
 
 
286
 
.TP
287
 
\fB\-\-mem_bind\fR=[{\fIquiet,verbose\fR},]\fItype\fR
288
 
Bind tasks to memory. 
289
 
Used only when task/affinity plugin is enabled and 
290
 
the NUMA memory functions are available
291
 
\fBNote that the resolution of CPU and memory binding 
292
 
may differ on some architectures.\fR For example, CPU binding may be performed 
293
 
at the level of the cores within a processor while memory binding will 
294
 
be performed at the level of nodes, where the definition of "nodes" 
295
 
may differ from system to system. \fBThe use of any type other than 
296
 
"none" or "local" is not recommended.\fR
297
 
If you want greater control, try running a simple test code with the 
298
 
options "\-\-cpu_bind=verbose,none \-\-mem_bind=verbose,none" to determine 
299
 
the specific configuration.
300
 
Note: To have SLURM always report on the selected memory binding for all 
301
 
commands executed in a shell, you can enable verbose mode by setting the 
302
 
SLURM_MEM_BIND environment variable value to "verbose".
303
 
Supported options include:
304
 
.PD 1
305
 
.RS
306
 
.TP
307
 
.B q[uiet],
308
 
quietly bind before task runs (default)
309
 
.TP
310
 
.B v[erbose],
311
 
verbosely report binding before task runs
312
 
.TP
313
 
.B no[ne]
314
 
don't bind tasks to memory (default)
315
 
.TP
316
 
.B rank
317
 
bind by task rank (not recommended)
318
 
.TP
319
 
.B local
320
 
Use memory local to the processor in use
321
 
.TP
322
 
.B map_mem:<list>
323
 
bind by mapping a node's memory to tasks as specified
324
 
where <list> is <cpuid1>,<cpuid2>,...<cpuidN>.
325
 
CPU IDs are interpreted as decimal values unless they are preceded
326
 
with '0x' in which case they interpreted as hexadecimal values
327
 
(not recommended)
328
 
.TP
329
 
.B mask_mem:<list>
330
 
bind by setting memory masks on tasks as specified
331
 
where <list> is <mask1>,<mask2>,...<maskN>.
332
 
memory masks are \fBalways\fR interpreted as hexadecimal values but can be
333
 
preceded with an optional '0x' (not recommended)
334
 
.RE
335
 
 
336
 
.TP 
337
 
\fB\-\-mpi\fR[=]<\fImpi_type\fR>
338
 
Identify the type of MPI to be used. If run with mpi_type = "list", 
339
 
slaunch will print a list of supported MPI types to stdout and exit.
340
 
 
341
 
.TP
342
 
\fB\-\-multi\-prog\fR
343
 
This option allows one to launch tasks with different executables within
344
 
the same job step.  When this option is present, slaunch no long accepts
345
 
the name of an executable "command" on the command line, instead it accepts
346
 
the name of a file.  This file specifies which executables and command line
347
 
parameters should be used by each task in the job step.  See the section 
348
 
\fBMULTIPLE PROGRAMS FILE\fR below for an explanation of the multiple program
349
 
file syntax.
350
 
 
351
 
.TP 
352
 
\fB\-N\fR, \fB\-\-nodes\fR[=]<\fInumber\fR>
353
 
Specify the number of nodes to be used by this job step.  By default,
354
 
slaunch will use all of the nodes in the specified job allocation.
355
 
 
356
 
.TP 
357
 
\fB\-n\fR, \fB\-\-tasks\fR[=]<\fInumber\fR>
358
 
Specify the number of processes to launch.  The default is one process per node.
359
 
 
360
 
.TP
361
 
\fB\-\-network\fR[=]<\fIoptions\fR>
362
 
(NOTE: this option is currently only of use on AIX systems.)
363
 
Specify the communication protocol to be used. 
364
 
The interpretation of \fItype\fR is system dependent. 
365
 
For AIX systems with an IBM Federation switch, the following 
366
 
comma\-separated and case insensitive options are recongnized:
367
 
\fBIP\fR (the default is user\-space), \fBSN_ALL\fR, \fBSN_SINGLE\fR, 
368
 
\fBBULK_XFER\fR and adapter names. For more information, on 
369
 
IBM systems see \fIpoe\fR documenation on the environment variables 
370
 
\fBMP_EUIDEVICE\fR and \fBMP_USE_BULK_XFER\fR.
371
 
 
372
 
.TP
373
 
\fB\-O\fR, \fB\-\-task\-output\fR[=]<\fIfilename pattern\fR>
374
 
Instruct SLURM to connect each task's standard output directly to 
375
 
the file name specified in the "\fIfilename pattern\fR".
376
 
See the \fB\-\-task\-input\fR option for filename specification options.
377
 
 
378
 
.TP
379
 
\fB\-o\fR, \fB\-\-slaunch\-output\fR[=]<\fIfilename pattern\fR>
380
 
Instruct SLURM to connect slaunch's standard output directly to the 
381
 
file name specified in the "\fIfilename pattern\fR".
382
 
See the \fB\-\-slaunch\-input\fR option for filename specification options.
383
 
 
384
 
.TP
385
 
\fB\-\-propagate\fR[=\fIrlimits\fR]
386
 
Allows users to specify which of the modifiable (soft) resource limits
387
 
to propagate to the compute nodes and apply to their jobs.  If
388
 
\fIrlimits\fR is not specified, then all resource limits will be
389
 
propagated.
390
 
The following rlimit names are supported by Slurm (although some
391
 
options may not be supported on some systems):
392
 
.RS
393
 
.TP 10
394
 
\fBAS\fR
395
 
The maximum address space for a processes
396
 
.TP
397
 
\fBCORE\fR
398
 
The maximum size of core file
399
 
.TP
400
 
\fBCPU\fR
401
 
The maximum amount of CPU time
402
 
.TP
403
 
\fBDATA\fR
404
 
The maximum size of a process's data segment
405
 
.TP
406
 
\fBFSIZE\fR
407
 
The maximum size of files created
408
 
.TP
409
 
\fBMEMLOCK\fR
410
 
The maximum size that may be locked into memory
411
 
.TP
412
 
\fBNOFILE\fR
413
 
The maximum number of open files
414
 
.TP
415
 
\fBNPROC\fR
416
 
The maximum number of processes available
417
 
.TP
418
 
\fBRSS\fR
419
 
The maximum resident set size
420
 
.TP
421
 
\fBSTACK\fR
422
 
The maximum stack size
423
 
.RE
424
 
 
425
 
.TP
426
 
\fB\-\-prolog\fR[=]<\fIexecutable\fR>
427
 
\fBslaunch\fR will run \fIexecutable\fR just before launching the job step.
428
 
The command line arguments for \fIexecutable\fR will be the command
429
 
and arguments of the job step.  If \fIexecutable\fR is "none", then
430
 
no prolog will be run.  This parameter overrides the SrunProlog
431
 
parameter in slurm.conf.
432
 
 
433
 
.TP
434
 
\fB\-q\fR, \fB\-\-quiet\fR
435
 
Suppress informational messages from slaunch. Errors will still be displayed.
436
 
 
437
 
.TP 
438
 
\fB\-r\fR, \fB\-\-relative\fR[=]<\fInumber\fR>
439
 
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 option to \-\-relative may also be a negative number.  \-1 is the last node in the allocation, \-2 is the next to last node, etc.  By default, the controller will select the starting node (assuming that there are no other nodelist or task layout options that specify specific nodes).
440
 
 
441
 
.TP 
442
 
\fB\-\-slaunch\-input\-filter\fR[=]<\fItask number\fR>
443
 
.PD 0
444
 
.TP
445
 
\fB\-\-slaunch\-output\-filter\fR[=]<\fItask number\fR>
446
 
.PD 0
447
 
.TP 
448
 
\fB\-\-slaunch\-error\-filter\fR[=]<\fItask number\fR>
449
 
.PD
450
 
Only transmit standard input to a single task, or print the standard output
451
 
or standard error from a single task.  These options perform the filtering
452
 
locally in slaunch.  All tasks are still capable of sending or receiving
453
 
standard IO over the network, so the "sattach" command can still access the
454
 
standard IO streams of the other tasks.  (NOTE: for \-output and \-error,
455
 
the streams from all tasks WILL be transmitted to slaunch, but it will only
456
 
print the streams for the selected task.  If your tasks print a great deal of
457
 
data to standard output or error, this can be performance limiting.)
458
 
 
459
 
.TP 
460
 
\fB\-T\fR, \fB\-\-task\-layout\-byid\fR[=]<\fInode index list\fR>
461
 
Request a specific task layout using node indices within the job allocation.  The node index list can contain duplicate indices, and the indices may appear in any order.  The order of indices in the nodelist IS significant.  Each node index in the list represents one task, with the Nth node index in the list designating on which node the Nth task should be launched.
462
 
 
463
 
For example, given an allocation of nodes "linux[0\-15]" and a node index list "4,\-1,1\-3" task 0 will run on "linux4", task 1 will run on "linux15", task 2 on "linux1", task 3 on "linux2", and task 4 on "linux3".
464
 
 
465
 
NOTE: This option implicitly sets the task distribution method to "arbitrary".  Some network switch layers do not permit arbitrary task layout.
466
 
 
467
 
.TP
468
 
\fB\-\-task\-epilog\fR[=]<\fIexecutable\fR>
469
 
The \fBslurmd\fR daemon will run \fIexecutable\fR just after each task
470
 
terminates. This will be before after any TaskEpilog parameter      
471
 
in slurm.conf is executed. This is meant to be a very short\-lived 
472
 
program. If it fails to terminate within a few seconds, it will 
473
 
be killed along with any descendant processes.
474
 
 
475
 
.TP
476
 
\fB\-\-task\-prolog\fR[=]<\fIexecutable\fR>
477
 
The \fBslurmd\fR daemon will run \fIexecutable\fR just before launching 
478
 
each task. This will be executed after any TaskProlog parameter 
479
 
in slurm.conf is executed.
480
 
Besides the normal environment variables, this has SLURM_TASK_PID
481
 
available to identify the process ID of the task being started.
482
 
Standard output from this program of the form
483
 
"export NAME=value" will be used to set environment variables
484
 
for the task being spawned.
485
 
 
486
 
.TP
487
 
\fB\-u\fR, \fB\-\-unbuffered\fR
488
 
Do not line buffer standard output or standard error from remote tasks.
489
 
This option cannot be used with \-\-label.
490
 
 
491
 
.TP
492
 
\fB\-\-uid\fR[=]<\fIuser\fR>
493
 
Attempt to submit and/or run a job as \fIuser\fR instead of the
494
 
invoking user id. The invoking user's credentials will be used
495
 
to check access permissions for the target partition. User root
496
 
may use this option to run jobs as a normal user in a RootOnly
497
 
partition for example. If run as root, \fBslaunch\fR will drop
498
 
its permissions to the uid specified after node allocation is
499
 
successful. \fIuser\fR may be the user name or numerical user ID.
500
 
 
501
 
.TP
502
 
\fB\-\-usage\fR
503
 
Display brief usage message and exit.
504
 
 
505
 
.TP 
506
 
\fB\-V\fR, \fB\-\-version\fR
507
 
Display version information and exit.
508
 
 
509
 
.TP
510
 
\fB\-v\fR, \fB\-\-verbose\fR
511
 
Increase the verbosity of slaunch's informational messages.  Multiple \-v's
512
 
will further increase slaunch's verbosity.
513
 
 
514
 
.TP
515
 
\fB\-W\fR, \fB\-\-wait\fR[=]<\fIseconds\fR>
516
 
slaunch will wait the specified number of seconds after the first tasks exits
517
 
before killing all tasks in the job step.  If the value is 0, slaunch will
518
 
wait indefinitely for all tasks to exit.  The default value is give by the
519
 
WaitTime parameter in the slurm configuration file (see \fBslurm.conf(5)\fR).
520
 
 
521
 
The \-\-wait option can be used to insure that a job step terminates in a timely
522
 
fashion in the event that one or more tasks terminate prematurely.
523
 
 
524
 
.TP 
525
 
\fB\-w\fR, \fB\-\-nodelist\-byname\fR[=]<\fInode name list\fR>
526
 
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.
527
 
The order of the node names in the list is not important; the node names
528
 
will be sorted my SLURM.
529
 
 
530
 
.TP 
531
 
\fB\-Y\fR, \fB\-\-task\-layout\-byname\fR[=]<\fInode name list\fR>
532
 
Request a specific task layout.  The nodelist can contain duplicate node
533
 
names, and node names may appear in any order.  The order of node names in
534
 
the nodelist IS significant.  Each node name in the nodes list represents
535
 
one task, with the Nth node name in the nodelist designating on which node
536
 
the Nth task should be launched.  For example, a nodelist of mynode[4,3,1\-2,4]
537
 
means that tasks 0 and 4 will run on mynode4, task 1 will run on mynode3,
538
 
task 2 will run on mynode1, and task 3 will run on mynode2.
539
 
 
540
 
NOTE: This option implicitly sets the task distribution method to "arbitrary".
541
 
Some network switch layers do not permit arbitrary task layout.
542
 
 
543
 
.SH "INPUT ENVIRONMENT VARIABLES"
544
 
.PP
545
 
Some slaunch options may be set via environment variables. 
546
 
These environment variables, along with their corresponding options, 
547
 
are listed below.
548
 
Note: Command line options will always override environment variables settings.
549
 
.TP 25
550
 
\fBSLAUNCH_COMM_HOSTNAME\fR
551
 
Same as \fB\-\-comm\-hostname\fR.
552
 
.TP
553
 
\fBSLAUNCH_CORE_FORMAT\fR
554
 
Same as \fB\-\-core\fR.
555
 
.TP
556
 
\fBSLAUNCH_CPU_BIND\fR
557
 
Same as \fB\-\-cpu_bind\fR.
558
 
.TP
559
 
\fBSLAUNCH_DEBUG\fR
560
 
Same as \fB\-v\fR or \fB\-\-verbose\fR.
561
 
.TP
562
 
\fBSLAUNCH_DISTRIBUTION\fR
563
 
Same as \fB\-m\fR or \fB\-\-distribution\fR.
564
 
.TP
565
 
\fBSLAUNCH_EPILOG\fR
566
 
Same as \fB\-\-epilog\fR=\fIexecutable\fR.
567
 
.TP
568
 
\fBSLAUNCH_JOBID\fR
569
 
Same as \fB\-\-jobid\fR.
570
 
.TP
571
 
\fBSLAUNCH_KILL_BAD_EXIT\fR
572
 
Same as \fB\-K\fR or \fB\-\-kill\-on\-bad\-exit\fR.
573
 
.TP
574
 
\fBSLAUNCH_LABELIO\fR
575
 
Same as \fB\-l\fR or \fB\-\-label\fR.
576
 
.TP
577
 
\fBSLAUNCH_MEM_BIND\fR
578
 
Same as \fB\-\-mem_bind\fR.
579
 
.TP
580
 
\fBSLAUNCH_MPI_TYPE\fR
581
 
Same as \fB\-\-mpi\fR.
582
 
.TP
583
 
\fBSLAUNCH_OVERCOMMIT\fR
584
 
Same as \fB\-C\fR or \fB\-\-overcomit\fR.
585
 
.TP
586
 
\fBSLAUNCH_PROLOG\fR
587
 
Same as \fB\-\-prolog\fR=\fIexecutable\fR.
588
 
.TP
589
 
\fBSLAUNCH_TASK_EPILOG\fR
590
 
Same as \fB\-\-task\-epilog\fR=\fIexecutable\fR.
591
 
.TP
592
 
\fBSLAUNCH_TASK_PROLOG\fR
593
 
Same as \fB\-\-task\-prolog\fR=\fIexecutable\fR.
594
 
.TP
595
 
\fBSLAUNCH_WAIT\fR
596
 
Same as \fB\-W\fR or \fB\-\-wait\fR.
597
 
.TP
598
 
\fBSLURMD_DEBUG\fR
599
 
Same as \fB\-d\fR or \fB\-\-slurmd\-debug\fR
600
 
 
601
 
.SH "OUTPUT ENVIRONMENT VARIABLES"
602
 
.PP
603
 
slaunch will set the following environment variables which will
604
 
appear in the environments of all tasks in the job step.  Since slaunch
605
 
sets these variables itself, they will also be available to \-\-prolog
606
 
and \-\-epilog scripts.  (Notice that the "backwards compatibility" environment
607
 
variables clobber some of the variables that were set by salloc or sbatch
608
 
at job allocation time.  The newer SLURM_JOB_* and SLURM_STEP_* names do not
609
 
conflict, so any task in any job step can easily determine the parameters
610
 
of the job allocation.)
611
 
.TP
612
 
\fBSLURM_STEP_ID\fR (and \fBSLURM_STEPID\fR for backwards compatibility)
613
 
The ID of the job step within the job allocation.
614
 
.TP
615
 
\fBSLURM_STEP_NODELIST\fR
616
 
The list of nodes in the job step.
617
 
.TP
618
 
\fBSLURM_STEP_NUM_NODES\fR (and \fBSLURM_NNODES\fR for backwards compatibility)
619
 
The number of nodes used by the job step.
620
 
.TP
621
 
\fBSLURM_STEP_NUM_TASKS\fR (and \fBSLURM_NPROCS\fR for backwards compatibility)
622
 
The number of tasks in the job step.
623
 
.TP
624
 
\fBSLURM_STEP_TASKS_PER_NODE\fR (and \fBSLURM_TASKS_PER_NODE\fR for backwards compatibility)
625
 
The number of tasks on each node in the job step.
626
 
.TP
627
 
\fBSLURM_STEP_LAUNCHER_HOSTNAME\fR (and \fBSLURM_SRUN_COMM_HOST\fR for backwards compatibility)
628
 
.TP
629
 
\fBSLURM_STEP_LAUNCHER_PORT\fR (and \fBSLURM_SRUN_COMM_PORT\fR for backwards compatibility)
630
 
 
631
 
.PP
632
 
Additionally, SLURM daemons will ensure that the the following variables are
633
 
set in the environments of all tasks in the job step.  Many of the following
634
 
variables will have different values in each task's environment.  (These
635
 
variables are not available to the slaunch \-\-prolog and \-\-epilog scripts.)
636
 
 
637
 
.TP
638
 
\fBSLURM_NODEID\fR
639
 
Node ID relative to other nodes in the job step.  Counting begins at zero.
640
 
.TP
641
 
\fBSLURM_PROCID\fR
642
 
Task ID relative to the other tasks in the job step.  Counting begins at zero.
643
 
.TP
644
 
\fBSLURM_LOCALID\fR
645
 
Task ID relative to the other tasks on the same node which belong to the
646
 
same job step.  Counting begins at zero.
647
 
.TP
648
 
\fBSLURMD_NODENAME\fR
649
 
The SLURM NodeName for the node on which the task is running.  Depending
650
 
on how your system administrator has configured SLURM, the NodeName for a
651
 
node may not be the same as the node's hostname.  When you use commands
652
 
such as \fBsinfo\fR and \fBsqueue\fR, or look at environment variables such
653
 
as SLURM_JOB_NODELIST and SLURM_STEP_NODELIST, you are seeing SLURM NodeNames.
654
 
 
655
 
.SH "MULTIPLE PROGRAMS FILE"
656
 
Comments in the configuration file must have a "#" in collumn one.
657
 
The configuration file contains the following fields separated by white
658
 
space:
659
 
.TP
660
 
Task rank
661
 
One or more task ranks to use this configuration.
662
 
Multiple values may be comma separated.
663
 
Ranges may be indicated with two numbers separated with a '\-'.
664
 
To indicate all tasks, specify a rank of '*' (in which case you probably 
665
 
should not be using this option).
666
 
.TP
667
 
Executable
668
 
The name of the program to execute.
669
 
May be fully qualified pathname if desired.
670
 
.TP
671
 
Arguments
672
 
Program arguments.
673
 
The expression "%t" will be replaced with the task's number.
674
 
The expression "%o" will be replaced with the task's offset within
675
 
this range (e.g. a configured task rank value of "1\-5" would
676
 
have offset values of "0\-4").
677
 
Single quotes may be used to avoid having the enclosed values interpretted.
678
 
This field is optional.
679
 
.PP
680
 
For example:
681
 
.nf
682
 
###################################################################
683
 
# srun multiple program configuration file
684
 
#
685
 
# srun \-n8 \-l \-\-multi\-prog silly.conf
686
 
###################################################################
687
 
4\-6       hostname
688
 
1,7       echo  task:%t
689
 
0,2\-3     echo  offset:%o
690
 
 
691
 
$ srun \-n8 \-l \-\-multi\-prog silly.conf
692
 
0: offset:0
693
 
1: task:1
694
 
2: offset:1
695
 
3: offset:2
696
 
4: linux15.llnl.gov
697
 
5: linux16.llnl.gov
698
 
6: linux17.llnl.gov
699
 
7: task:7
700
 
 
701
 
.fi
702
 
 
703
 
.SH "EXAMPLES"
704
 
.LP 
705
 
To launch a job step (parallel program) in an existing job allocation:
706
 
.IP 
707
 
slaunch \-\-jobid 66777 \-N2 \-n8 myprogram
708
 
 
709
 
.LP 
710
 
To grab an allocation of nodes and launch a parallel application on one command line (See the \fBsalloc\fR man page for more examples):
711
 
.IP 
712
 
salloc \-N5 slaunch \-n10 myprogram
713
 
 
714
 
.SH "COPYING"
715
 
Copyright (C) 2006\-2007 The Regents of the University of California.
716
 
Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
717
 
UCRL\-CODE\-226842.
718
 
.LP
719
 
This file is part of SLURM, a resource management program.
720
 
For details, see <https://computing.llnl.gov/linux/slurm/>.
721
 
.LP
722
 
SLURM is free software; you can redistribute it and/or modify it under
723
 
the terms of the GNU General Public License as published by the Free
724
 
Software Foundation; either version 2 of the License, or (at your option)
725
 
any later version.
726
 
.LP
727
 
SLURM is distributed in the hope that it will be useful, but WITHOUT ANY
728
 
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
729
 
FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
730
 
details.
731
 
 
732
 
.SH "SEE ALSO"
733
 
.LP 
734
 
sinfo(1), sattach(1), salloc(1), sbatch(1), squeue(1), scancel(1), scontrol(1), slurm.conf(5), sched_setaffinity(2), numa(3)