Allow MPI command output to be verbose for OpenMPI
Description
Currently, the --quiet flag is added to the mpiexec command in the khiops-env script on Linux platforms, which utilize OpenMPI for native installations.
The goal of this issue is to add an environment variable KHIOPS_MPI_VERBOSE, which is set to "false" by default and, if set to "true", would remove the --quiet flag.
Thusly, MPI-related errors could be checked on demand.
I'd call it KHIOPS_MPI_QUIET because there is an --verbose option in OpenMPI in addition to --quiet.
I'd call it
KHIOPS_MPI_QUIETbecause there is an--verboseoption in OpenMPI in addition to--quiet.
One argument for the current KHIOPS_MPI_VERBOSE would be that, depending on the MPI back-end, this verbosity might mean different things:
- for OpenMPI, which is the default back-end for native installations on Linux (but can be overridden via the
KHIOPS_MPI_COMMANDandKHIOPS_MPI_LIBenvironment variables) we define this as being a switch on the--quietflag (and this might change in the future - perhaps by combining it with the--verboseflag ? @bruno-at-orange ?) - for MPICH (possible alternative back-end on some platforms - e.g.
khiops-coreon Conda), this does nothing currently, but could do in the future, - etc.
The first proposal is fine: KHIOPS_MPI_VERBOSE which is set to "false" by default
- What happens if it is not defined in the environment? It acts as a if it were
false? - What happens if it is defined values other than
trueandfalse?
- What happens if it is not defined in the environment? It acts as a if it were
false?
I would say "yes".
* What happens if it is defined values other than `true` and `false` ?
I would say anything != true acts like false.
Ok, @bruno-at-orange do you confirm the behavior above ?
My understading is that in khiops-env the KHIOPS_MPI_VERBOSE variable is set to "false" by default (that is, if it is not already defined in the environment). If this variable's value is different from "true" (which includes the default "false" or whatever the user has set), then --quiet is added to mpiexec. If this variable's value equals "true", then the --quiet flag is not added to mpiexec.
Is this also your understanding @bruno-at-orange ?