Potential bug in USER-INTEL update of 15 feb?

Dear LAMMPS users/developers,

I recently encountered problems after updating from the 7 Dec version to the 16 Feb version: upon minimising, I get:

Stopping criterion = search direction is not downhill

which I didn’t get using the old version. I seem to have isolated the problem to the “lj/cut/intel”-style. Without the intel suffix the new version runs fine (as before), with suffix it won’t minimise and exits with ‘lost atoms’.

Dear LAMMPS users/developers,

I recently encountered problems after updating from the 7 Dec version to the
16 Feb version: upon minimising, I get:

  Stopping criterion = search direction is not downhill

which I didn't get using the old version. I seem to have isolated the
problem to the "lj/cut/intel"-style. Without the intel suffix the new
version runs fine (as before), with suffix it won't minimise and exits with
'lost atoms'.

can you please test the very latest patch (not just the latest stable
version) as well, and if that fails provide a simple input to
reproduce the issue?
e.g. can you run other bundled examples, e.g. melt with -suffix intel correctly?

thanks,
     axel.

Are you saying the old version ran fine with the USER-INTEL variant

of the potential? Note that the intel potentials have different

precisions. It’s possible at a low precision that you won’t

be able to minimize as far.

Steve

Yes, the old version ran fine, with or without the intel suffixes; the new version only runs without intel suffix.

The example scripts seem to run fine; but see a minimal input script that provokes the error in attachment. The problem seems to happen when using ‘random’ initialisation of atoms & minimising. Possibly an overflow due to the mixed/lower precision?

in.simple (551 Bytes)

I am not yet able to test your reproducer, but:

AVX512 that will be on newer intel processors supports fast approximate math functions with higher precision. In the Makefile for these architectures I changed the compiler optimization options and, to avoid unfair performance comparisons, also did this for the intel_cpu architectures (despite the lower precision). This might be causing an issue if you are starting with random high energy configurations.

If you are using the default LAMMPS makefiles, you might remove fp-model fast=2 and no-prec-div optimization options and see if that alleviates the problem.

I will try your input when I have a chance, but I am out of the office most of the week.

Best, - Mike

Changing the flags as you suggested didn’t help uunfortunately… Still the same issue.

Yes. Sorry, I wasn’t thinking clearly when I suggested this as these flags are applied to all of the LAMMPS code, not just in the USER-INTEL package.

The problem is isolated to minimize. It doesn’t have the hook needed for syncing the force arrays used by the USER-INTEL package with the LAMMPS arrays (needed only in the newer versions). I will generate and test a fix today. In the meantime, the intel suffix shouldn’t be used before a minimize command.

Thanks for reporting.

  • Mike

Okay, I’m glad you already found the problem, and thanks for the quick fix!

Cheers,

Jan

The Mar-22 patch should allow minimization to work with the intel package. Let me know if you have any issues. Thanks. - Mike