Unverified Commit b5ee7137 authored by Steve Plimpton's avatar Steve Plimpton Committed by GitHub
Browse files

Merge pull request #849 from stanmoore1/kk_deprecated

Remove deprecated Kokkos code
parents e73663d1 a6d10ba9
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -70,14 +70,14 @@ void AngleCharmmKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
  // reallocate per-atom arrays if necessary

  if (eflag_atom) {
    //if(k_eatom.dimension_0()<maxeatom) { // won't work without adding zero functor
    //if(k_eatom.extent(0)<maxeatom) { // won't work without adding zero functor
      memoryKK->destroy_kokkos(k_eatom,eatom);
      memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"improper:eatom");
      d_eatom = k_eatom.template view<DeviceType>();
    //}
  }
  if (vflag_atom) {
    //if(k_vatom.dimension_0()<maxvatom) { // won't work without adding zero functor
    //if(k_vatom.extent(0)<maxvatom) { // won't work without adding zero functor
      memoryKK->destroy_kokkos(k_vatom,vatom);
      memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"improper:vatom");
      d_vatom = k_vatom.template view<DeviceType>();
+1 −1
Original line number Diff line number Diff line
@@ -119,7 +119,7 @@ void AtomKokkos::allocate_type_arrays()
{
  if (avec->mass_type) {
    k_mass = DAT::tdual_float_1d("Mass",ntypes+1);
    mass = k_mass.h_view.ptr_on_device();
    mass = k_mass.h_view.data();
    mass_setflag = new int[ntypes+1];
    for (int itype = 1; itype <= ntypes; itype++) mass_setflag[itype] = 0;
    k_mass.modify<LMPHostType>();
+10 −10
Original line number Diff line number Diff line
@@ -84,34 +84,34 @@ class SortFunctor {
  Kokkos::View<typename ViewType::non_const_data_type,typename ViewType::array_type,device_type> dest;
  IndexView index;
  SortFunctor(ViewType src, typename Kokkos::Impl::enable_if<ViewType::dynamic_rank==1,IndexView>::type ind):source(src),index(ind){
    dest = Kokkos::View<typename ViewType::non_const_data_type,typename ViewType::array_type,device_type>("",src.dimension_0());
    dest = Kokkos::View<typename ViewType::non_const_data_type,typename ViewType::array_type,device_type>("",src.extent(0));
  }
  SortFunctor(ViewType src, typename Kokkos::Impl::enable_if<ViewType::dynamic_rank==2,IndexView>::type ind):source(src),index(ind){
    dest = Kokkos::View<typename ViewType::non_const_data_type,typename ViewType::array_type,device_type>("",src.dimension_0(),src.dimension_1());
    dest = Kokkos::View<typename ViewType::non_const_data_type,typename ViewType::array_type,device_type>("",src.extent(0),src.extent(1));
  }
  SortFunctor(ViewType src, typename Kokkos::Impl::enable_if<ViewType::dynamic_rank==3,IndexView>::type ind):source(src),index(ind){
    dest = Kokkos::View<typename ViewType::non_const_data_type,typename ViewType::array_type,device_type>("",src.dimension_0(),src.dimension_1(),src.dimension_2());
    dest = Kokkos::View<typename ViewType::non_const_data_type,typename ViewType::array_type,device_type>("",src.extent(0),src.extent(1),src.extent(2));
  }
  SortFunctor(ViewType src, typename Kokkos::Impl::enable_if<ViewType::dynamic_rank==4,IndexView>::type ind):source(src),index(ind){
    dest = Kokkos::View<typename ViewType::non_const_data_type,typename ViewType::array_type,device_type>("",src.dimension_0(),src.dimension_1(),src.dimension_2(),src.dimension_3());
    dest = Kokkos::View<typename ViewType::non_const_data_type,typename ViewType::array_type,device_type>("",src.extent(0),src.extent(1),src.extent(2),src.extent(3));
  }
  KOKKOS_INLINE_FUNCTION
  void operator()(const typename Kokkos::Impl::enable_if<ViewType::rank==1, int>::type& i) {
    dest(i) = source(index(i));
  }
  void operator()(const typename Kokkos::Impl::enable_if<ViewType::rank==2, int>::type& i) {
    for(int j=0;j<source.dimension_1();j++)
    for(int j=0;j<source.extent(1);j++)
      dest(i,j) = source(index(i),j);
  }
  void operator()(const typename Kokkos::Impl::enable_if<ViewType::rank==3, int>::type& i) {
    for(int j=0;j<source.dimension_1();j++)
    for(int k=0;k<source.dimension_2();k++)
    for(int j=0;j<source.extent(1);j++)
    for(int k=0;k<source.extent(2);k++)
      dest(i,j,k) = source(index(i),j,k);
  }
  void operator()(const typename Kokkos::Impl::enable_if<ViewType::rank==4, int>::type& i) {
    for(int j=0;j<source.dimension_1();j++)
    for(int k=0;k<source.dimension_2();k++)
    for(int l=0;l<source.dimension_3();l++)
    for(int j=0;j<source.extent(1);j++)
    for(int k=0;k<source.extent(2);k++)
    for(int l=0;l<source.extent(3);l++)
      dest(i,j,k,l) = source(index(i),j,k,l);
  }
};
+10 −10
Original line number Diff line number Diff line
@@ -240,8 +240,8 @@ struct AtomVecAngleKokkos_PackComm {
      _x(x.view<DeviceType>()),_list(list.view<DeviceType>()),_iswap(iswap),
      _xprd(xprd),_yprd(yprd),_zprd(zprd),
      _xy(xy),_xz(xz),_yz(yz) {
        const size_t maxsend = (buf.view<DeviceType>().dimension_0()
                                *buf.view<DeviceType>().dimension_1())/3;
        const size_t maxsend = (buf.view<DeviceType>().extent(0)
                                *buf.view<DeviceType>().extent(1))/3;
        const size_t elements = 3;
        buffer_view<DeviceType>(_buf,buf,maxsend,elements);
        _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2];
@@ -1136,8 +1136,8 @@ struct AtomVecAngleKokkos_PackExchangeFunctor {
    // and angle_atom3
    // 1 to store buffer length
    elements = 17+atom->maxspecial+2*atom->bond_per_atom+4*atom->angle_per_atom;
    const int maxsendlist = (buf.template view<DeviceType>().dimension_0()*
                             buf.template view<DeviceType>().dimension_1())/elements;
    const int maxsendlist = (buf.template view<DeviceType>().extent(0)*
                             buf.template view<DeviceType>().extent(1))/elements;
    buffer_view<DeviceType>(_buf,buf,maxsendlist,elements);
  }

@@ -1220,10 +1220,10 @@ int AtomVecAngleKokkos::pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_
                                            X_FLOAT hi )
{
  const int elements = 17+atom->maxspecial+2*atom->bond_per_atom+4*atom->angle_per_atom;
  if(nsend > (int) (k_buf.view<LMPHostType>().dimension_0()*
              k_buf.view<LMPHostType>().dimension_1())/elements) {
    int newsize = nsend*elements/k_buf.view<LMPHostType>().dimension_1()+1;
    k_buf.resize(newsize,k_buf.view<LMPHostType>().dimension_1());
  if(nsend > (int) (k_buf.view<LMPHostType>().extent(0)*
              k_buf.view<LMPHostType>().extent(1))/elements) {
    int newsize = nsend*elements/k_buf.view<LMPHostType>().extent(1)+1;
    k_buf.resize(newsize,k_buf.view<LMPHostType>().extent(1));
  }
  if(space == Host) {
    AtomVecAngleKokkos_PackExchangeFunctor<LMPHostType>
@@ -1335,8 +1335,8 @@ struct AtomVecAngleKokkos_UnpackExchangeFunctor {
    _nlocal(nlocal.template view<DeviceType>()),_dim(dim),
    _lo(lo),_hi(hi){
    elements =17+atom->maxspecial+2*atom->bond_per_atom+4*atom->angle_per_atom;
    const int maxsendlist = (buf.template view<DeviceType>().dimension_0()*
                             buf.template view<DeviceType>().dimension_1())/elements;
    const int maxsendlist = (buf.template view<DeviceType>().extent(0)*
                             buf.template view<DeviceType>().extent(1))/elements;
    buffer_view<DeviceType>(_buf,buf,maxsendlist,elements);
  }

+5 −5
Original line number Diff line number Diff line
@@ -506,7 +506,7 @@ struct AtomVecAtomicKokkos_PackExchangeFunctor {
                _nlocal(nlocal),_dim(dim),
                _lo(lo),_hi(hi){
    const size_t elements = 11;
    const int maxsendlist = (buf.template view<DeviceType>().dimension_0()*buf.template view<DeviceType>().dimension_1())/elements;
    const int maxsendlist = (buf.template view<DeviceType>().extent(0)*buf.template view<DeviceType>().extent(1))/elements;

    buffer_view<DeviceType>(_buf,buf,maxsendlist,elements);
  }
@@ -546,9 +546,9 @@ struct AtomVecAtomicKokkos_PackExchangeFunctor {

int AtomVecAtomicKokkos::pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &k_buf, DAT::tdual_int_1d k_sendlist,DAT::tdual_int_1d k_copylist,ExecutionSpace space,int dim,X_FLOAT lo,X_FLOAT hi )
{
  if(nsend > (int) (k_buf.view<LMPHostType>().dimension_0()*k_buf.view<LMPHostType>().dimension_1())/11) {
    int newsize = nsend*11/k_buf.view<LMPHostType>().dimension_1()+1;
    k_buf.resize(newsize,k_buf.view<LMPHostType>().dimension_1());
  if(nsend > (int) (k_buf.view<LMPHostType>().extent(0)*k_buf.view<LMPHostType>().extent(1))/11) {
    int newsize = nsend*11/k_buf.view<LMPHostType>().extent(1)+1;
    k_buf.resize(newsize,k_buf.view<LMPHostType>().extent(1));
  }
  if(space == Host) {
    AtomVecAtomicKokkos_PackExchangeFunctor<LMPHostType> f(atomKK,k_buf,k_sendlist,k_copylist,atom->nlocal,dim,lo,hi);
@@ -617,7 +617,7 @@ struct AtomVecAtomicKokkos_UnpackExchangeFunctor {
                _nlocal(nlocal.template view<DeviceType>()),_dim(dim),
                _lo(lo),_hi(hi){
    const size_t elements = 11;
    const int maxsendlist = (buf.template view<DeviceType>().dimension_0()*buf.template view<DeviceType>().dimension_1())/elements;
    const int maxsendlist = (buf.template view<DeviceType>().extent(0)*buf.template view<DeviceType>().extent(1))/elements;

    buffer_view<DeviceType>(_buf,buf,maxsendlist,elements);
  }
Loading