ENH: support command-line specification of MPI threads (#2791)

- MPI_THREAD_MULTIPLE is usually undesirable for performance reasons,
  but in some cases may be necessary if a linked library expects it.
  Provide a '-mpi-threads' option to explicitly request it.

ENH: consolidate some looping logic within argList
This commit is contained in:
Mark Olesen
2023-06-15 11:23:31 +02:00
parent b2217d5e6b
commit 4412566c58
14 changed files with 366 additions and 233 deletions

View File

@ -44,6 +44,7 @@ Description
using namespace Foam;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
bool startMPI()
{
@ -121,19 +122,10 @@ int main(int argc, char *argv[])
{
argList::noBanner();
argList::noCheckProcessorDirectories();
argList::addBoolOption("verbose", "Set debug level");
argList::addVerboseOption("Set UPstream::debug level");
// Need to capture manually, since we need values before proper startup
int nVerbose = 0;
for (int argi = 1; argi < argc; ++argi)
{
if (strcmp(argv[argi], "-verbose") == 0)
{
++nVerbose;
}
}
UPstream::debug = nVerbose;
// Check -verbose before initialisation
UPstream::debug = argList::verbose(argc, argv);
startMPI();