Result of minimzation depends on number of processors?

Dear all,

I'm running the attached script (simulating a NiNb-system) on a Ubuntu
1604 machine with the actual lmp_daily build
Large-scale Atomic/Molecular Massively Parallel Simulator - 8 Feb 2019
OS: Linux 4.4.0-143-generic on x86_64
Compiler: GNU C++ 5.4.0 20160609 with OpenMP 4.0

The result of the minimization steps has a rather large dependence on
the number of processors:

mpirun -np 1 lmp_daily -in sCC-stacked.in
results in final energy
poten=-3919.64083579973

whereas
mpirun -np 4 lmp_daily -in sCC-stacked.in
results in
poten=-3919.82781013138

With 6 processors, I get
poten=-3919.50253552079

With 8, 9, 11 and 12, the result agrees with the one-processor-run, with
10, the result agrees with the np-4 run.

Does anybody have an idea what is going on?

Thanks,
Martin.

PS: Unfortunately, I cannot share the potential file (since it is
unpublished and gotten from someone else).

sCC-stacked.in (1.69 KB)

sCC-stacked.lammps (32.6 KB)

when using a different number of processors, you sum up forces in a different order. that can lead to small changes due to the nature of floating-point math, which does not associate.

now, if you also have a rugged potential hyper-surface, you may find different minima with minimization because of that, since minimization does not guarantee to find the global minimum. this can be enhanced by the ininitial geometry, if atoms are placed on saddle points of the potential hyper-surface so that the tiniest difference may lead the atom to a different path.

axel.

Thanks a lot, I did not realize that my structure had this problem, but
indeed some atoms sit right there at saddle points.