mpqcrun(1)

NAME
mpqcrun - The mpqcrun program simplifies running MPQC.

Synopsis

mpqcrun [options] [file1.in] [file2.in] ...

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.

--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:

%MPQC%
    The MPQC program to run.

%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.

%NODELIST%
    A comma separated list of node names.

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.