Fix memory issues
This commit is contained in:
@ -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
|
||||
|
||||
@ -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<DeviceType>()),
|
||||
_xprd(xprd),_yprd(yprd),_zprd(zprd),
|
||||
_xy(xy),_xz(xz),_yz(yz) {
|
||||
const size_t maxsend = (buf.view<DeviceType>().extent(0)*buf.view<DeviceType>().extent(1))/3;
|
||||
const size_t maxsend = buf.view<DeviceType>().extent(0)/3;
|
||||
const size_t elements = 3;
|
||||
buffer_view<DeviceType>(_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) {
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
|
||||
@ -32,7 +32,7 @@ class CommBrickDirectKokkos : public CommBrickDirect {
|
||||
template<class DeviceType> 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;
|
||||
|
||||
Reference in New Issue
Block a user