nomad
nomad copied to clipboard
Question about parallelization
Is it possible to use NOMAD in parallelization both for python and matlab?
Current release of PyNOMAD is compiled without OpenMP support. The same goes for MATLAB interface.
You can bring your own parallelism by setting BB_MAX_BLOCK_SIZE
and evaluating blocks in parallel with, for example, mpi4py.futures.MPIPoolExecutor
or concurrent.futures.ProcessPoolExecutor
and a pool of (remote) processes.
Is it possible to run PSD-MADS in NOMAD4 just like in NOMAD3?
For example, if I set BB_EXE "$python3 my_func.py"
and PSD_MADS_OPTIMIZATION TRUE
in "param.txt", will it call PSD-MADS if I simply run $NOMAD_HOME/bin/nomad param.txt
? Or do I have to use mpirun to call $NOMAD_HOME/bin/nomad?
PSD-Mads in Nomad 4 is based upon OpenMP. In Nomad 3 it uses mpi. The algo is essentially the same in the two Nomad versions. In Nomad 4, the activation of PSD-Mads algorithm requires building Nomad with OpenMP (if it is available it is enabled by default, and you will see a "-- Test OpenMP for parallel functionalities -- found" during cmake setup) and the PSD_MADS_OPTIMIZATION parameter set to True.
@ctribes Got it, thanks.