Commit f2ef02b6 authored by Stan Moore's avatar Stan Moore
Browse files

Comm exchange is a no-op for 1 MPI rank

parent c3adfcbc
Loading
Loading
Loading
Loading
+128 −129
Original line number Diff line number Diff line
@@ -504,9 +504,8 @@ void CommKokkos::exchange()
  }

  atomKK->sync(Host,ALL_MASK);
  atomKK->modified(Host,ALL_MASK);

  CommBrick::exchange();
  atomKK->modified(Host,ALL_MASK);
}

/* ---------------------------------------------------------------------- */
@@ -573,6 +572,8 @@ void CommKokkos::exchange_device()
  atom->nghost = 0;
  atom->avec->clear_bonus();

  if (comm->nprocs > 1) { // otherwise no-op

    // subbox bounds for orthogonal or triclinic

    if (triclinic == 0) {
@@ -711,8 +712,8 @@ void CommKokkos::exchange_device()
      // if so, add to my list

    }

    atomKK->modified(ExecutionSpaceFromDevice<DeviceType>::space,ALL_MASK);
  }

  if (atom->firstgroupname) {
    /* this is not yet implemented with Kokkos */
@@ -753,7 +754,6 @@ void CommKokkos::borders()
    else borders_device<LMPDeviceType>();
  } else {
    atomKK->sync(Host,ALL_MASK);
    k_sendlist.sync<LMPHostType>();
    CommBrick::borders();
    k_sendlist.modify<LMPHostType>();
    atomKK->modified(Host,ALL_MASK);
@@ -828,7 +828,6 @@ void CommKokkos::borders_device() {
  AtomVecKokkos *avec = (AtomVecKokkos *) atom->avec;

  ExecutionSpace exec_space = ExecutionSpaceFromDevice<DeviceType>::space;
  k_sendlist.sync<DeviceType>();
  atomKK->sync(exec_space,ALL_MASK);

  // do swaps over all 3 dimensions