From 7cff343680ce1fb1731fad37969b128d3e69da3a Mon Sep 17 00:00:00 2001 From: Dan Ibanez <dan.a.ibanez@gmail.com> Date: Wed, 4 Jan 2017 10:57:52 -0700 Subject: [PATCH] fix allocation regressions in PairTableKokkos --- src/KOKKOS/pair_table_kokkos.cpp | 11 ++++++++++- src/KOKKOS/pair_table_kokkos.h | 9 --------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/KOKKOS/pair_table_kokkos.cpp b/src/KOKKOS/pair_table_kokkos.cpp index d55b084bc1..093057c8cf 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 a13c0bcba4..56d84d7553 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; -- GitLab