Add missing grow to Kokkos unpack_exchange
This commit is contained in:
@ -1391,6 +1391,9 @@ int AtomVecAngleKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int n
|
||||
int nlocal,int dim,X_FLOAT lo,X_FLOAT hi,
|
||||
ExecutionSpace space) {
|
||||
const size_t elements = 17+atom->maxspecial+2*atom->bond_per_atom+4*atom->angle_per_atom;
|
||||
|
||||
while (nlocal + nrecv/elements >= nmax) grow(0);
|
||||
|
||||
if (space == Host) {
|
||||
k_count.h_view(0) = nlocal;
|
||||
AtomVecAngleKokkos_UnpackExchangeFunctor<LMPHostType>
|
||||
|
||||
@ -649,6 +649,8 @@ struct AtomVecAtomicKokkos_UnpackExchangeFunctor {
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
int AtomVecAtomicKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nrecv,int nlocal,int dim,X_FLOAT lo,X_FLOAT hi,ExecutionSpace space) {
|
||||
while (nlocal + nrecv/11 >= nmax) grow(0);
|
||||
|
||||
if (space == Host) {
|
||||
k_count.h_view(0) = nlocal;
|
||||
AtomVecAtomicKokkos_UnpackExchangeFunctor<LMPHostType> f(atomKK,k_buf,k_count,dim,lo,hi);
|
||||
|
||||
@ -845,6 +845,9 @@ int AtomVecBondKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nr
|
||||
int nlocal,int dim,X_FLOAT lo,X_FLOAT hi,
|
||||
ExecutionSpace space) {
|
||||
const size_t elements = 16+atomKK->maxspecial+atomKK->bond_per_atom+atomKK->bond_per_atom;
|
||||
|
||||
while (nlocal + nrecv/elements >= nmax) grow(0);
|
||||
|
||||
if (space == Host) {
|
||||
k_count.h_view(0) = nlocal;
|
||||
AtomVecBondKokkos_UnpackExchangeFunctor<LMPHostType>
|
||||
|
||||
@ -774,6 +774,8 @@ struct AtomVecChargeKokkos_UnpackExchangeFunctor {
|
||||
int AtomVecChargeKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nrecv,
|
||||
int nlocal,int dim,X_FLOAT lo,X_FLOAT hi,
|
||||
ExecutionSpace space) {
|
||||
while (nlocal + nrecv/12 >= nmax) grow(0);
|
||||
|
||||
if (space == Host) {
|
||||
k_count.h_view(0) = nlocal;
|
||||
AtomVecChargeKokkos_UnpackExchangeFunctor<LMPHostType> f(atomKK,k_buf,k_count,dim,lo,hi);
|
||||
|
||||
@ -1505,6 +1505,8 @@ struct AtomVecDPDKokkos_UnpackExchangeFunctor {
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
int AtomVecDPDKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nrecv,int nlocal,int dim,X_FLOAT lo,X_FLOAT hi,ExecutionSpace space) {
|
||||
while (nlocal + nrecv/17 >= nmax) grow(0);
|
||||
|
||||
if (space == Host) {
|
||||
k_count.h_view(0) = nlocal;
|
||||
AtomVecDPDKokkos_UnpackExchangeFunctor<LMPHostType> f(atomKK,k_buf,k_count,dim,lo,hi);
|
||||
|
||||
@ -1186,6 +1186,9 @@ int AtomVecFullKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nr
|
||||
ExecutionSpace space) {
|
||||
const size_t elements = 20+atom->maxspecial+2*atom->bond_per_atom+4*atom->angle_per_atom+
|
||||
5*atom->dihedral_per_atom + 5*atom->improper_per_atom;
|
||||
|
||||
while (nlocal + nrecv/elements >= nmax) grow(0);
|
||||
|
||||
if (space == Host) {
|
||||
k_count.h_view(0) = nlocal;
|
||||
AtomVecFullKokkos_UnpackExchangeFunctor<LMPHostType>
|
||||
|
||||
@ -1594,6 +1594,9 @@ int AtomVecMolecularKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,i
|
||||
ExecutionSpace space) {
|
||||
const size_t elements = 19+atom->maxspecial+2*atom->bond_per_atom+4*atom->angle_per_atom+
|
||||
5*atom->dihedral_per_atom + 5*atom->improper_per_atom;
|
||||
|
||||
while (nlocal + nrecv/elements >= nmax) grow(0);
|
||||
|
||||
if (space == Host) {
|
||||
k_count.h_view(0) = nlocal;
|
||||
AtomVecMolecularKokkos_UnpackExchangeFunctor<LMPHostType>
|
||||
|
||||
@ -2341,6 +2341,8 @@ struct AtomVecSphereKokkos_UnpackExchangeFunctor {
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
int AtomVecSphereKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nrecv,int nlocal,int dim,X_FLOAT lo,X_FLOAT hi,ExecutionSpace space) {
|
||||
while (nlocal + nrecv/16 >= nmax) grow(0);
|
||||
|
||||
if (space == Host) {
|
||||
k_count.h_view(0) = nlocal;
|
||||
AtomVecSphereKokkos_UnpackExchangeFunctor<LMPHostType> f(atomKK,k_buf,k_count,dim,lo,hi);
|
||||
|
||||
@ -863,6 +863,8 @@ struct AtomVecSpinKokkos_UnpackExchangeFunctor {
|
||||
int AtomVecSpinKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf,int nrecv,
|
||||
int nlocal,int dim,X_FLOAT lo,X_FLOAT hi,
|
||||
ExecutionSpace space) {
|
||||
while (nlocal + nrecv/15 >= nmax) grow(0);
|
||||
|
||||
if(space == Host) {
|
||||
k_count.h_view(0) = nlocal;
|
||||
AtomVecSpinKokkos_UnpackExchangeFunctor<LMPHostType> f(atomKK,k_buf,k_count,dim,lo,hi);
|
||||
|
||||
Reference in New Issue
Block a user