BigDFT API MPI question

Asked by Jean-François Joly

Hi,

    I'm wondering if there is a way to split the MPI group initialized by the bigdft_init() function? It seems to me (maybe I'm wrong) that mpi_comm_world is used by default. The reason I'm asking is that right now, the programs I am working uses BigDFT only for the force evaluations but the main thread (which is essentitally a serial program) is being run in parallel too, meaning that for example during writing/reading files, one must always make sure only 1 thread print outs, etc. It works fine but it makes it tedious for input/output operations.

     Is there a way so that bigdft is initialized within it's own MPI subgroup that so the calls to bigdft are somehow contained and separated from the calling program?

Thank you

Question information

Language:
English Edit question
Status:
Answered
For:
BigDFT Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Luigi Genovese (luigi-genovese) said :
#1

Dear Jeaen-Francois,

there is already such a scheme, which is related to running a separate set of BigDFT instances by adding
--taskgroup-size=<n> -l yes after the command line

see

bigdft --help

for a small description. Indeed the communicator is splitted in equal number of communicators corresponding to different runs in the input file specified by --runs-file list.
You might have a look to the tests/DFT/taskgroups directory to find some example.

Do not hesitate

Many thanks

Luigi

Can you help with this problem?

Provide an answer of your own, or ask Jean-François Joly for more information if necessary.

To post a message you must log in.