Small differences in calculation results using read_restart command with different CPU cores


I am writing to report an issue that I encountered when using the read_restart command in LAMMPS. I attempted to perform some calculations that are completely identical, with the only difference being the number of CPU cores used. However, even with this change, I noticed that there were small differences in the calculation results.

I suspect that these differences may be caused by some minor errors in the parallel computation process, as there is no use of random number generator in the input files. Therefore, I am wondering if there is any method to avoid this issue, such as using higher precision in the computation.

For your reference, I am using Ubuntu 22.04 as my operating system and the LAMMPS version is lammps-23Jun2022.

Thank you for your assistance in advance.

It would be important to know which kind of results this is about and after how many MD steps you compared and how different those results were.

You would have to write a new MD software that uses fixed point math operations instead of floating point in order to avoid any of the “butterfly effect” divergences that happen with codes like LAMMPS that use floating point math. Essentially everything that changes the order in which the forces on atoms are computed will change the results slightly and will lead to an exponential divergence due to the fact that floating point math is not associative and that MD simulations are chaotic processes.

For further reading on this, please check out: