From 63a883e65af2d6d292e2d0cfece09a6dd52297d0 Mon Sep 17 00:00:00 2001 From: Berk Hess Date: Mon, 18 Nov 2019 16:39:01 +0100 Subject: [PATCH] Fix bonded atom communication performance The filtering of atoms to communicate for bonded interactions that are beyond the non-bonded cut-off was effectively missing, because the home atom indices were not set. This lead to many more atoms being communicated. Change-Id: I4bd5b9b561a3077e055186f312939221dba6cefa --- src/gromacs/domdec/partition.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gromacs/domdec/partition.cpp b/src/gromacs/domdec/partition.cpp index dbd52b2049..b00ceec520 100644 --- a/src/gromacs/domdec/partition.cpp +++ b/src/gromacs/domdec/partition.cpp @@ -3044,11 +3044,15 @@ void dd_partition_system(FILE* fplog, wallcycle_sub_start(wcycle, ewcsDD_SETUPCOMM); + /* Set the induces for the home atoms */ + set_zones_ncg_home(dd); + make_dd_indices(dd, ncgindex_set); + /* Setup up the communication and communicate the coordinates */ setup_dd_communication(dd, state_local->box, &ddbox, fr, state_local, f); - /* Set the indices */ - make_dd_indices(dd, ncgindex_set); + /* Set the indices for the halo atoms */ + make_dd_indices(dd, dd->ncg_home); /* Set the charge group boundaries for neighbor searching */ set_cg_boundaries(&comm->zones); -- 2.22.0