KhiopsML / khiops

Khiops is an AutoML suite for supervised and unsupervised learning
https://khiops.org
BSD 3-Clause Clear License
36 stars 4 forks source link

Allow MPI command output to be verbose for OpenMPI #310

Closed popescu-v closed 1 month ago

popescu-v commented 5 months ago

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.

folmos-at-orange commented 5 months ago

I'd call it KHIOPS_MPI_QUIET because there is an --verbose option in OpenMPI in addition to --quiet.

popescu-v commented 5 months ago

I'd call it KHIOPS_MPI_QUIET because there is an --verbose option 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:

bruno-at-orange commented 5 months ago

The first proposal is fine: KHIOPS_MPI_VERBOSE which is set to "false" by default

folmos-at-orange commented 5 months ago
popescu-v commented 5 months ago
  • 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.

folmos-at-orange commented 5 months ago

Ok, @bruno-at-orange do you confirm the behavior above ?

popescu-v commented 5 months ago

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 ?