From 254c052eccc6595677cdb6198835c1d6affd38f8 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 29 Nov 2022 10:25:43 -0700 Subject: [PATCH] Fix GPU tag issues in other Kokkos styles --- src/KOKKOS/fix_neigh_history_kokkos.cpp | 2 ++ src/KOKKOS/pair_adp_kokkos.cpp | 1 - src/KOKKOS/pair_adp_kokkos.h | 1 - src/KOKKOS/pair_buck_kokkos.cpp | 1 - src/KOKKOS/pair_buck_kokkos.h | 1 - src/KOKKOS/pair_eam_alloy_kokkos.cpp | 1 - src/KOKKOS/pair_eam_alloy_kokkos.h | 1 - src/KOKKOS/pair_eam_fs_kokkos.cpp | 1 - src/KOKKOS/pair_eam_fs_kokkos.h | 1 - src/KOKKOS/pair_eam_kokkos.cpp | 1 - src/KOKKOS/pair_eam_kokkos.h | 1 - src/KOKKOS/pair_gran_hooke_history_kokkos.cpp | 1 - src/KOKKOS/pair_gran_hooke_history_kokkos.h | 1 - src/KOKKOS/pair_lj_class2_kokkos.cpp | 1 - src/KOKKOS/pair_lj_class2_kokkos.h | 1 - src/KOKKOS/pair_lj_cut_kokkos.cpp | 1 - src/KOKKOS/pair_lj_cut_kokkos.h | 1 - src/KOKKOS/pair_lj_expand_kokkos.cpp | 1 - src/KOKKOS/pair_lj_expand_kokkos.h | 1 - src/KOKKOS/pair_lj_sdk_kokkos.cpp | 1 - src/KOKKOS/pair_lj_sdk_kokkos.h | 1 - src/KOKKOS/pair_morse_kokkos.cpp | 1 - src/KOKKOS/pair_morse_kokkos.h | 1 - src/KOKKOS/pair_tersoff_kokkos.cpp | 2 +- src/KOKKOS/pair_tersoff_mod_kokkos.cpp | 2 +- src/KOKKOS/pair_tersoff_zbl_kokkos.cpp | 2 +- src/KOKKOS/pair_yukawa_kokkos.cpp | 1 - src/KOKKOS/pair_yukawa_kokkos.h | 1 - 28 files changed, 5 insertions(+), 27 deletions(-) diff --git a/src/KOKKOS/fix_neigh_history_kokkos.cpp b/src/KOKKOS/fix_neigh_history_kokkos.cpp index f367bf5903..ac3bbc8ea4 100644 --- a/src/KOKKOS/fix_neigh_history_kokkos.cpp +++ b/src/KOKKOS/fix_neigh_history_kokkos.cpp @@ -20,6 +20,7 @@ #include "modify.h" #include "neigh_list_kokkos.h" #include "pair_kokkos.h" +#include "atom_masks.h" using namespace LAMMPS_NS; @@ -170,6 +171,7 @@ template void FixNeighHistoryKokkos::post_neighbor() { tag = atomKK->k_tag.view(); + atomKK->sync(execution_space,TAG_MASK); k_firstflag.sync(); k_firstvalue.sync(); diff --git a/src/KOKKOS/pair_adp_kokkos.cpp b/src/KOKKOS/pair_adp_kokkos.cpp index 93806a8dc5..63623f3285 100644 --- a/src/KOKKOS/pair_adp_kokkos.cpp +++ b/src/KOKKOS/pair_adp_kokkos.cpp @@ -111,7 +111,6 @@ void PairADPKokkos::compute(int eflag_in, int vflag_in) x = atomKK->k_x.view(); f = atomKK->k_f.view(); type = atomKK->k_type.view(); - tag = atomKK->k_tag.view(); nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; newton_pair = force->newton_pair; diff --git a/src/KOKKOS/pair_adp_kokkos.h b/src/KOKKOS/pair_adp_kokkos.h index ce163f6120..76005176e1 100644 --- a/src/KOKKOS/pair_adp_kokkos.h +++ b/src/KOKKOS/pair_adp_kokkos.h @@ -120,7 +120,6 @@ class PairADPKokkos : public PairADP, public KokkosBase typename AT::t_x_array x; typename AT::t_f_array f; typename AT::t_int_1d type; - typename AT::t_tagint_1d tag; DAT::tdual_efloat_1d k_eatom; DAT::tdual_virial_array k_vatom; diff --git a/src/KOKKOS/pair_buck_kokkos.cpp b/src/KOKKOS/pair_buck_kokkos.cpp index dc375dddf7..76f28f38f9 100644 --- a/src/KOKKOS/pair_buck_kokkos.cpp +++ b/src/KOKKOS/pair_buck_kokkos.cpp @@ -101,7 +101,6 @@ void PairBuckKokkos::compute(int eflag_in, int vflag_in) c_x = atomKK->k_x.view(); f = atomKK->k_f.view(); type = atomKK->k_type.view(); - tag = atomKK->k_tag.view(); nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; newton_pair = force->newton_pair; diff --git a/src/KOKKOS/pair_buck_kokkos.h b/src/KOKKOS/pair_buck_kokkos.h index f68be6fa6f..dfbcbfc814 100644 --- a/src/KOKKOS/pair_buck_kokkos.h +++ b/src/KOKKOS/pair_buck_kokkos.h @@ -74,7 +74,6 @@ class PairBuckKokkos : public PairBuck { typename AT::t_x_array c_x; typename AT::t_f_array f; typename AT::t_int_1d_randomread type; - typename AT::t_tagint_1d tag; DAT::tdual_efloat_1d k_eatom; DAT::tdual_virial_array k_vatom; diff --git a/src/KOKKOS/pair_eam_alloy_kokkos.cpp b/src/KOKKOS/pair_eam_alloy_kokkos.cpp index ca2692a21e..bdf8f119cd 100644 --- a/src/KOKKOS/pair_eam_alloy_kokkos.cpp +++ b/src/KOKKOS/pair_eam_alloy_kokkos.cpp @@ -110,7 +110,6 @@ void PairEAMAlloyKokkos::compute(int eflag_in, int vflag_in) x = atomKK->k_x.view(); f = atomKK->k_f.view(); type = atomKK->k_type.view(); - tag = atomKK->k_tag.view(); nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; newton_pair = force->newton_pair; diff --git a/src/KOKKOS/pair_eam_alloy_kokkos.h b/src/KOKKOS/pair_eam_alloy_kokkos.h index 06530abec9..5d6bc40d25 100644 --- a/src/KOKKOS/pair_eam_alloy_kokkos.h +++ b/src/KOKKOS/pair_eam_alloy_kokkos.h @@ -119,7 +119,6 @@ class PairEAMAlloyKokkos : public PairEAM, public KokkosBase { typename AT::t_x_array x; typename AT::t_f_array f; typename AT::t_int_1d type; - typename AT::t_tagint_1d tag; DAT::tdual_efloat_1d k_eatom; DAT::tdual_virial_array k_vatom; diff --git a/src/KOKKOS/pair_eam_fs_kokkos.cpp b/src/KOKKOS/pair_eam_fs_kokkos.cpp index 55aabdc920..1ce9d31030 100644 --- a/src/KOKKOS/pair_eam_fs_kokkos.cpp +++ b/src/KOKKOS/pair_eam_fs_kokkos.cpp @@ -110,7 +110,6 @@ void PairEAMFSKokkos::compute(int eflag_in, int vflag_in) x = atomKK->k_x.view(); f = atomKK->k_f.view(); type = atomKK->k_type.view(); - tag = atomKK->k_tag.view(); nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; newton_pair = force->newton_pair; diff --git a/src/KOKKOS/pair_eam_fs_kokkos.h b/src/KOKKOS/pair_eam_fs_kokkos.h index 9fd05e8e8f..5bc3d797d0 100644 --- a/src/KOKKOS/pair_eam_fs_kokkos.h +++ b/src/KOKKOS/pair_eam_fs_kokkos.h @@ -119,7 +119,6 @@ class PairEAMFSKokkos : public PairEAM, public KokkosBase { typename AT::t_x_array x; typename AT::t_f_array f; typename AT::t_int_1d type; - typename AT::t_tagint_1d tag; DAT::tdual_efloat_1d k_eatom; DAT::tdual_virial_array k_vatom; diff --git a/src/KOKKOS/pair_eam_kokkos.cpp b/src/KOKKOS/pair_eam_kokkos.cpp index 26b3ec6880..4eb6b2c557 100644 --- a/src/KOKKOS/pair_eam_kokkos.cpp +++ b/src/KOKKOS/pair_eam_kokkos.cpp @@ -105,7 +105,6 @@ void PairEAMKokkos::compute(int eflag_in, int vflag_in) x = atomKK->k_x.view(); f = atomKK->k_f.view(); type = atomKK->k_type.view(); - tag = atomKK->k_tag.view(); nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; newton_pair = force->newton_pair; diff --git a/src/KOKKOS/pair_eam_kokkos.h b/src/KOKKOS/pair_eam_kokkos.h index 4bc7a55196..2f1aff7f8b 100644 --- a/src/KOKKOS/pair_eam_kokkos.h +++ b/src/KOKKOS/pair_eam_kokkos.h @@ -115,7 +115,6 @@ class PairEAMKokkos : public PairEAM, public KokkosBase { typename AT::t_x_array x; typename AT::t_f_array f; typename AT::t_int_1d type; - typename AT::t_tagint_1d tag; DAT::tdual_efloat_1d k_eatom; DAT::tdual_virial_array k_vatom; diff --git a/src/KOKKOS/pair_gran_hooke_history_kokkos.cpp b/src/KOKKOS/pair_gran_hooke_history_kokkos.cpp index 1456bab0bc..c932d61d1a 100644 --- a/src/KOKKOS/pair_gran_hooke_history_kokkos.cpp +++ b/src/KOKKOS/pair_gran_hooke_history_kokkos.cpp @@ -134,7 +134,6 @@ void PairGranHookeHistoryKokkos::compute(int eflag_in, int vflag_in) torque = atomKK->k_torque.view(); type = atomKK->k_type.view(); mask = atomKK->k_mask.view(); - tag = atomKK->k_tag.view(); rmass = atomKK->k_rmass.view(); radius = atomKK->k_radius.view(); nlocal = atom->nlocal; diff --git a/src/KOKKOS/pair_gran_hooke_history_kokkos.h b/src/KOKKOS/pair_gran_hooke_history_kokkos.h index 88514e2233..9a99cd9728 100644 --- a/src/KOKKOS/pair_gran_hooke_history_kokkos.h +++ b/src/KOKKOS/pair_gran_hooke_history_kokkos.h @@ -86,7 +86,6 @@ class PairGranHookeHistoryKokkos : public PairGranHookeHistory { DAT::tdual_virial_array k_vatom; typename AT::t_efloat_1d d_eatom; typename AT::t_virial_array d_vatom; - typename AT::t_tagint_1d tag; typename AT::t_neighbors_2d d_neighbors; typename AT::t_int_1d_randomread d_ilist; diff --git a/src/KOKKOS/pair_lj_class2_kokkos.cpp b/src/KOKKOS/pair_lj_class2_kokkos.cpp index b5866066d3..096f74cb4c 100644 --- a/src/KOKKOS/pair_lj_class2_kokkos.cpp +++ b/src/KOKKOS/pair_lj_class2_kokkos.cpp @@ -102,7 +102,6 @@ void PairLJClass2Kokkos::compute(int eflag_in, int vflag_in) c_x = atomKK->k_x.view(); f = atomKK->k_f.view(); type = atomKK->k_type.view(); - tag = atomKK->k_tag.view(); nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; newton_pair = force->newton_pair; diff --git a/src/KOKKOS/pair_lj_class2_kokkos.h b/src/KOKKOS/pair_lj_class2_kokkos.h index d5952655e9..3e62c43b96 100644 --- a/src/KOKKOS/pair_lj_class2_kokkos.h +++ b/src/KOKKOS/pair_lj_class2_kokkos.h @@ -80,7 +80,6 @@ class PairLJClass2Kokkos : public PairLJClass2 { typename AT::t_x_array c_x; typename AT::t_f_array f; typename AT::t_int_1d_randomread type; - typename AT::t_tagint_1d tag; DAT::tdual_efloat_1d k_eatom; DAT::tdual_virial_array k_vatom; diff --git a/src/KOKKOS/pair_lj_cut_kokkos.cpp b/src/KOKKOS/pair_lj_cut_kokkos.cpp index 487c43cef6..753fd07011 100644 --- a/src/KOKKOS/pair_lj_cut_kokkos.cpp +++ b/src/KOKKOS/pair_lj_cut_kokkos.cpp @@ -97,7 +97,6 @@ void PairLJCutKokkos::compute(int eflag_in, int vflag_in) c_x = atomKK->k_x.view(); f = atomKK->k_f.view(); type = atomKK->k_type.view(); - tag = atomKK->k_tag.view(); nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; newton_pair = force->newton_pair; diff --git a/src/KOKKOS/pair_lj_cut_kokkos.h b/src/KOKKOS/pair_lj_cut_kokkos.h index 17f1032855..030cdd0c78 100644 --- a/src/KOKKOS/pair_lj_cut_kokkos.h +++ b/src/KOKKOS/pair_lj_cut_kokkos.h @@ -80,7 +80,6 @@ class PairLJCutKokkos : public PairLJCut { DAT::tdual_virial_array k_vatom; typename AT::t_efloat_1d d_eatom; typename AT::t_virial_array d_vatom; - typename AT::t_tagint_1d tag; int newton_pair; double special_lj[4]; diff --git a/src/KOKKOS/pair_lj_expand_kokkos.cpp b/src/KOKKOS/pair_lj_expand_kokkos.cpp index 25a562d5a6..ec25463960 100644 --- a/src/KOKKOS/pair_lj_expand_kokkos.cpp +++ b/src/KOKKOS/pair_lj_expand_kokkos.cpp @@ -101,7 +101,6 @@ void PairLJExpandKokkos::compute(int eflag_in, int vflag_in) c_x = atomKK->k_x.view(); f = atomKK->k_f.view(); type = atomKK->k_type.view(); - tag = atomKK->k_tag.view(); nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; newton_pair = force->newton_pair; diff --git a/src/KOKKOS/pair_lj_expand_kokkos.h b/src/KOKKOS/pair_lj_expand_kokkos.h index ab62ff1df2..912c6fe628 100644 --- a/src/KOKKOS/pair_lj_expand_kokkos.h +++ b/src/KOKKOS/pair_lj_expand_kokkos.h @@ -80,7 +80,6 @@ class PairLJExpandKokkos : public PairLJExpand { typename AT::t_x_array c_x; typename AT::t_f_array f; typename AT::t_int_1d_randomread type; - typename AT::t_tagint_1d tag; DAT::tdual_efloat_1d k_eatom; DAT::tdual_virial_array k_vatom; diff --git a/src/KOKKOS/pair_lj_sdk_kokkos.cpp b/src/KOKKOS/pair_lj_sdk_kokkos.cpp index aed03f157d..68a58460fa 100644 --- a/src/KOKKOS/pair_lj_sdk_kokkos.cpp +++ b/src/KOKKOS/pair_lj_sdk_kokkos.cpp @@ -101,7 +101,6 @@ void PairLJSDKKokkos::compute(int eflag_in, int vflag_in) c_x = atomKK->k_x.view(); f = atomKK->k_f.view(); type = atomKK->k_type.view(); - tag = atomKK->k_tag.view(); nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; newton_pair = force->newton_pair; diff --git a/src/KOKKOS/pair_lj_sdk_kokkos.h b/src/KOKKOS/pair_lj_sdk_kokkos.h index edc42c7f6a..b8677dc2ab 100644 --- a/src/KOKKOS/pair_lj_sdk_kokkos.h +++ b/src/KOKKOS/pair_lj_sdk_kokkos.h @@ -77,7 +77,6 @@ class PairLJSDKKokkos : public PairLJSDK { typename AT::t_x_array c_x; typename AT::t_f_array f; typename AT::t_int_1d_randomread type; - typename AT::t_tagint_1d tag; DAT::tdual_efloat_1d k_eatom; DAT::tdual_virial_array k_vatom; diff --git a/src/KOKKOS/pair_morse_kokkos.cpp b/src/KOKKOS/pair_morse_kokkos.cpp index 7619883047..f283478adc 100644 --- a/src/KOKKOS/pair_morse_kokkos.cpp +++ b/src/KOKKOS/pair_morse_kokkos.cpp @@ -104,7 +104,6 @@ void PairMorseKokkos::compute(int eflag_in, int vflag_in) c_x = atomKK->k_x.view(); f = atomKK->k_f.view(); type = atomKK->k_type.view(); - tag = atomKK->k_tag.view(); nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; newton_pair = force->newton_pair; diff --git a/src/KOKKOS/pair_morse_kokkos.h b/src/KOKKOS/pair_morse_kokkos.h index 2a1205a65d..90bfbf47e8 100644 --- a/src/KOKKOS/pair_morse_kokkos.h +++ b/src/KOKKOS/pair_morse_kokkos.h @@ -80,7 +80,6 @@ class PairMorseKokkos : public PairMorse { DAT::tdual_virial_array k_vatom; typename ArrayTypes::t_efloat_1d d_eatom; typename ArrayTypes::t_virial_array d_vatom; - typename ArrayTypes::t_tagint_1d tag; int newton_pair; double special_lj[4]; diff --git a/src/KOKKOS/pair_tersoff_kokkos.cpp b/src/KOKKOS/pair_tersoff_kokkos.cpp index 0e78fa785c..b7acb5c577 100644 --- a/src/KOKKOS/pair_tersoff_kokkos.cpp +++ b/src/KOKKOS/pair_tersoff_kokkos.cpp @@ -60,7 +60,7 @@ PairTersoffKokkos::PairTersoffKokkos(LAMMPS *lmp) : PairTersoff(lmp) kokkosable = 1; atomKK = (AtomKokkos *) atom; execution_space = ExecutionSpaceFromDevice::space; - datamask_read = X_MASK | F_MASK | TYPE_MASK | ENERGY_MASK | VIRIAL_MASK; + datamask_read = X_MASK | F_MASK | TAG_MASK | TYPE_MASK | ENERGY_MASK | VIRIAL_MASK; datamask_modify = F_MASK | ENERGY_MASK | VIRIAL_MASK; } diff --git a/src/KOKKOS/pair_tersoff_mod_kokkos.cpp b/src/KOKKOS/pair_tersoff_mod_kokkos.cpp index 203cfba134..68429d1822 100644 --- a/src/KOKKOS/pair_tersoff_mod_kokkos.cpp +++ b/src/KOKKOS/pair_tersoff_mod_kokkos.cpp @@ -50,7 +50,7 @@ PairTersoffMODKokkos::PairTersoffMODKokkos(LAMMPS *lmp) : PairTersof kokkosable = 1; atomKK = (AtomKokkos *) atom; execution_space = ExecutionSpaceFromDevice::space; - datamask_read = X_MASK | F_MASK | TYPE_MASK | ENERGY_MASK | VIRIAL_MASK; + datamask_read = X_MASK | F_MASK | TAG_MASK | TYPE_MASK | ENERGY_MASK | VIRIAL_MASK; datamask_modify = F_MASK | ENERGY_MASK | VIRIAL_MASK; } diff --git a/src/KOKKOS/pair_tersoff_zbl_kokkos.cpp b/src/KOKKOS/pair_tersoff_zbl_kokkos.cpp index 4068f14f6d..c43f346d73 100644 --- a/src/KOKKOS/pair_tersoff_zbl_kokkos.cpp +++ b/src/KOKKOS/pair_tersoff_zbl_kokkos.cpp @@ -52,7 +52,7 @@ PairTersoffZBLKokkos::PairTersoffZBLKokkos(LAMMPS *lmp) : PairTersof kokkosable = 1; atomKK = (AtomKokkos *) atom; execution_space = ExecutionSpaceFromDevice::space; - datamask_read = X_MASK | F_MASK | TYPE_MASK | ENERGY_MASK | VIRIAL_MASK; + datamask_read = X_MASK | F_MASK | TAG_MASK | TYPE_MASK | ENERGY_MASK | VIRIAL_MASK; datamask_modify = F_MASK | ENERGY_MASK | VIRIAL_MASK; if (strcmp(update->unit_style,"metal") == 0) { diff --git a/src/KOKKOS/pair_yukawa_kokkos.cpp b/src/KOKKOS/pair_yukawa_kokkos.cpp index 7672385dfb..13e7870bf6 100644 --- a/src/KOKKOS/pair_yukawa_kokkos.cpp +++ b/src/KOKKOS/pair_yukawa_kokkos.cpp @@ -176,7 +176,6 @@ void PairYukawaKokkos::compute(int eflag_in, int vflag_in) c_x = atomKK->k_x.view(); f = atomKK->k_f.view(); type = atomKK->k_type.view(); - tag = atomKK->k_tag.view(); nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; newton_pair = force->newton_pair; diff --git a/src/KOKKOS/pair_yukawa_kokkos.h b/src/KOKKOS/pair_yukawa_kokkos.h index 481f4dabb2..84793a22b6 100644 --- a/src/KOKKOS/pair_yukawa_kokkos.h +++ b/src/KOKKOS/pair_yukawa_kokkos.h @@ -83,7 +83,6 @@ class PairYukawaKokkos : public PairYukawa { DAT::tdual_virial_array k_vatom; typename AT::t_efloat_1d d_eatom; typename AT::t_virial_array d_vatom; - typename AT::t_tagint_1d tag; int newton_pair; double special_lj[4];