From ca56ecbecef43a138b711f60487b515dbbc18fef Mon Sep 17 00:00:00 2001
From: Daniel Arndt <arndtd@ornl.gov>
Date: Wed, 28 Dec 2022 22:43:55 +0100
Subject: [PATCH] Use create_mirror_view_and_copy

---
 include/deal.II/lac/la_parallel_vector.templates.h | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/include/deal.II/lac/la_parallel_vector.templates.h b/include/deal.II/lac/la_parallel_vector.templates.h
index 756b2d92b8..c18a97f302 100644
--- a/include/deal.II/lac/la_parallel_vector.templates.h
+++ b/include/deal.II/lac/la_parallel_vector.templates.h
@@ -405,13 +405,12 @@ namespace LinearAlgebra
             ::dealii::MemorySpace::Default::kokkos_space{}, indices);
 
           // Move the data to the device
-          Kokkos::View<Number *, ::dealii::MemorySpace::Default::kokkos_space>
-            V_dev("V_dev", n_elements);
-          Kokkos::deep_copy(
-            exec,
-            V_dev,
-            Kokkos::View<Number *, Kokkos::HostSpace>(V.begin(), n_elements));
-          exec.fence();
+          Kokkos::View<Number *, Kokkos::HostSpace> V_view(V.begin(),
+                                                           n_elements);
+          Kokkos::View<Number *,
+                       ::dealii::MemorySpace::Default::kokkos_space> auto
+            V_dev = Kokkos::create_mirror_view_and_copy(
+              ::dealii::MemorySpace::Default::kokkos_space{}, V_view);
 
           // Set the values in tmp_vector
           Kokkos::parallel_for(
-- 
2.39.5