Commit a5998179 authored by smoore's avatar smoore
Browse files

Fix issues with Kokkos skip lists

parent 9e35e76b
Loading
Loading
Loading
Loading
+21 −16
Original line number Diff line number Diff line
@@ -109,7 +109,8 @@ void NPairSkipKokkos<DeviceType>::operator()(TagNPairSkipCompute, const int &ii,

  const int i = d_ilist_skip(ii);
  const int itype = type(i);
  if (d_iskip(itype)) return;

  if (!d_iskip(itype)) {

    if (final) {

@@ -130,13 +131,17 @@ void NPairSkipKokkos<DeviceType>::operator()(TagNPairSkipCompute, const int &ii,

      d_numneigh(i) = n;
      d_ilist(inum) = i;
    if (ii == num_skip-1)
      d_inum() = inum+1;
    }

    inum++;
  }

  if (final) {
    if (ii == num_skip-1)
      d_inum() = inum;
  }
}

template<class DeviceType>
KOKKOS_INLINE_FUNCTION
void NPairSkipKokkos<DeviceType>::operator()(TagNPairSkipCountLocal, const int &i, int &num) const {
+4 −4
Original line number Diff line number Diff line
@@ -141,8 +141,8 @@ void PairTableKokkos<DeviceType>::compute_style(int eflag_in, int vflag_in)
    } else if (neighflag == N2) {
      PairComputeFunctor<PairTableKokkos<DeviceType>,N2,false,S_TableCompute<DeviceType,TABSTYLE> >
        f(this,(NeighListKokkos<DeviceType>*) list);
      if (eflag || vflag) Kokkos::parallel_reduce(nlocal,f,ev);
      else Kokkos::parallel_for(nlocal,f);
      if (eflag || vflag) Kokkos::parallel_reduce(list->inum,f,ev);
      else Kokkos::parallel_for(list->inum,f);
    }
  } else {
    if (neighflag == FULL) {
@@ -163,8 +163,8 @@ void PairTableKokkos<DeviceType>::compute_style(int eflag_in, int vflag_in)
    } else if (neighflag == N2) {
      PairComputeFunctor<PairTableKokkos<DeviceType>,N2,true,S_TableCompute<DeviceType,TABSTYLE> >
        f(this,(NeighListKokkos<DeviceType>*) list);
      if (eflag || vflag) Kokkos::parallel_reduce(nlocal,f,ev);
      else Kokkos::parallel_for(nlocal,f);
      if (eflag || vflag) Kokkos::parallel_reduce(list->inum,f,ev);
      else Kokkos::parallel_for(list->inum,f);
    }
  }