From 3b1a73c3bd83a4fc70eff043eeb6d78bf5ea9194 Mon Sep 17 00:00:00 2001 From: sjplimp <sjplimp@f3b2605a-c512-4ea7-a41b-209d697bcdaa> Date: Fri, 27 Jun 2014 17:39:48 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@12151 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- src/KOKKOS/atom_kokkos.cpp | 6 +++--- src/KOKKOS/atom_kokkos.h | 5 +++-- src/KOKKOS/atom_vec_atomic_kokkos.cpp | 6 +++--- src/KOKKOS/atom_vec_atomic_kokkos.h | 16 +++++++++------- src/KOKKOS/domain_kokkos.cpp | 24 ++++++++++++------------ src/KOKKOS/kokkos_type.h | 16 ++++++++++++++++ src/KOKKOS/neighbor_kokkos.h | 5 +++-- src/MC/fix_bond_break.cpp | 14 +++++++------- src/MC/fix_bond_create.cpp | 16 ++++++++-------- src/VORONOI/compute_voronoi_atom.cpp | 3 ++- 10 files changed, 66 insertions(+), 45 deletions(-) diff --git a/src/KOKKOS/atom_kokkos.cpp b/src/KOKKOS/atom_kokkos.cpp index e36a5a926c..14dbd7e10e 100644 --- a/src/KOKKOS/atom_kokkos.cpp +++ b/src/KOKKOS/atom_kokkos.cpp @@ -37,11 +37,11 @@ AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp) AtomKokkos::~AtomKokkos() { - k_tag = DAT::tdual_int_1d(); + k_tag = DAT::tdual_tagint_1d(); k_mask = DAT::tdual_int_1d(); k_type = DAT::tdual_int_1d(); - k_image = DAT::tdual_int_1d(); - k_molecule = DAT::tdual_int_1d(); + k_image = DAT::tdual_imageint_1d(); + k_molecule = DAT::tdual_tagint_1d(); k_x = DAT::tdual_x_array(); k_v = DAT::tdual_v_array(); diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index 594bf80e5f..6d75f7edd4 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -21,8 +21,9 @@ namespace LAMMPS_NS { class AtomKokkos : public Atom { public: - DAT::tdual_int_1d k_tag, k_type, k_mask, k_molecule; - DAT::tdual_tagint_1d k_image; + DAT::tdual_tagint_1d k_tag, k_molecule; + DAT::tdual_imageint_1d k_image; + DAT::tdual_int_1d k_type, k_mask; DAT::tdual_x_array k_x; DAT::tdual_v_array k_v; DAT::tdual_f_array k_f; diff --git a/src/KOKKOS/atom_vec_atomic_kokkos.cpp b/src/KOKKOS/atom_vec_atomic_kokkos.cpp index 1db293cd44..2125519129 100644 --- a/src/KOKKOS/atom_vec_atomic_kokkos.cpp +++ b/src/KOKKOS/atom_vec_atomic_kokkos.cpp @@ -901,13 +901,13 @@ struct AtomVecAtomicKokkos_PackExchangeFunctor { typename AT::t_tagint_1d_randomread _tag; typename AT::t_int_1d_randomread _type; typename AT::t_int_1d_randomread _mask; - typename AT::t_int_1d_randomread _image; + typename AT::t_imageint_1d_randomread _image; typename AT::t_x_array _xw; typename AT::t_v_array _vw; typename AT::t_tagint_1d _tagw; typename AT::t_int_1d _typew; typename AT::t_int_1d _maskw; - typename AT::t_int_1d _imagew; + typename AT::t_imageint_1d _imagew; typename AT::t_xfloat_2d_um _buf; int _nlocal,_dim; @@ -1030,7 +1030,7 @@ struct AtomVecAtomicKokkos_UnpackExchangeFunctor { typename AT::t_tagint_1d _tag; typename AT::t_int_1d _type; typename AT::t_int_1d _mask; - typename AT::t_int_1d _image; + typename AT::t_imageint_1d _image; typename AT::t_xfloat_2d_um _buf; int _dim; diff --git a/src/KOKKOS/atom_vec_atomic_kokkos.h b/src/KOKKOS/atom_vec_atomic_kokkos.h index dc96cbb650..f8d197bd55 100644 --- a/src/KOKKOS/atom_vec_atomic_kokkos.h +++ b/src/KOKKOS/atom_vec_atomic_kokkos.h @@ -81,15 +81,17 @@ class AtomVecAtomicKokkos : public AtomVecKokkos { void modified(ExecutionSpace space, unsigned int mask); protected: - int *tag,*type,*mask; - tagint *image; + tagint *tag; + imageint *image; + int *type,*mask; double **x,**v,**f; - DAT::t_int_1d d_tag, d_type, d_mask; - HAT::t_int_1d h_tag, h_type, h_mask; - - DAT::t_tagint_1d d_image; - HAT::t_tagint_1d h_image; + DAT::t_tagint_1d d_tag; + HAT::t_tagint_1d h_tag; + DAT::t_imageint_1d d_image; + HAT::t_imageint_1d h_image; + DAT::t_int_1d d_type, d_mask; + HAT::t_int_1d h_type, h_mask; DAT::t_x_array d_x; DAT::t_v_array d_v; diff --git a/src/KOKKOS/domain_kokkos.cpp b/src/KOKKOS/domain_kokkos.cpp index c2214b611b..11c2147a01 100644 --- a/src/KOKKOS/domain_kokkos.cpp +++ b/src/KOKKOS/domain_kokkos.cpp @@ -38,14 +38,14 @@ struct DomainPBCFunctor { typename ArrayTypes<DeviceType>::t_x_array x; typename ArrayTypes<DeviceType>::t_v_array v; typename ArrayTypes<DeviceType>::t_int_1d mask; - typename ArrayTypes<DeviceType>::t_int_1d image; + typename ArrayTypes<DeviceType>::t_imageint_1d image; int deform_groupbit; double h_rate[6]; int xperiodic,yperiodic,zperiodic; DomainPBCFunctor(double* _lo, double* _hi, double* _period, DAT::tdual_x_array _x, DAT::tdual_v_array _v, - DAT::tdual_int_1d _mask, DAT::tdual_int_1d _image, + DAT::tdual_int_1d _mask, DAT::tdual_imageint_1d _image, int _deform_groupbit, double* _h_rate, int _xperiodic, int _yperiodic, int _zperiodic): x(_x.view<DeviceType>()), v(_v.view<DeviceType>()), @@ -65,7 +65,7 @@ struct DomainPBCFunctor { if (x(i,0) < lo[0]) { x(i,0) += period[0]; if (DEFORM_VREMAP && (mask[i] & deform_groupbit)) v(i,0) += h_rate[0]; - int idim = image[i] & IMGMASK; + imageint idim = image[i] & IMGMASK; const int otherdims = image[i] ^ idim; idim--; idim &= IMGMASK; @@ -75,7 +75,7 @@ struct DomainPBCFunctor { x(i,0) -= period[0]; x(i,0) = MAX(x(i,0),lo[0]); if (DEFORM_VREMAP && (mask[i] & deform_groupbit)) v(i,0) -= h_rate[0]; - int idim = image[i] & IMGMASK; + imageint idim = image[i] & IMGMASK; const int otherdims = image[i] ^ idim; idim++; idim &= IMGMASK; @@ -90,8 +90,8 @@ struct DomainPBCFunctor { v(i,0) += h_rate[5]; v(i,1) += h_rate[1]; } - int idim = (image[i] >> IMGBITS) & IMGMASK; - const int otherdims = image[i] ^ (idim << IMGBITS); + imageint idim = (image[i] >> IMGBITS) & IMGMASK; + const imageint otherdims = image[i] ^ (idim << IMGBITS); idim--; idim &= IMGMASK; image[i] = otherdims | (idim << IMGBITS); @@ -103,8 +103,8 @@ struct DomainPBCFunctor { v(i,0) -= h_rate[5]; v(i,1) -= h_rate[1]; } - int idim = (image[i] >> IMGBITS) & IMGMASK; - const int otherdims = image[i] ^ (idim << IMGBITS); + imageint idim = (image[i] >> IMGBITS) & IMGMASK; + const imageint otherdims = image[i] ^ (idim << IMGBITS); idim++; idim &= IMGMASK; image[i] = otherdims | (idim << IMGBITS); @@ -119,8 +119,8 @@ struct DomainPBCFunctor { v(i,1) += h_rate[3]; v(i,2) += h_rate[2]; } - int idim = image[i] >> IMG2BITS; - const int otherdims = image[i] ^ (idim << IMG2BITS); + imageint idim = image[i] >> IMG2BITS; + const imageint otherdims = image[i] ^ (idim << IMG2BITS); idim--; idim &= IMGMASK; image[i] = otherdims | (idim << IMG2BITS); @@ -133,8 +133,8 @@ struct DomainPBCFunctor { v(i,1) -= h_rate[3]; v(i,2) -= h_rate[2]; } - int idim = image[i] >> IMG2BITS; - const int otherdims = image[i] ^ (idim << IMG2BITS); + imageint idim = image[i] >> IMG2BITS; + const imageint otherdims = image[i] ^ (idim << IMG2BITS); idim++; idim &= IMGMASK; image[i] = otherdims | (idim << IMG2BITS); diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 4887b91b10..d115ed0bb9 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -248,6 +248,15 @@ typedef tdual_tagint_1d::t_dev_um t_tagint_1d_um; typedef tdual_tagint_1d::t_dev_const_um t_tagint_1d_const_um; typedef tdual_tagint_1d::t_dev_const_randomread t_tagint_1d_randomread; +typedef Kokkos:: + DualView<LAMMPS_NS::imageint*, LMPDeviceType::array_layout, LMPDeviceType> + tdual_imageint_1d; +typedef tdual_imageint_1d::t_dev t_imageint_1d; +typedef tdual_imageint_1d::t_dev_const t_imageint_1d_const; +typedef tdual_imageint_1d::t_dev_um t_imageint_1d_um; +typedef tdual_imageint_1d::t_dev_const_um t_imageint_1d_const_um; +typedef tdual_imageint_1d::t_dev_const_randomread t_imageint_1d_randomread; + // 1d float array n typedef Kokkos::DualView<LMP_FLOAT*, LMPDeviceType::array_layout, LMPDeviceType> tdual_float_1d; @@ -437,6 +446,13 @@ typedef tdual_tagint_1d::t_host_um t_tagint_1d_um; typedef tdual_tagint_1d::t_host_const_um t_tagint_1d_const_um; typedef tdual_tagint_1d::t_host_const_randomread t_tagint_1d_randomread; +typedef Kokkos::DualView<LAMMPS_NS::imageint*, LMPDeviceType::array_layout, LMPDeviceType> tdual_imageint_1d; +typedef tdual_imageint_1d::t_host t_imageint_1d; +typedef tdual_imageint_1d::t_host_const t_imageint_1d_const; +typedef tdual_imageint_1d::t_host_um t_imageint_1d_um; +typedef tdual_imageint_1d::t_host_const_um t_imageint_1d_const_um; +typedef tdual_imageint_1d::t_host_const_randomread t_imageint_1d_randomread; + //1d float array n typedef Kokkos::DualView<LMP_FLOAT*, LMPDeviceType::array_layout, LMPDeviceType> tdual_float_1d; typedef tdual_float_1d::t_host t_float_1d; diff --git a/src/KOKKOS/neighbor_kokkos.h b/src/KOKKOS/neighbor_kokkos.h index 30e73792e4..9abbd00738 100644 --- a/src/KOKKOS/neighbor_kokkos.h +++ b/src/KOKKOS/neighbor_kokkos.h @@ -33,7 +33,8 @@ class NeighborKokkosExecute typename AT::t_int_2d bins; typename AT::t_int_2d_const c_bins; const typename AT::t_x_array_randomread x; - const typename AT::t_int_1d_const type,mask,molecule; + const typename AT::t_int_1d_const type,mask; + const typename AT::t_tagint_1d_const molecule; const int nbinx,nbiny,nbinz; const int mbinx,mbiny,mbinz; @@ -57,7 +58,7 @@ class NeighborKokkosExecute const typename AT::t_x_array_randomread &_x, const typename AT::t_int_1d_const &_type, const typename AT::t_int_1d_const &_mask, - const typename AT::t_int_1d_const &_molecule, + const typename AT::t_tagint_1d_const &_molecule, const int & _nbinx,const int & _nbiny,const int & _nbinz, const int & _mbinx,const int & _mbiny,const int & _mbinz, const int & _mbinxlo,const int & _mbinylo,const int & _mbinzlo, diff --git a/src/MC/fix_bond_break.cpp b/src/MC/fix_bond_break.cpp index 57bcde405c..05551cebe5 100755 --- a/src/MC/fix_bond_break.cpp +++ b/src/MC/fix_bond_break.cpp @@ -389,7 +389,7 @@ void FixBondBreak::check_ghosts() tagint *slist; int **nspecial = atom->nspecial; - int **special = atom->special; + tagint **special = atom->special; int nlocal = atom->nlocal; int flag = 0; @@ -718,7 +718,7 @@ int FixBondBreak::pack_comm(int n, int *list, double *buf, } int **nspecial = atom->nspecial; - int **special = atom->special; + tagint **special = atom->special; m = 0; for (i = 0; i < n; i++) { @@ -749,7 +749,7 @@ void FixBondBreak::unpack_comm(int n, int first, double *buf) } else { int **nspecial = atom->nspecial; - int **special = atom->special; + tagint **special = atom->special; m = 0; last = first + n; @@ -800,25 +800,25 @@ void FixBondBreak::unpack_reverse_comm(int n, int *list, double *buf) void FixBondBreak::print_bb() { for (int i = 0; i < atom->nlocal; i++) { - printf("TAG %i: %d nbonds: ",atom->tag[i],atom->num_bond[i]); + printf("TAG " TAGINT_FORMAT ": %d nbonds: ",atom->tag[i],atom->num_bond[i]); for (int j = 0; j < atom->num_bond[i]; j++) { printf(" %d",atom->bond_atom[i][j]); } printf("\n"); - printf("TAG %i: %d nangles: ",atom->tag[i],atom->num_angle[i]); + printf("TAG " TAGINT_FORMAT ": %d nangles: ",atom->tag[i],atom->num_angle[i]); for (int j = 0; j < atom->num_angle[i]; j++) { printf(" %d %d %d,",atom->angle_atom1[i][j], atom->angle_atom2[i][j],atom->angle_atom3[i][j]); } printf("\n"); - printf("TAG %i: %d ndihedrals: ",atom->tag[i],atom->num_dihedral[i]); + printf("TAG " TAGINT_FORMAT ": %d ndihedrals: ",atom->tag[i],atom->num_dihedral[i]); for (int j = 0; j < atom->num_dihedral[i]; j++) { printf(" %d %d %d %d,",atom->dihedral_atom1[i][j], atom->dihedral_atom2[i][j],atom->dihedral_atom3[i][j], atom->dihedral_atom4[i][j]); } printf("\n"); - printf("TAG %i: %d %d %d nspecial: ",atom->tag[i], + printf("TAG " TAGINT_FORMAT ": %d %d %d nspecial: ",atom->tag[i], atom->nspecial[i][0],atom->nspecial[i][1],atom->nspecial[i][2]); for (int j = 0; j < atom->nspecial[i][2]; j++) { printf(" %d",atom->special[i][j]); diff --git a/src/MC/fix_bond_create.cpp b/src/MC/fix_bond_create.cpp index fbc303878f..670e0ccf30 100755 --- a/src/MC/fix_bond_create.cpp +++ b/src/MC/fix_bond_create.cpp @@ -592,7 +592,7 @@ void FixBondCreate::check_ghosts() tagint *slist; int **nspecial = atom->nspecial; - int **special = atom->special; + tagint **special = atom->special; int nlocal = atom->nlocal; int flag = 0; @@ -1236,7 +1236,7 @@ int FixBondCreate::pack_comm(int n, int *list, double *buf, } int **nspecial = atom->nspecial; - int **special = atom->special; + tagint **special = atom->special; m = 0; for (i = 0; i < n; i++) { @@ -1272,7 +1272,7 @@ void FixBondCreate::unpack_comm(int n, int first, double *buf) } else { int **nspecial = atom->nspecial; - int **special = atom->special; + tagint **special = atom->special; m = 0; last = first + n; @@ -1397,32 +1397,32 @@ double FixBondCreate::memory_usage() void FixBondCreate::print_bb() { for (int i = 0; i < atom->nlocal; i++) { - printf("TAG %i: %d nbonds: ",atom->tag[i],atom->num_bond[i]); + printf("TAG " TAGINT_FORMAT ": %d nbonds: ",atom->tag[i],atom->num_bond[i]); for (int j = 0; j < atom->num_bond[i]; j++) { printf(" %d",atom->bond_atom[i][j]); } printf("\n"); - printf("TAG %i: %d nangles: ",atom->tag[i],atom->num_angle[i]); + printf("TAG " TAGINT_FORMAT ": %d nangles: ",atom->tag[i],atom->num_angle[i]); for (int j = 0; j < atom->num_angle[i]; j++) { printf(" %d %d %d,",atom->angle_atom1[i][j], atom->angle_atom2[i][j],atom->angle_atom3[i][j]); } printf("\n"); - printf("TAG %i: %d ndihedrals: ",atom->tag[i],atom->num_dihedral[i]); + printf("TAG " TAGINT_FORMAT ": %d ndihedrals: ",atom->tag[i],atom->num_dihedral[i]); for (int j = 0; j < atom->num_dihedral[i]; j++) { printf(" %d %d %d %d,",atom->dihedral_atom1[i][j], atom->dihedral_atom2[i][j],atom->dihedral_atom3[i][j], atom->dihedral_atom4[i][j]); } printf("\n"); - printf("TAG %i: %d nimpropers: ",atom->tag[i],atom->num_improper[i]); + printf("TAG " TAGINT_FORMAT ": %d nimpropers: ",atom->tag[i],atom->num_improper[i]); for (int j = 0; j < atom->num_improper[i]; j++) { printf(" %d %d %d %d,",atom->improper_atom1[i][j], atom->improper_atom2[i][j],atom->improper_atom3[i][j], atom->improper_atom4[i][j]); } printf("\n"); - printf("TAG %i: %d %d %d nspecial: ",atom->tag[i], + printf("TAG " TAGINT_FORMAT ": %d %d %d nspecial: ",atom->tag[i], atom->nspecial[i][0],atom->nspecial[i][1],atom->nspecial[i][2]); for (int j = 0; j < atom->nspecial[i][2]; j++) { printf(" %d",atom->special[i][j]); diff --git a/src/VORONOI/compute_voronoi_atom.cpp b/src/VORONOI/compute_voronoi_atom.cpp index 5938626c37..0d86d55724 100644 --- a/src/VORONOI/compute_voronoi_atom.cpp +++ b/src/VORONOI/compute_voronoi_atom.cpp @@ -55,7 +55,8 @@ ComputeVoronoi::ComputeVoronoi(LAMMPS *lmp, int narg, char **arg) : con_mono = NULL; con_poly = NULL; - tags = occvec = sendocc = lroot = lnext = NULL; + tags = NULL; + occvec = sendocc = lroot = lnext = NULL; int iarg = 3; while ( iarg<narg ) { -- GitLab