Commit a31b0096 authored by Stan Moore's avatar Stan Moore
Browse files

Updating to master

parent a5e46e3e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -174,6 +174,8 @@ action pair_reax_c_kokkos.cpp pair_reax_c.cpp
action pair_reax_c_kokkos.h pair_reax_c.h
action pair_sw_kokkos.cpp pair_sw.cpp
action pair_sw_kokkos.h pair_sw.h
action pair_vashishta_kokkos.cpp pair_vashishta.cpp
action pair_vashishta_kokkos.h pair_vashishta.h
action pair_table_kokkos.cpp
action pair_table_kokkos.h
action pair_tersoff_kokkos.cpp pair_tersoff.cpp
+12 −2
Original line number Diff line number Diff line
@@ -83,8 +83,13 @@ class AtomVecKokkos : public AtomVec {
                   std::is_same<typename ViewType::execution_space,LMPDeviceType>::value,
                   Kokkos::CudaHostPinnedSpace,typename ViewType::memory_space>::type,
                 Kokkos::MemoryTraits<Kokkos::Unmanaged> > mirror_type;
    if(buffer_size < src.capacity())
    if (buffer_size == 0) {
       buffer = Kokkos::kokkos_malloc<Kokkos::CudaHostPinnedSpace>(src.capacity());
       buffer_size = src.capacity();
    } else if (buffer_size < src.capacity()) {
       buffer = Kokkos::kokkos_realloc<Kokkos::CudaHostPinnedSpace>(buffer,src.capacity());
       buffer_size = src.capacity();
    }
    return mirror_type( buffer ,
                             src.dimension_0() ,
                             src.dimension_1() ,
@@ -104,8 +109,13 @@ class AtomVecKokkos : public AtomVec {
                   std::is_same<typename ViewType::execution_space,LMPDeviceType>::value,
                   Kokkos::CudaHostPinnedSpace,typename ViewType::memory_space>::type,
                 Kokkos::MemoryTraits<Kokkos::Unmanaged> > mirror_type;
    if(buffer_size < src.capacity())
    if (buffer_size == 0) {
       buffer = Kokkos::kokkos_malloc<Kokkos::CudaHostPinnedSpace>(src.capacity()*sizeof(typename ViewType::value_type));
       buffer_size = src.capacity();
    } else if (buffer_size < src.capacity()) {
       buffer = Kokkos::kokkos_realloc<Kokkos::CudaHostPinnedSpace>(buffer,src.capacity()*sizeof(typename ViewType::value_type));
       buffer_size = src.capacity();
    }
    mirror_type tmp_view( (typename ViewType::value_type*)buffer ,
                             src.dimension_0() ,
                             src.dimension_1() ,
+32 −7
Original line number Diff line number Diff line
@@ -74,6 +74,19 @@ void NeighborKokkos::init()
  atomKK = (AtomKokkos *) atom;
  Neighbor::init();














  // 1st time allocation of xhold

  if (dist_check)
@@ -358,8 +371,8 @@ void NeighborKokkos::init_topology() {
   normally built with pair lists, but USER-CUDA separates them
------------------------------------------------------------------------- */

void NeighborKokkos::build_topology() {
  if (device_flag) {
void NeighborKokkos::build_topology_kokkos() {
  if (nlist_device) {
    neighbond_device.build_topology_kk();

    k_bondlist = neighbond_device.k_bondlist;
@@ -376,6 +389,18 @@ void NeighborKokkos::build_topology() {
    k_anglelist.modify<LMPDeviceType>();
    k_dihedrallist.modify<LMPDeviceType>();
    k_improperlist.modify<LMPDeviceType>();

    // Transfer topology neighbor lists to Host for non-Kokkos styles
 
    if (force->bond && force->bond->execution_space == Host)
      k_bondlist.sync<LMPHostType>();
    if (force->angle && force->angle->execution_space == Host)
      k_anglelist.sync<LMPHostType>();
    if (force->dihedral && force->dihedral->execution_space == Host)
      k_dihedrallist.sync<LMPHostType>();
    if (force->improper && force->improper->execution_space == Host)
      k_improperlist.sync<LMPHostType>();

   } else {
    neighbond_host.build_topology_kk();

+20 −20
Original line number Diff line number Diff line
@@ -125,7 +125,7 @@ void PairTersoffKokkos<DeviceType>::setup_params()
  for (i = 1; i <= n; i++)
    for (j = 1; j <= n; j++)
      for (k = 1; k <= n; k++) {
	m = elem2param[i-1][j-1][k-1];
        m = elem2param[map[i]][map[j]][map[k]];
        k_params.h_view(i,j,k).powerm = params[m].powerm;
        k_params.h_view(i,j,k).gamma = params[m].gamma;
        k_params.h_view(i,j,k).lam3 = params[m].lam3;
+21 −21
Original line number Diff line number Diff line
@@ -124,7 +124,7 @@ void PairTersoffMODKokkos<DeviceType>::setup_params()
  for (i = 1; i <= n; i++)
    for (j = 1; j <= n; j++)
      for (k = 1; k <= n; k++) {
	m = elem2param[i-1][j-1][k-1];
        m = elem2param[map[i]][map[j]][map[k]];
        k_params.h_view(i,j,k).powerm = params[m].powerm;
        k_params.h_view(i,j,k).lam3 = params[m].lam3;
        k_params.h_view(i,j,k).h = params[m].h;
Loading