diff --git a/src/KOKKOS/fix_nvt_kokkos.cpp b/src/KOKKOS/fix_nvt_kokkos.cpp index d98ba5c163..16328c5e3a 100644 --- a/src/KOKKOS/fix_nvt_kokkos.cpp +++ b/src/KOKKOS/fix_nvt_kokkos.cpp @@ -39,7 +39,7 @@ FixNVTKokkos::FixNVTKokkos(LAMMPS *lmp, int narg, char **arg) : // id = fix-ID + temp this->id_temp = utils::strdup(std::string(this->id)+"_temp"); - this->modify->add_compute(fmt::format("{} all temp/kk",this->id_temp)); + this->modify->add_compute(fmt::format("{} {} temp/kk",this->id_temp,this->group->names[this->igroup])); this->tcomputeflag = 1; } diff --git a/src/KOKKOS/fix_nvt_sllod_kokkos.cpp b/src/KOKKOS/fix_nvt_sllod_kokkos.cpp index 12b1e8f322..69ffdcd684 100644 --- a/src/KOKKOS/fix_nvt_sllod_kokkos.cpp +++ b/src/KOKKOS/fix_nvt_sllod_kokkos.cpp @@ -67,7 +67,7 @@ FixNVTSllodKokkos::FixNVTSllodKokkos(LAMMPS *lmp, int narg, char **a } this->id_temp = utils::strdup(std::string(this->id)+"_temp"); - this->modify->add_compute(fmt::format("{} all temp/deform/kk",this->id_temp)); + this->modify->add_compute(fmt::format("{} {} temp/deform/kk",this->id_temp,this->group->names[this->igroup])); this->tcomputeflag = 1; this->nondeformbias = 0; } diff --git a/src/KOKKOS/fix_setforce_kokkos.cpp b/src/KOKKOS/fix_setforce_kokkos.cpp index 4b1c31bec0..9f193bc6e4 100644 --- a/src/KOKKOS/fix_setforce_kokkos.cpp +++ b/src/KOKKOS/fix_setforce_kokkos.cpp @@ -77,9 +77,8 @@ void FixSetForceKokkos::init() template void FixSetForceKokkos::post_force(int /*vflag*/) { - atomKK->sync(execution_space, X_MASK | F_MASK | MASK_MASK); + atomKK->sync(execution_space, F_MASK | MASK_MASK); - x = atomKK->k_x.view(); f = atomKK->k_f.view(); mask = atomKK->k_mask.view(); @@ -88,6 +87,8 @@ void FixSetForceKokkos::post_force(int /*vflag*/) // update region if necessary if (region) { + if (!utils::strmatch(region->style, "^block")) + error->all(FLERR,"Cannot (yet) use {}-style region with fix setforce/kk",region->style); region->prematch(); DAT::tdual_int_1d k_match = DAT::tdual_int_1d("setforce:k_match",nlocal); KokkosBase* regionKKBase = dynamic_cast(region); diff --git a/src/KOKKOS/min_kokkos.cpp b/src/KOKKOS/min_kokkos.cpp index 4e9c9db4e2..4e1c3967ff 100644 --- a/src/KOKKOS/min_kokkos.cpp +++ b/src/KOKKOS/min_kokkos.cpp @@ -513,6 +513,7 @@ double MinKokkos::energy_force(int resetflag) if (modify->n_min_post_force) { timer->stamp(); modify->min_post_force(vflag); + atomKK->sync(Device,F_MASK); timer->stamp(Timer::MODIFY); } diff --git a/src/KOKKOS/region_block_kokkos.cpp b/src/KOKKOS/region_block_kokkos.cpp index cfee46e916..c53fae7b03 100644 --- a/src/KOKKOS/region_block_kokkos.cpp +++ b/src/KOKKOS/region_block_kokkos.cpp @@ -48,7 +48,8 @@ void RegBlockKokkos::match_all_kokkos(int groupbit_in, DAT::tdual_in groupbit = groupbit_in; d_match = k_match_in.template view(); - atomKK->sync(Device, X_MASK | MASK_MASK); + auto execution_space = ExecutionSpaceFromDevice::space; + atomKK->sync(execution_space, X_MASK | MASK_MASK); x = atomKK->k_x.view(); mask = atomKK->k_mask.view();