[lammps-users] processor grid

Deal all,

I am trying to run lammps parallely with four nodes, each containing 4 cpus. I want to set processors to be split to be 4x4. So excepting for doing this with mpirun -np 16 -partition 4x4 lmp_g++<in.put, whether could I define this in the in.put file? If yes, what is the relative commands?

Best regards,
Damien
2008-11-18

Deal all,

I am trying to run lammps parallely with four nodes, each containing
4 cpus. I want to set processors to be split to be 4x4. So excepting
for doing this with mpirun -np 16 -partition 4x4 lmp_g++<in.put,
whether could I define this in the in.put file? If yes, what is the
relative commands?

damien,

have you actually looked into the documentation
before asking? it cannot get much more obvious
than having a keyword named processors...
( http://lammps.sandia.gov/doc/processors.html )

apart from that, please note that optimization
of the communication to adapt to the topology
has to be done from within the MPI library and
that this only applies to collective communications.
please have a close look at the documentation of
your MPI implementation!

it is advisable to make some benchmark runs.
more often than not, the default choices of
lammps are best. mostly for systems with large
vacuum areas, an adjustment of the processor
grid can bring significant speed gains, but then
the choice is more based on optimizing the domain
decomposition rather than matching a processor
topology.

cheers,
    axel.

If you mean you want to run 4 independent LAMMPS jobs on
16 procs, then use -partition 4x4 as you indicate. That's all
you need to do (besides setting up the 4 jobs in your input
script). See doc/Section_howto.html 4.4 for examples of
how to do this.

If you mean you want to use 16 procs to run one LAMMPS job,
but you want them to be assigned to the simluation box
in a grid that is 4x4x1 instead of something LAMMPS would
likely choose (say 4x2x2), then use the "processors" command
in your input script that Alex indicated.

Steve

In the second case when there are 16 proc running one LAMMP job will there be only one process doing I/O? Is there any way i can increase the number of processes doing I/O something like 1 i/o proc per 4 processes?

–Mayur

The dump command will write out one file per processor if
you give it a filename with a % in it. See the doc page.

Steve