From 429484761cfeeb60fbdbefe9ea1a163cdabce3fe Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 30 Aug 2024 10:30:10 -0600 Subject: [PATCH] Fix memory issues --- src/KOKKOS/Install.sh | 2 -- src/KOKKOS/atom_vec_kokkos.cpp | 6 +++--- src/KOKKOS/atom_vec_kokkos.h | 2 +- src/KOKKOS/comm_brick_direct_kokkos.cpp | 7 ++----- src/KOKKOS/comm_brick_direct_kokkos.h | 2 +- 5 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index 27f821e684..9f311d5a3e 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -96,8 +96,6 @@ action comm_brick_kokkos.cpp action comm_brick_kokkos.h action comm_brick_direct_kokkos.cpp action comm_brick_direct_kokkos.h -action comm_kokkos.cpp -action comm_kokkos.h action comm_tiled_kokkos.cpp action comm_tiled_kokkos.h action compute_ave_sphere_atom_kokkos.cpp compute_ave_sphere_atom.cpp diff --git a/src/KOKKOS/atom_vec_kokkos.cpp b/src/KOKKOS/atom_vec_kokkos.cpp index fd22b2a8dc..91a8a0dd89 100644 --- a/src/KOKKOS/atom_vec_kokkos.cpp +++ b/src/KOKKOS/atom_vec_kokkos.cpp @@ -187,7 +187,7 @@ struct AtomVecKokkos_PackCommDirect { AtomVecKokkos_PackCommDirect( const typename DAT::tdual_x_array &x, - const typename DAT::tdual_xfloat_2d &buf, + const typename DAT::tdual_xfloat_1d &buf, const typename DAT::tdual_int_2d &list, const typename DAT::tdual_int_2d &pbc, const typename DAT::tdual_int_1d &pbc_flag, @@ -207,7 +207,7 @@ struct AtomVecKokkos_PackCommDirect { _self_flags(self_flags.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { - const size_t maxsend = (buf.view().extent(0)*buf.view().extent(1))/3; + const size_t maxsend = buf.view().extent(0)/3; const size_t elements = 3; buffer_view(_buf,buf,maxsend,elements); }; @@ -270,7 +270,7 @@ int AtomVecKokkos::pack_comm_direct(const int &n, const DAT::tdual_int_2d &list, const DAT::tdual_int_1d &pbc_flag, const DAT::tdual_int_2d &pbc, const DAT::tdual_int_1d &swap2list, - const DAT::tdual_xfloat_2d &buf, + const DAT::tdual_xfloat_1d &buf, const DAT::tdual_int_1d &k_self_flags) { if (lmp->kokkos->forward_comm_on_host) { diff --git a/src/KOKKOS/atom_vec_kokkos.h b/src/KOKKOS/atom_vec_kokkos.h index 6f283062d9..541206e653 100644 --- a/src/KOKKOS/atom_vec_kokkos.h +++ b/src/KOKKOS/atom_vec_kokkos.h @@ -75,7 +75,7 @@ class AtomVecKokkos : virtual public AtomVec { const DAT::tdual_int_1d &pbc_flag, const DAT::tdual_int_2d &pbc, const DAT::tdual_int_1d &swap2llist, - const DAT::tdual_xfloat_2d &buf, + const DAT::tdual_xfloat_1d &buf, const DAT::tdual_int_1d &k_self_flags); virtual void diff --git a/src/KOKKOS/comm_brick_direct_kokkos.cpp b/src/KOKKOS/comm_brick_direct_kokkos.cpp index f6673ba07c..c9a9e65106 100644 --- a/src/KOKKOS/comm_brick_direct_kokkos.cpp +++ b/src/KOKKOS/comm_brick_direct_kokkos.cpp @@ -49,11 +49,6 @@ CommBrickDirectKokkos::CommBrickDirectKokkos(LAMMPS *lmp) : CommBrickDirect(lmp) CommBrickDirectKokkos::~CommBrickDirectKokkos() { - deallocate_direct(); - deallocate_lists(maxlist); - - memory->destroy(buf_send_direct); - memory->destroy(buf_recv_direct); } /* ---------------------------------------------------------------------- */ @@ -65,6 +60,8 @@ CommBrickDirectKokkos::~CommBrickDirectKokkos() CommBrickDirectKokkos::CommBrickDirectKokkos(LAMMPS *lmp, Comm *oldcomm) : CommBrickDirect(lmp, oldcomm) { + buf_send_direct = nullptr; + buf_recv_direct = nullptr; } /* ---------------------------------------------------------------------- diff --git a/src/KOKKOS/comm_brick_direct_kokkos.h b/src/KOKKOS/comm_brick_direct_kokkos.h index da3f6d7613..1734c34bbd 100644 --- a/src/KOKKOS/comm_brick_direct_kokkos.h +++ b/src/KOKKOS/comm_brick_direct_kokkos.h @@ -32,7 +32,7 @@ class CommBrickDirectKokkos : public CommBrickDirect { template void forward_comm_device(); private: - DAT::tdual_xfloat_2d k_buf_send_direct,k_buf_recv_direct; + DAT::tdual_xfloat_1d k_buf_send_direct,k_buf_recv_direct; DAT::tdual_int_2d k_sendatoms_list; DAT::tdual_int_1d k_swap2list; DAT::tdual_int_2d k_pbc_direct;