diff --git a/doc/man/man1/slaunch.1 b/doc/man/man1/slaunch.1 index 165f8e840d57874c5cbda5ba9fa747810b30f119..94c27c312fa25cee8f9c4f937a66eac27778370d 100644 --- a/doc/man/man1/slaunch.1 +++ b/doc/man/man1/slaunch.1 @@ -36,7 +36,7 @@ The order of the node names in the list is not important; the node names will be sorted my SLURM. .TP \fB\-L\fR, \fB\-\-nodelist\-byid\fR[=]<\fInode index list\fR> -Request a specific set of nodes in a job allaction for use by 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. +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. .TP \fB\-T\fR, \fB\-\-task\-layout\-byid\fR[=]<\fInode index list\fR> @@ -57,12 +57,78 @@ 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. - .TP \fB\-F\fR, \fB\-\-task\-layout\-file\fR[=]<\fIfilename\fR> 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. + +.TP +\fB\-i\fR, \fB\-\-local\-input\fR[=]\fIfilename pattern\fR +slaunch will open a local file with file name "filename pattern" and +transmit the contents to the standard input of the remote tasks. If the +filename pattern contains "%j" it will be replaced with the job allocation +number, "%s" is replaced with the job step number, and "%J" is replaced +with the the job allocation number AND job step number in the form "65538.2". +By default, slaunch will transmit its own standard input to the standard +input of all remote tasks. +.TP +\fB\-o\fR, \fB\-\-local\-output\fR[=]\fIfilename pattern\fR +slaunch will open a local file with file name "filename pattern" and +write to the file the standard output of any tasks that is sent back to +slaunch. If the filename pattern contains "%j" it will be replaced with +the job allocation number, "%s" is replaced with the job step number, and +"%J" is replaced with the the job allocation number AND job step number in +the form "65538.2".B y default, task standard output traffic is written +to slaunch's standard output. +.TP +\fB\-e\fR, \fB\-\-local\-error\fR[=]\fIfilename pattern\fR +slaunch will open a local file with file name "filename pattern" and +write to the file the standard error of any tasks that is sent back to +slaunch. If the filename pattern contains "%j" it will be replaced with +the job allocation number, "%s" is replaced with the job step number, and +"%J" is replaced with the the job allocation number AND job step number in +the form "65538.2".B y default, task standard error traffic is written +to slaunch's standard output. + +.TP +\fB\-I\fR, \fB\-\-remote\-input\fR[=]\fIfilename pattern\fR +.PD 0 +.TP +\fB\-O\fR, \fB\-\-remote\-output\fR[=]\fIfilename pattern\fR +.PD 0 +.TP +\fB\-E\fR, \fB\-\-remote\-error\fR[=]\fIfilename pattern\fR +.PD +These options connect each remotely running task's standard input, standard output, or standard error directly to the file name specified in the "\fIfilename pattern\fR". Unlike hte "\-\-local\-" options, no standard IO traffic will be transferred between slaunch and the tasks (for the specified input, output, or error stream) if the task is directly connected to a file. The pattern may contain one or more replacement symbols, which are a percent sign "%" followed by a letter (e.g. %t). If a replacement symbol is expanded to a different string for each task, then each task will obviously be connected to a different file. The supported replacement symbols are: + +.RS 10 +.TP +%J +Job allocation number and job step number in the form "jobid.stepid". For instance, "128.0". +.TP +%j +Job allocation number. +.TP +%s +Job step number. +.TP +%N +Node name. (Will result in a separate file per node.) +.TP +%n +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.) +.TP +%t +Task rank number. (Will result in a separate file per task.) + +.RS -10 + +.TP +\fB\-D\fR, \fB\-\-workdir\fR=\fIpath\fR +Set the working directory of the tasks to \fIpath\fR before execution. +The default task working directory is slaunch's working directory. + .TP \fB\-\-nice\fR=<\fIadjustment\fR> 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. @@ -77,7 +143,7 @@ Output version information and exit. .SH "ENVIRONMENT VARIABLES" .LP .TP -\fBSLURM_JOBID\fP +\fBSLAUNCH_JOBID\fP Same as \fB\-\-jobid\fR. .SH "EXAMPLES" .LP diff --git a/src/slaunch/opt.c b/src/slaunch/opt.c index 753e9f38b7f617caa75d465d98db4413e52b7d30..d72722b6d5548cc22fb352bae2722ea006c12327 100644 --- a/src/slaunch/opt.c +++ b/src/slaunch/opt.c @@ -816,7 +816,7 @@ void set_options(const int argc, char **argv) static struct option long_options[] = { {"cpus-per-task", required_argument, 0, 'c'}, {"slurmd-debug", required_argument, 0, 'd'}, - {"chdir", required_argument, 0, 'D'}, + {"workdir", required_argument, 0, 'D'}, {"local-error", required_argument, 0, 'e'}, {"remote-error", required_argument, 0, 'E'}, {"task-layout-file",required_argument,0,'F'}, @@ -1945,7 +1945,7 @@ static void _help(void) " -E, --remote-error=err location of remote stderr redirection\n" " -r, --relative=n run job step relative to node n of allocation\n" " -t, --time=minutes time limit\n" -" -D, --chdir=path change remote current working directory\n" +" -D, --workdir=path the working directory for the launched tasks\n" " -C, --overcommit overcommit resources\n" " -k, --no-kill do not kill job on node failure\n" " -K, --kill-on-bad-exit kill the job if any task terminates with a\n"