diff --git a/src/KOKKOS/pair_table_kokkos.cpp b/src/KOKKOS/pair_table_kokkos.cpp index d55b084bc160a09125a3ecf435e2b708faee0f81..093057c8cff8870e87ce9f5c73c4582fb8d30e9e 100644 --- a/src/KOKKOS/pair_table_kokkos.cpp +++ b/src/KOKKOS/pair_table_kokkos.cpp @@ -54,6 +54,7 @@ PairTableKokkos<DeviceType>::~PairTableKokkos() { delete h_table; delete d_table; + copymode = true; //prevents base class destructor from running } /* ---------------------------------------------------------------------- */ @@ -345,10 +346,18 @@ void PairTableKokkos<DeviceType>::create_kokkos_tables() template<class DeviceType> void PairTableKokkos<DeviceType>::allocate() { - PairTable::allocate(); + allocated = 1; + const int nt = atom->ntypes + 1; + + memory->create(setflag,nt,nt,"pair:setflag"); + memory->create_kokkos(d_table->cutsq,h_table->cutsq,cutsq,nt,nt,"pair:cutsq"); + memory->create_kokkos(d_table->tabindex,h_table->tabindex,tabindex,nt,nt,"pair:tabindex"); d_table_const.cutsq = d_table->cutsq; d_table_const.tabindex = d_table->tabindex; + memset(&setflag[0][0],0,nt*nt*sizeof(int)); + memset(&cutsq[0][0],0,nt*nt*sizeof(double)); + memset(&tabindex[0][0],0,nt*nt*sizeof(int)); } /* ---------------------------------------------------------------------- diff --git a/src/KOKKOS/pair_table_kokkos.h b/src/KOKKOS/pair_table_kokkos.h index a13c0bcba4019a51825da14896491e98768a2c3d..56d84d75532f01fb26dfc5a4c99874c4a83d6bd3 100644 --- a/src/KOKKOS/pair_table_kokkos.h +++ b/src/KOKKOS/pair_table_kokkos.h @@ -93,15 +93,6 @@ class PairTableKokkos : public PairTable { typename ArrayTypes<LMPHostType>::t_ffloat_2d rsq,drsq,e,de,f,df,e2,f2; }; - struct Table { - int ninput,rflag,fpflag,match,ntablebits; - int nshiftbits,nmask; - double rlo,rhi,fplo,fphi,cut; - double *rfile,*efile,*ffile; - double *e2file,*f2file; - double innersq,delta,invdelta,deltasq6; - double *rsq,*drsq,*e,*de,*f,*df,*e2,*f2; - }; TableDeviceConst d_table_const; TableDevice* d_table; TableHost* h_table;