[0b990d] | 1 |
|
---|
| 2 | /** \page mpqcrun
|
---|
| 3 |
|
---|
| 4 | The mpqcrun program simplifies running MPQC.
|
---|
| 5 |
|
---|
| 6 | \if man
|
---|
| 7 | <h1>Synopsis</h1>
|
---|
| 8 |
|
---|
| 9 | <pre>
|
---|
| 10 | mpqcrun [options] [file1.in] [file2.in] ...
|
---|
| 11 | </pre>
|
---|
| 12 | \endif
|
---|
| 13 |
|
---|
| 14 | <h1>Description</h1>
|
---|
| 15 |
|
---|
| 16 | The mpqcrun program simplifies the task of running MPQC on multiple input
|
---|
| 17 | files. Although it was primarily designed to run the validation suite,
|
---|
| 18 | mpqcrun, is
|
---|
| 19 | general enough to be useful in other situations. If multiple nodes or
|
---|
| 20 | processors are present, it can be used to manage multiple invocations of
|
---|
| 21 | MPQC.
|
---|
| 22 |
|
---|
| 23 | <h1>Running mpqcrun</h1>
|
---|
| 24 |
|
---|
| 25 | mpqcrun takes the following command line options:
|
---|
| 26 |
|
---|
| 27 | <dl>
|
---|
| 28 |
|
---|
| 29 | <dt><tt>--mpqc</tt> path<dd>The mpqc executable to use.
|
---|
| 30 | <dt><tt>--objdir</tt><dd>Run the mpqc executable in the compile directory,
|
---|
| 31 | rather than the install directory.
|
---|
| 32 | <dt><tt>--small</tt><dd>Skip big runs in verification suite.
|
---|
| 33 | <dt><tt>--nnodeperjob</tt> n<dd>Run with n nodes per job. If this is <tt>nnode</tt>, use all available nodes.
|
---|
| 34 | <dt><tt>--nprocpernode</tt> n<dd>Run with n processes per node.
|
---|
| 35 | <dt><tt>--nprocperjob</tt> n<dd>Run with n processes per job. The default is to use all available processors.
|
---|
| 36 | <dt><tt>--nthreadperproc</tt> n<dd>Use n threads per process.
|
---|
| 37 | <dt><tt>--threadgrp</tt> grp<dd>Use the given threading layer.
|
---|
| 38 | <dl>
|
---|
| 39 | <dt>grp=<tt>none</tt><dd>Use MPQC's default.
|
---|
| 40 | <dt>grp=<tt>proc</tt><dd>Do a single threaded run.
|
---|
| 41 | <dt>grp=<tt>posix</tt><dd>Use POSIX threads.
|
---|
| 42 | </dl>
|
---|
| 43 | <dt><tt>--messagegrp</tt> grp<dd>Use the given communication layer.
|
---|
| 44 | <dl>
|
---|
| 45 | <dt>grp=<tt>none</tt><dd>Use MPQC's default.
|
---|
| 46 | <dt>grp=<tt>proc</tt><dd>Does a single processor run.
|
---|
| 47 | <dt>grp=<tt>mpi</tt><dd>Use MPI.
|
---|
| 48 | </dl>
|
---|
| 49 | <dt><tt>--memorygrp</tt> grp<dd>Use the given remote memory communication layer.
|
---|
| 50 | <dl>
|
---|
| 51 | <dt>grp=<tt>none</tt><dd>Use MPQC's default.
|
---|
| 52 | <dt>grp=<tt>proc</tt><dd>Does a single processor run.
|
---|
| 53 | <dt>grp=<tt>mtmpi</tt><dd>Use multi-threaded MPI.
|
---|
| 54 | <dt>grp=<tt>armci</tt><dd>Use ARMCI.
|
---|
| 55 | </dl>
|
---|
| 56 | <dt><tt>--launch</tt> cmd<dd>Use the given command to launch jobs. See below.
|
---|
| 57 | <dt><tt>--nodefile</tt> file<dd>Specifies a file listing nodes to use.
|
---|
| 58 | Duplicated nodes are removed.
|
---|
| 59 | <dt><tt>--nodes</tt> nodes<dd>Specifies list of machines to use.
|
---|
| 60 | A range of nodes can be given with two
|
---|
| 61 | integers separated by a dash. Groups of
|
---|
| 62 | nodes can be separated by a comma.
|
---|
| 63 | <dt><tt>--nodename</tt> fmt<dd>This is a format string that converts the
|
---|
| 64 | node number to its name.
|
---|
| 65 | <dt><tt>--seq</tt> regex<dd>Run inputs matching reqex sequentially.
|
---|
| 66 | This is useful when one input requires that
|
---|
| 67 | another be run first, and more than
|
---|
| 68 | one job is run at a time.
|
---|
| 69 | <dt><tt>--exclude</tt> regex<dd>Exclude files matching regex.
|
---|
| 70 | <dt><tt>--readdir</tt> dir<dd>Run mpqc on all files matching dir/*.in.
|
---|
| 71 | <dt><tt>--inputprefix</tt> prefix<dd>Prepend prefix to all input file names.
|
---|
| 72 | <dt><tt>--outputprefix</tt> prefix<dd>Prepend prefix to all output file names.
|
---|
| 73 | <dt><tt>--count</tt><dd>Print the number of input files that would be run.
|
---|
| 74 | <dt><tt>--printfiles</tt><dd>Print the list of input files that would be run.
|
---|
| 75 | <dt><tt>--rerun</tt><dd>Overwrite output file, even if up-to-date.
|
---|
| 76 | <dt><tt>--onlynew</tt><dd>Do not overwrite output file, even if not up-to-date.
|
---|
| 77 | <dt><tt>--simpout</tt><dd>Do not append extra info like nnode to filename.
|
---|
| 78 | <dt><tt>--uniqout</tt><dd>Generate unique output filenames.
|
---|
| 79 | <dt><tt>--autoout</tt><dd>Generate output filenames by replacing
|
---|
| 80 | the suffix with "out".
|
---|
| 81 | <dt><tt>--verbose</tt><dd>Print out what action is to be taken on each file.
|
---|
| 82 | <dt><tt>--debug</tt><dd>Don't actually run mpqc.
|
---|
| 83 | <dt><tt>--help</tt><dd>Print the documentation.
|
---|
| 84 |
|
---|
| 85 | </dl>
|
---|
| 86 |
|
---|
| 87 | The cmd given with the <tt>--launch</tt> option can contain special strings
|
---|
| 88 | that will be substituted:
|
---|
| 89 | <dl>
|
---|
| 90 | <dt><tt>\%MPQC%</tt><dd>The MPQC program to run.
|
---|
| 91 | <dt><tt>\%INPUT%</tt><dd>The input filename.
|
---|
| 92 | <dt><tt>\%OUTPUT%</tt><dd>The output filename.
|
---|
| 93 | <dt><tt>\%NPROC%</tt><dd>The number of processes to start.
|
---|
| 94 | <dt><tt>\%NODEFILE%</tt><dd>The name of a file containing the node names.
|
---|
| 95 | <dt><tt>\%NODELIST%</tt><dd>A comma separated list of node names.
|
---|
| 96 | </dl>
|
---|
| 97 |
|
---|
| 98 | For these last two, if they are contained within square brackets
|
---|
| 99 | and a substitution is not available, then everything within the
|
---|
| 100 | the brackets is removed.
|
---|
| 101 |
|
---|
| 102 | This argument will launch MPI jobs giving mpirun a nodefile.
|
---|
| 103 | <pre>
|
---|
| 104 | --launch "mpirun [-hf %NODEFILE%] -n %NPROC% %MPQC% -o %OUTPUT% %INPUT%"
|
---|
| 105 | </pre>
|
---|
| 106 |
|
---|
| 107 | This argument will launch MPI jobs giving mpirun list of hosts on the
|
---|
| 108 | command line.
|
---|
| 109 | <pre>
|
---|
| 110 | --launch "mpirun [-H %NODELIST%] -n %NPROC% %MPQC% -o %OUTPUT% %INPUT%"
|
---|
| 111 | </pre>
|
---|
| 112 |
|
---|
| 113 | <h1>License</h1>
|
---|
| 114 |
|
---|
| 115 | mpqcrun is open-source software; you can redistribute it and/or modify it
|
---|
| 116 | under the terms of the GNU General Public License as published by the Free
|
---|
| 117 | Software Foundation; either version 2 of the License, or (at your option)
|
---|
| 118 | any later version.
|
---|
| 119 |
|
---|
| 120 | <h1>Warranty</h1>
|
---|
| 121 |
|
---|
| 122 | mpqcrun is distributed in the hope that it will be useful, but WITHOUT ANY
|
---|
| 123 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
---|
| 124 | FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
---|
| 125 | details.
|
---|
| 126 |
|
---|
| 127 | */
|
---|