From 6823b2a24afb7e6c5551d670db6b024d4fd97195 Mon Sep 17 00:00:00 2001 From: iyamazaki Date: Wed, 26 Feb 2025 02:57:04 -0700 Subject: [PATCH] Amesos2: fix host/device access issue in vector gather/scatter Signed-off-by: iyamazaki --- packages/amesos2/src/Amesos2_TpetraMultiVecAdapter_def.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/amesos2/src/Amesos2_TpetraMultiVecAdapter_def.hpp b/packages/amesos2/src/Amesos2_TpetraMultiVecAdapter_def.hpp index 1aa8be69ac97..a092ae7360be 100644 --- a/packages/amesos2/src/Amesos2_TpetraMultiVecAdapter_def.hpp +++ b/packages/amesos2/src/Amesos2_TpetraMultiVecAdapter_def.hpp @@ -607,7 +607,8 @@ namespace Amesos2 { } { auto nRows_l = this->mv_->getLocalLength(); - auto lclMV = this->mv_->getLocalViewHost(Tpetra::Access::ReadOnly); + auto lclMV_d = this->mv_->getLocalViewDevice(Tpetra::Access::ReadOnly); + auto lclMV = Kokkos::create_mirror_view(lclMV_d); for (size_t j=0; j (nRows_l > 0 ? &lclMV(0,j) : lclMV.data()); @@ -642,7 +643,8 @@ namespace Amesos2 { auto comm = this->mv_->getMap()->getComm(); auto myRank = comm->getRank(); { - auto lclMV = this->mv_->getLocalViewHost(Tpetra::Access::OverwriteAll); + auto lclMV_d = this->mv_->getLocalViewDevice(Tpetra::Access::OverwriteAll); + auto lclMV = Kokkos::create_mirror_view(lclMV_d); for (size_t j=0; jbuf_.extent(0) > 0) { for (global_size_t i=0; ibuf_(i, 0) = kokkos_new_view(perm_g2l(i),j);