intel memory usage

I am running the in.eam benchmark problem and the latest stable
version (August 2019) with about a million atoms like this:
mpiexec -np 4 ../lmp_intel -in in.eam -v x 2 -v y 4 -v z 4

Doing this requires a total of about 386MB of memory, according to the
"Per MPI rank memory allocation" statement that gets printed out.
(assuming ranks x memory/rank = total memory).

However, when I add "-sf intel" to the command line, the total memory
usage jumps to over 8GB! Moreover, when I try to run on a single
processor, it errors with "Failed to allocate -8168653184 bytes for
array _list_alloc (../memory.cpp:62)".

I am using the Intel 18.0.3 compiler and Intel MPI 2018.3.222. I used
src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi to build LAMMPS with the
USER-INTEL package installed.

Any ideas what's going on?

   - Jesse

Hi Jesse,

You can add to in.eam:

neigh_modify one 100

The neighbor list allocations are handled differently in user-intel (largely due to offload support) and it looks like I might have accidentally committed a change at some point that is causing the allocation per atom to be very large (need to check back).

A future update will have a better approach here.

Best, - Mike

Mike -

Yes that definitely helps. Thanks!

Let's hope a better approach makes it into LAMMPS because I will
probably forget this if I come back to it in the future.

  - Jesse