 # [lammps-users] about MPI and the efficiency of computing

Dear,

I have a Centos 5.1 OS computer which have 2CPUs and 4cores per CPU. I have installed MPI and started rsh,rexec service.

When I tested the MPI, I have found that the mpirun -np >1 is lesser efficient than mpirun -np 1. What does it matter?

ONE CPU

Pair time () = 3.92188 (79.1174) Neigh time () = 0.125 (2.52167)
Comm time () = 0.148438 (2.99448) Outpt time () = 0.0820312 (1.65485)
Other time (%) = 0.679688 (13.7116)

total time ~4s

four CPUs

Pair time () = 0.976562 (4.99825) Neigh time () = 0.0253906 (0.129955)
Comm time () = 14.3477 (73.4343) Outpt time () = 0.12207 (0.624781)
Other time (%) = 4.06641 (20.8127)

total time ~20s

can some kind people give me one explaination? Thanks

Dear Wende,
Look at the communication time data… That is making the difference. If you look at pair time, it is 1/4 in case of 4 CPUs. It seems like your system is pretty small. Parallel efficiency is in general better for simulating larger systems, where communication time is small as comparison to calculation time.

I am not sure about the 'other time"

Regards,
Vikas

Dear,

wende,

I have a Centos 5.1 OS computer which have 2CPUs and 4cores per CPU. I have
installed MPI and started rsh,rexec service.

enabling rsh/rexec is a bad idea unless you have a machine that is
not connected to any network.

When I tested the MPI, I have found that the mpirun -np >1 is lesser
efficient than mpirun -np 1. What does it matter?

ONE CPU

Pair time (\) = 3\.92188 \(79\.1174\) Neigh time \() = 0.125 (2.52167)
Comm time (\) = 0\.148438 \(2\.99448\) Outpt time \() = 0.0820312 (1.65485)
Other time (%) = 0.679688 (13.7116)

total time ~4s
four CPUs

Pair time (\) = 0\.976562 \(4\.99825\) Neigh time \() = 0.0253906 (0.129955)
Comm time (\) = 14\.3477 \(73\.4343\) Outpt time \() = 0.12207 (0.624781)
Other time (%) = 4.06641 (20.8127)

total time ~20s

can some kind people give me one explaination? Thanks

a benchmark that takes a few seconds is useless.
please consider that in the case of a parallel run
you first have to setup and initialize the parallel
environment.

cheers,
axel.