From c7cc6a70d89634b0c5813668cde01c19a9e478f7 Mon Sep 17 00:00:00 2001
From: Gennaro Oliva <oliva.g@na.icar.cnr.it>
Date: Tue, 6 Sep 2016 09:01:36 -0600
Subject: [PATCH] Add mpiexec man page to the script

bug 3055
---
 NEWS                       |   1 +
 contribs/torque/mpiexec.pl | 107 +++++++++++++++++++++++++++++++++++++
 2 files changed, 108 insertions(+)

diff --git a/NEWS b/NEWS
index 1ed867eafab..a725cc1c797 100644
--- a/NEWS
+++ b/NEWS
@@ -34,6 +34,7 @@ documents those changes that are of interest to users and administrators.
  -- sacctmgr - Fix displaying nodenames when printing out events or
     reservations.
  -- Fix mpiexec wrapper to accept task count with more than one digit.
+ -- Add mpiexec man page to the script. 
 
 * Changes in Slurm 16.05.4
 ==========================
diff --git a/contribs/torque/mpiexec.pl b/contribs/torque/mpiexec.pl
index c3132bf95e7..e6b67069657 100755
--- a/contribs/torque/mpiexec.pl
+++ b/contribs/torque/mpiexec.pl
@@ -166,5 +166,112 @@ system($command);
 
 system("rm -f $new_config") if($new_config);
 
+__END__
 
+=head1 NAME
 
+B<mpiexec.slurm> - Run an MPI program under Slurm
+
+=head1 SYNOPSIS
+
+mpiexec.slurm args executable pgmargs
+
+where args are comannd line arguments for mpiexec (see below), executable is
+the name of the eecutable and pgmargs are command line arguments for the
+executable. For example the following command will run the MPI progam a.out on
+4 processes:
+
+	mpiexec.slurm -n 4 a.out
+
+mpiexec.slurm supports the following options:
+
+         [-n nprocs]
+         [-host hostname]
+         [-verbose]
+         [-nostdin]
+         [-allstdin]
+         [-nostdout]
+         [-pernode]
+         [-config config_file]
+         [-help|-?]
+         [-man]
+
+=head1 DESCRIPTION
+
+The B<mpiexec.slurm> 
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-n <np>>
+
+Specify the number of processes to use
+
+=item B<-host hostname>
+
+Name of host on which to run processes
+
+=item B<-verbose>
+
+Increase the verbosity of mpiexec.slurm informational messages. Multiple
+-verbose's  will further increase mpiexec.slurm's verbosity. By default only
+errors will be displayed.
+
+=item B<-nostdin>
+
+Do not connect the standard input stream of process 0 to the mpiexec process.
+If the process attempts to read from stdin, it will see an end-of-file.
+
+=item B<-allstdin>
+
+Send the standard input stream of mpiexec.slurm to all processes. Each
+character typed to mpiexec (or read from a file) is duplicated numproc times,
+and sent to each process. This permits every process to read, for example,
+configuration information from the input stream. 
+
+=item B<-nostdout>
+
+Do not connect the standard output and error streams of each process back to
+the mpiexec.slurm process. Standard output and error will be respectively
+writte in files of the form job.ojobid and job.ejobid for batch jobs, and
+directly to the controlling terminal for interactive jobs.
+
+=item B<-pernode>
+
+Allocate only one process per compute node. For SMP nodes, only one processor
+will be allocated a job. This flag is used to implement multiple level
+parallelism with MPI between nodes, and threads within a node, assmuming the
+code is set up to do that.
+
+=item B<-config <config_file>>
+
+Process executable and arguments are specified in the given configuration file.
+This flag permits the use of heterogeneous jobs using multiple executables. No
+executable is given on the command line when using the -config flag. If
+config_file is "-", then the configuration is read from standard input. In this
+case the flag -nostdin is mandatory, as it is not possible to separate the
+contents of the configuration file from process input. The config_file can
+contain lines beginning with "#", that are considered comments and ignored and
+and one or more lines with the following format:
+
+	-n XX : executable [args]
+
+where XX is the number of processes to be used, executable is the name of the
+program to run and args are its arguments. For example:
+
+	# Sample mpiexec config file
+	# Launch two instance of foo
+	-n 2 : foo
+	# and three instances of bar
+	-n 3 bar
+
+There is no support for hostname task layout in a config file at the moment.
+
+=item B<-help|-?>
+
+Display a brief help page
+
+=back
+
+=cut
-- 
GitLab