meaning of comm_forward/comm_reverse

Hi all,

Just want to have a quick sanity check. In pair.h or compute.h, the following variables are declared:

int comm_forward; // size of forward communication (0 if none)
int comm_reverse; // size of reverse communication (0 if none)

Am I right to think that the size here is the buffer size, i.e. for the MPI communication? Some of them have comm_forward (or reserve) value set to 1 or 2, others have set them to the exact value on the nlocal, which makes me a bit confused.

Thanks,
Quang

Hi all,

Just want to have a quick sanity check. In pair.h or compute.h, the
following variables are declared:

  int comm_forward; // size of forward communication (0 if
none)
  int comm_reverse; // size of reverse communication (0 if
none)

Am I right to think that the size here is the buffer size, i.e. for the
MPI communication? Some of them have comm_forward (or reserve) value set to
1 or 2, others have set them to the exact value on the nlocal, which makes
me a bit confused.

​please where is comm_forward​/comm_reverse set to natoms? it doesn't make
sense. i suspect you are misreading the source code.
the sizes here for forward/reverse communication are *per atom* buffer
sizes, i.e. how many items are packed into the corresponding buffer per
atom.

axel.