8.4.3.1. TBiMpiRun and TSubMpiRun
In some case, users want to use multi level of parallelism. Two examples are given in the use cases
section : first one is an optimization where each evaluation realizes an experiment design and
launchs many evaluations and returns a overview of values (max, min, mean) ; second one uses an MPI
function (TPythonEval) for evaluation.
For a two level MPI, two classes are provided : TBiMpiRun and TSubMpiRun. TBiMpirun is the
high level class and splits MPI resources in different parts : one ressource for the TMaster and n
resources for each TEval. TSubMpiRun gives acces to the n ressources reserved for evaluation. For
example with 16 resources, 1 resource is reserved for the master and the rest can be splited in 3
parts of 5 resources each for evaluation. TBiMpiRun got an extra parameter, an int defining the
number of each evaluation resource. This number must be compatible with available resources (with 16
resources, it could be only 3 or 5).