diff --git a/src/KOKKOS/pair_lj_spica_coul_long_kokkos.cpp b/src/KOKKOS/pair_lj_spica_coul_long_kokkos.cpp index c0861e2c77..ba769dc127 100644 --- a/src/KOKKOS/pair_lj_spica_coul_long_kokkos.cpp +++ b/src/KOKKOS/pair_lj_spica_coul_long_kokkos.cpp @@ -65,6 +65,8 @@ PairLJSPICACoulLongKokkos::~PairLJSPICACoulLongKokkos() memoryKK->destroy_kokkos(k_eatom,eatom); memoryKK->destroy_kokkos(k_vatom,vatom); memoryKK->destroy_kokkos(k_cutsq,cutsq); + memoryKK->destroy_kokkos(k_cut_ljsq,cut_ljsq); + memoryKK->destroy_kokkos(k_cut_coulsq); } } @@ -95,6 +97,8 @@ void PairLJSPICACoulLongKokkos::compute(int eflag_in, int vflag_in) atomKK->sync(execution_space,datamask_read); k_cutsq.template sync(); + k_cut_ljsq.template sync(); + k_cut_coulsq.template sync(); k_params.template sync(); if (eflag || vflag) atomKK->modified(execution_space,datamask_modify); else atomKK->modified(execution_space,F_MASK); @@ -305,9 +309,17 @@ void PairLJSPICACoulLongKokkos::allocate() PairLJSPICACoulLong::allocate(); int n = atom->ntypes; + memory->destroy(cutsq); + memory->destroy(cut_ljsq); + memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq"); + memoryKK->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq"); + memoryKK->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq"); + d_cutsq = k_cutsq.template view(); + d_cut_ljsq = k_cut_ljsq.template view(); + d_cut_coulsq = k_cut_coulsq.template view(); k_params = Kokkos::DualView("PairLJSPICACoulLong::params",n+1,n+1); params = k_params.template view(); @@ -467,7 +479,7 @@ double PairLJSPICACoulLongKokkos::init_one(int i, int j) k_params.h_view(i,j).cut_coulsq = cut_coulsq; k_params.h_view(i,j).lj_type = lj_type[i][j]; k_params.h_view(j,i) = k_params.h_view(i,j); - + if (i::init_one(int i, int j) } k_cutsq.h_view(i,j) = k_cutsq.h_view(j,i) = cutone*cutone; + k_cut_ljsq.h_view(i,j) = k_cut_ljsq.h_view(j,i) = cut_ljsq[i][j]; + k_cut_coulsq.h_view(i,j) = k_cut_coulsq.h_view(j,i) = cut_coulsq; + k_cutsq.template modify(); + k_cut_ljsq.template modify(); + k_cut_coulsq.template modify(); k_params.template modify(); return cutone; diff --git a/src/KOKKOS/pair_lj_spica_coul_long_kokkos.h b/src/KOKKOS/pair_lj_spica_coul_long_kokkos.h index 3106f681d1..f6b28757a9 100644 --- a/src/KOKKOS/pair_lj_spica_coul_long_kokkos.h +++ b/src/KOKKOS/pair_lj_spica_coul_long_kokkos.h @@ -95,10 +95,8 @@ class PairLJSPICACoulLongKokkos : public PairLJSPICACoulLong { int newton_pair; - typename AT::tdual_ffloat_2d k_cutsq; - typename AT::t_ffloat_2d d_cutsq; - typename AT::t_ffloat_2d d_cut_ljsq; - typename AT::t_ffloat_2d d_cut_coulsq; + typename AT::tdual_ffloat_2d k_cutsq, k_cut_ljsq, k_cut_coulsq; + typename AT::t_ffloat_2d d_cutsq, d_cut_ljsq, d_cut_coulsq; typename AT::t_ffloat_1d_randomread d_rtable, d_drtable, d_ftable, d_dftable,