Running examples/benchmarks within LAMMPS distribution: WRONG RESULTS UNDER OPENMP
version: LAMMPS/29Sep2021-foss-2021a-Python-3.9.5-kokkos (easybuild HPC installation) LAMMPS (29 Sep 2021 - Update 3)
architecture: skylake ; os: CentOS 7.9.2009
specific case computed from examples/comb directory: Cu2O elastic constants
Five different computation modes have been used for the calculation:
-
Serial (lmp),
-
MPI (mpirun lmp),
-
OpenMP (lmp -sf omp),
-
Hybrid using all the correct options in the manual (mpirun lmp -sf omp -pk omp NOMP)
-
Hybrid after removing all options (mpirun lmp)
Please bear with me for using option five, which is against the instructions in the manual. I’ll show you its advantages below.
outcome:
option 1 (sequential), 2 (MPI) and 5 (hybrid without options) ARE CORRECT!
option 3 and option 4 ARE WRONG!
Please find enclosed five files containing the computed elastic constants.Each of them has been computed 10 times, seeking statistical evidence for “OpenMP racing” effects. There is no stastical uncertainty whatsoever (wrong hypothesis!). The main point is that only when the -sf omp option is used, the elastic constants are computed wrongly; so it seems
Please advise
regards
Manuel
PS I am happy to send inputs/outputs
hybno.txt (2.5 KB)
hybw.txt (2.5 KB)
mpi.txt (2.5 KB)
omp.txt (2.5 KB)
sequential.txt (2.5 KB)