mpqcrun(1)
π mpqcrun β the NAME section, bestie
mpqcrun β the program that makes running MPQC, like, actually easy. β¨
It lives in the General Commands Manual, and yes, she's a whole queen. π
πΈ Synopsis
mpqcrun [options] [file1.in] [file2.in] ...
π Description
Okay so real talk: mpqcrun makes the whole "running MPQC on a million input files" situation so much less of a nightmare. It was primarily designed to run the validation suite, but ngl she's general enough to be useful in literally any other situation too. π
And if you've got multiple nodes or processors hanging around? She can manage multiple invocations of MPQC at once. Multi-tasking queen. Periodt. π
β¨ Running mpqcrun
mpqcrun takes the following command line options, and yes, we're going through every single one:
--mpqcpath β the mpqc executable to use. Pick your fighter. π--objdirβ run the mpqc executable in the compile directory instead of the install directory.--smallβ skip the big runs in the verification suite. Tiny runs only, we're conserving energy. π--nnodeperjobn β run with n nodes per job. And if this isnnode, use all the available nodes. Greedy but valid.--nprocpernoden β run with n processes per node.--nprocperjobn β run with n processes per job. Default is to use all available processors (she's an overachiever, we love that).--nthreadperprocn β use n threads per process.--threadgrpgrp β use the given threading layer. Your options:grp=noneβ use MPQC's default.grp=procβ do a single threaded run.grp=posixβ use POSIX threads.
--messagegrpgrp β use the given communication layer. Your options:grp=noneβ use MPQC's default.grp=procβ does a single processor run.grp=mpiβ use MPI.
--memorygrpgrp β use the given remote memory communication layer. Your options:grp=noneβ use MPQC's default.grp=procβ does a single processor run.grp=mtmpiβ use multi-threaded MPI.grp=armciβ use ARMCI.
--launchcmd β use the given command to launch jobs. (More on this below, keep reading π)--nodefilefile β specifies a file listing nodes to use. Duplicated nodes get removed, no dupes allowed, we're not doing that here. π--nodesnodes β specifies a list of machines to use. You can give a range of nodes with two integers separated by a dash, and groups of nodes can be separated by a comma.--nodenamefmt β this is a format string that converts the node number to its name. Glow-up for integers. β¨--seqregex β run inputs matching reqex sequentially. (spelled exactly like that, iykyk β she's quirky like that π) This is useful when one input requires that another be run first, and more than one job is running at a time.--excluderegex β exclude files matching regex. Not you, not you, definitely not you.--readdirdir β run mpqc on all files matchingdir/*.in.--inputprefixprefix β prepend prefix to all input file names.--outputprefixprefix β prepend prefix to all output file names.--countβ print the number of input files that would be run. Just a headcount, no actual running. π«Ά--printfilesβ print the list of input files that would be run.--rerunβ overwrite the output file, even if it's up-to-date. Chaotic, but do your thing.--onlynewβ do not overwrite the output file, even if it's not up-to-date.--simpoutβ do not append extra info likennodeto the filename.--uniqoutβ generate unique output filenames. No two alike. π--autooutβ generate output filenames by replacing the suffix with"out".--verboseβ print out what action is to be taken on each file. She's narrating. Let her cook. π--debugβ don't actually run mpqc. Fake it till you make it.--helpβ print the documentation. Hi bestie, you're already here. π
π¦ The --launch special strings
The cmd you hand over with --launch can contain special strings that will get substituted. Slots, if you will. And they are:
%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 β %NODEFILE% and %NODELIST% β if they're contained within square brackets and a substitution is not available, then everything within the brackets is removed. That's the whole trick. π§
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 a list of hosts on the command line:
--launch "mpirun [-H %NODELIST%] -n %NPROC% %MPQC% -o %OUTPUT% %INPUT%"
π License
mpqcrun is open-source software, bestie β 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. Free is free. π
β οΈ 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.
Okay so no cap: there is genuinely no warranty here. Zero. Nada. She's doing her best, but you have been warned. π
MPQC Β· Version 2.3.1 Β· mpqcrun(1)
And that's the whole page, bestie β that footer energy is real: this is MPQC, Version 2.3.1, and you just read mpqcrun(1). Slay. π
β¨π¦
π¦ where this page comes from
- fedora 43: mpqc 2.3.1-65.fc43 Β· GPL-2.0-or-later AND LicenseRef-Callaway-LGPLv2+
- fedora 44: mpqc 2.3.1-67.fc44 Β· GPL-2.0-or-later AND LicenseRef-Callaway-LGPLv2+
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms