Thanks for the fast answer Axel.
> i assume that you want to have the driver run in parallel
> across groups of processors and each group run a parallel
> lammps execution (if not please explain what you want to do).
>
I want a driver that runs parallel across groups of processors but each
group may consist of a single processors. Because of that I want to call
lammps part serial. The driver runs parallel on N cpus but every CPU run
different lammps with different inputs.
if you want the lammps part to be serial, you can compile the
lammps library against the MPI stub library that is supplied
with the lammps sources. then you can ignore MPI in your driver.
> to get this you have to partition your world communicator
> into groups and then call the lammps library with these.
>
My driver is written in fortran if I initiate MPI in the Fortran part
and create subcommunicators in c++ part would be ok?
that is bad. generally interfacing and calling c++ from
fortran can be very tricky, although not impossible. apart
from that, some MPI libraries support converting fortran
communicators to c/c++ others don't. you would have to
create a groups with just one MPI task in them for each
individual call to the driver code.
cheers,
axel.