The mpqcrun program simplifies running MPQC.
Description
The mpqcrun program simplifies the task of running MPQC on multiple input files. Although it was primarily designed to run the validation suite, mpqcrun, is general enough to be useful in other situations. If multiple nodes or processors are present, it can be used to manage multiple invocations of MPQC.
Running mpqcrun
mpqcrun takes the following command line options:
–mpqc
path
- The mpqc executable to use.
–objdir
- Run the mpqc executable in the compile directory, rather than the install directory.
–small
- Skip big runs in verification suite.
–nnodeperjob
n
- Run with n nodes per job. If this is
nnode
, use all available nodes.
–nprocpernode
n
- Run with n processes per node.
–nprocperjob
n
- Run with n processes per job. The default is to use all available processors.
–nthreadperproc
n
- Use n threads per process.
–threadgrp
grp
- Use the given threading layer.
- grp=
none
- Use MPQC's default.
- grp=
proc
- Do a single threaded run.
- grp=
posix
- Use POSIX threads.
–messagegrp
grp
- Use the given communication layer.
- grp=
none
- Use MPQC's default.
- grp=
proc
- Does a single processor run.
- grp=
mpi
- Use MPI.
–memorygrp
grp
- Use the given remote memory communication layer.
- grp=
none
- Use MPQC's default.
- grp=
proc
- Does a single processor run.
- grp=
mtmpi
- Use multi-threaded MPI.
- grp=
armci
- Use ARMCI.
–memorysize
s
- Use at most the specified amount of memory. Examples of valid values: 0 (=unlimited), 32000000, 32000KB 32MB, 0.032GB, 0.000032TB. The default is to assume an unlimited amount of memory.
–diskpath
s
- The location for temporary high-speed storage. Directory name should end in "/", for example: –diskpath="/scratch/evaleev/". By default temporary files will be written to the current working directory, i.e. ./ .
–disksize
s
- Use at most the specified amount of disk storage. See also
–memorysize
. The default is to assume an unlimited amount ofdisk storage.
–launch
cmd
- Use the given command to launch jobs. See below.
–nodefile
file
- Specifies a file listing nodes to use. Duplicated nodes are removed.
–nodes
nodes
- Specifies list of machines to use. A range of nodes can be given with two integers separated by a dash. Groups of nodes can be separated by a comma.
–nodename
fmt
- This is a format string that converts the node number to its name.
–seq
regex
- Run inputs matching reqex sequentially. This is useful when one input requires that another be run first, and more than one job is run at a time.
–exclude
regex
- Exclude files matching regex.
–readdir
dir
- Run mpqc on all files matching dir/*.in.
–inputprefix
prefix
- Prepend prefix to all input file names.
–outputprefix
prefix
- Prepend prefix to all output file names.
–count
- Print the number of input files that would be run.
–printfiles
- Print the list of input files that would be run.
–rerun
- Overwrite output file, even if up-to-date.
–onlynew
- Do not overwrite output file, even if not up-to-date.
–simpout
- Do not append extra info like nnode to filename.
–uniqout
- Generate unique output filenames.
–autoout
- Generate output filenames by replacing the suffix with "out".
–verbose
- Print out what action is to be taken on each file.
–debug
- Don't actually run mpqc.
–help
Print the documentation.
The cmd given with the –launch
option can contain special strings that will be substituted:
%MPQCRUNPROC%
- Script to runs MPQC with the environment set up correctly.
%INPUT%
- The input filename.
%OUTPUT%
- The output filename.
%NPROC%
- The number of processes to start.
%NODEFILE%
- The name of a file containing the node names.
%CONFIGFILE%
- The name of a file having lines of the form: node: command.
%IFHNFILE%
- The name of a file having lines of the form: node ifhn=value.
%NODELIST%
- A comma separated list of node names.
%MPQC%
- The MPQC executable.
For these last two, if they are contained within square brackets and a substitution is not available, then everything within the the brackets is removed.
This argument will launch MPI jobs giving mpirun a nodefile.
--launch "mpirun [-hf %NODEFILE%] -n %NPROC% %MPQC% -o %OUTPUT% %INPUT%"
This argument will launch MPI jobs giving mpirun list of hosts on the command line.
--launch "mpirun [-H %NODELIST%] -n %NPROC% %MPQC% -o %OUTPUT% %INPUT%"
License
mpqcrun is open-source software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Warranty
mpqcrun is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.