]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Fix tests
authorDaniel Arndt <arndtd@ornl.gov>
Wed, 7 Dec 2022 22:07:47 +0000 (22:07 +0000)
committerDaniel Arndt <arndtd@ornl.gov>
Thu, 8 Dec 2022 22:13:15 +0000 (17:13 -0500)
17 files changed:
tests/lac/parallel_vector_01.cc
tests/lac/parallel_vector_02.cc
tests/lac/parallel_vector_03.cc
tests/lac/parallel_vector_03a.cc
tests/lac/parallel_vector_05.cc
tests/lac/parallel_vector_06.cc
tests/lac/parallel_vector_08.cc
tests/lac/parallel_vector_10.cc
tests/lac/parallel_vector_11.cc
tests/lac/parallel_vector_12.cc
tests/lac/parallel_vector_13.cc
tests/lac/parallel_vector_14.cc
tests/lac/parallel_vector_15.cc
tests/lac/parallel_vector_16.cc
tests/lac/parallel_vector_21.cc
tests/lac/parallel_vector_25.cc
tests/lac/parallel_vector_26.cc

index 3a6b82053d326e1f6927ddfd5e2493ce90b1c491..a0923b67afbde73a37b4769d6b6786e5f9e6188a 100644 (file)
@@ -44,7 +44,7 @@ test()
   IndexSet local_owned(numproc * 2);
   local_owned.add_range(myid * 2, myid * 2 + 2);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_owned, MPI_COMM_WORLD);
 
   // set local values
index afd643c1eb8da5f0d6370aba44c60aef263e37c1..891f0ee834464afcb866396ef7bd685d252a6d6b 100644 (file)
@@ -47,7 +47,7 @@ test()
   local_relevant = local_owned;
   local_relevant.add_range(1, 2);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_relevant, MPI_COMM_WORLD);
 
   // set local values and check them
index 5465361153b8323a3b3589358fe1573ba1993da3..5d686847c82b2a8850f4bc164927d2e5f53cc569 100644 (file)
@@ -47,7 +47,7 @@ test()
   local_relevant = local_owned;
   local_relevant.add_range(1, 2);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_relevant, MPI_COMM_WORLD);
 
   // set local values and check them
index ed1ebfaa6341869e52d93a4560726a4623d780b0..a7ff1fc723e86edceebf3651ced811b1db33bb7d 100644 (file)
@@ -80,7 +80,7 @@ test()
       local_relevant.add_range(4, 7);
     }
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_relevant, MPI_COMM_WORLD);
   v = 0.;
 
index 7c42d01f40f15645242d53b635ff562fba9103d6..9cf4631e2f1944025de6a85f6600bbd2d89fc09e 100644 (file)
@@ -47,7 +47,7 @@ test()
   local_relevant = local_owned;
   local_relevant.add_range(1, 2);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_relevant, MPI_COMM_WORLD);
 
   // set local values and check them
index 3ac6c1bab8656a807b200c08ab3b06cfba6d4772..01b1432a569719aad33ff65a022ed62fd2ca364d 100644 (file)
@@ -48,7 +48,7 @@ test()
   local_relevant = local_owned;
   local_relevant.add_range(1, 2);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_owned, MPI_COMM_WORLD);
 
   // set local values
@@ -102,7 +102,7 @@ test()
   {
     const double norm_sqr = v.l2_norm() * v.l2_norm();
     AssertThrow(std::fabs(v * v - norm_sqr) < 1e-15, ExcInternalError());
-    LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v2;
+    LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v2;
     v2 = v;
     AssertThrow(std::fabs(v2 * v - norm_sqr) < 1e-15, ExcInternalError());
 
@@ -116,7 +116,7 @@ test()
     bool allzero = v.all_zero();
     if (myid == 0)
       deallog << " v==0 ? " << allzero << std::endl;
-    LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v2;
+    LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v2;
     v2.reinit(v);
     allzero = v2.all_zero();
     if (myid == 0)
index 75da428ee5806b9f1fd9ed45a3f0458ee1d650dc..c33c5dadf0625b01d2d1b08484a8b81f5caa8c4c 100644 (file)
@@ -66,9 +66,9 @@ test()
   // v has ghosts, w has none. set some entries
   // on w, copy into v and check if they are
   // there
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_relevant, MPI_COMM_WORLD);
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> w(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> w(
     local_owned, local_owned, MPI_COMM_WORLD);
 
   // set a few of the local elements
index 3ef59387dbd3015af31f8b4476240d57c3d99a1f..0e13b1b21f8045946bfbe3cfd2d366f23da59298 100644 (file)
@@ -47,9 +47,9 @@ test()
   local_relevant = local_owned;
   local_relevant.add_range(1, 2);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_relevant, MPI_COMM_WORLD);
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> w(v);
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> w(v);
 
   // set local values and check them
   LinearAlgebra::ReadWriteVector<double> rw_vector(local_owned);
index 592f1a0d426cdcf39ad0c301ad7cd5e136f89c5d..2185db298096f9a910df24555c0fb50558bcfc4b 100644 (file)
@@ -55,10 +55,10 @@ test()
   local_relevant = local_owned;
   local_relevant.add_index(2);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_relevant, MPI_COMM_WORLD);
   AssertDimension(static_cast<unsigned int>(actual_local_size), v.local_size());
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> w(v), x(v),
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> w(v), x(v),
     y(v);
 
   // set local elements
index 9236cc0520a4c9c5869757b95170012e5161a487..0cdea76c30a9b1f61101eb549a02f3f7ce2d5071 100644 (file)
@@ -61,7 +61,7 @@ test()
   if (numproc > 2)
     local_relevant0.add_index(8);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v0(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v0(
     local_owned0, local_relevant0, MPI_COMM_WORLD);
 
   // vector1: local size 4
@@ -83,7 +83,7 @@ test()
       local_relevant1.add_index(10);
     }
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v1(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v1(
     local_owned1, local_relevant1, MPI_COMM_WORLD);
 
   v0 = 1;
@@ -179,7 +179,7 @@ test()
     deallog << "Ghost values after re-set OK" << std::endl;
 
   // swap with an empty vector
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v2;
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v2;
   v2.swap(v0);
   AssertDimension(v0.size(), 0);
   AssertDimension(v2.size(), global_size1);
index 5c4a9d2b64ad24b2d46e70acc5bc225a7078ccce..eafc5552b5dbcf567d9ace4d17dcea3d297ab7f5 100644 (file)
@@ -49,7 +49,7 @@ test()
   local_relevant = local_owned;
   local_relevant.add_range(1, 2);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_relevant, MPI_COMM_WORLD);
 
   // set local values and check them
index c0e05a29011bab2e6014018df2af99291258bc8c..fbb594bef1ec49d3e97d777d2ffb8c5282102577 100644 (file)
@@ -55,7 +55,7 @@ test()
   // and once where they have not
   for (unsigned int run = 0; run < 2; ++run)
     {
-      LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+      LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
         local_owned, local_relevant, MPI_COMM_WORLD);
 
       // set local values
@@ -68,7 +68,7 @@ test()
 
       v.import(rw_vector, VectorOperation::insert);
 
-      LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> w(v), u(v);
+      LinearAlgebra::distributed::Vector<double, MemorySpace::Device> w(v), u(v);
       u = 0;
 
       v *= 2.0;
@@ -90,7 +90,7 @@ test()
         }
 
       // copy vector content to non-ghosted vectors, manually created.
-      LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v_dist(
+      LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v_dist(
         local_owned, MPI_COMM_WORLD),
         w_dist(v_dist), u_dist(v_dist);
 
index ec64b62a28f585bf0ba136975f69efbedbf649c0..2246d321a23a03a57f8c7de0b06b914fabeb2dd2 100644 (file)
@@ -51,7 +51,7 @@ test()
   if (numproc > 1)
     local_relevant.add_range(3, 4);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_relevant, MPI_COMM_WORLD);
 
   // set local values
@@ -67,7 +67,7 @@ test()
   if (myid == 0)
     deallog << "v has ghost elements: " << v.has_ghost_elements() << std::endl;
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> w, x;
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> w, x;
   w = v;
   if (myid == 0)
     deallog << "w has ghost elements: " << w.has_ghost_elements() << std::endl;
index 7ffc1ecbbcb75e77c0b6eee4973e0795cc376290..b59379f96719c604992b9c2da17818555ab4a6ee 100644 (file)
 #include "../tests.h"
 
 
-__global__ void
-set_value(double *values_dev, unsigned int index, double val)
-{
-  values_dev[index] = val;
-}
-
 void
 test()
 {
@@ -58,17 +52,17 @@ test()
   local_relevant.add_range(min_index + 38, min_index + 40);
   local_relevant.add_range(min_index + 41, min_index + 43);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     local_owned, local_relevant, MPI_COMM_WORLD);
+  Kokkos::View<double*, MemorySpace::Device::kokkos_space> v_view(v.get_values(), local_relevant.n_elements());
 
-  deallog << "Local range of proc 0: " << v.local_range().first << " "
-          << v.local_range().second << std::endl;
+  deallog << "Local range of proc 0: " << v.get_partitioner()->local_range().first << " "
+          << v.get_partitioner()->local_range().second << std::endl;
 
   // set local values
   for (types::global_dof_index i = 0; i < local_size; ++i)
     {
-      double *values_dev = v.get_values();
-      set_value<<<1, 1>>>(values_dev, i, min_index + myid * local_size + i);
+           Kokkos::deep_copy(Kokkos::subview(v_view, i), min_index + myid * local_size + i);
     }
 
   deallog << "vector norm: " << v.l2_norm() << std::endl;
@@ -79,20 +73,11 @@ test()
   v.print(deallog.get_file_stream(), 12, false, false);
 
   v.zero_out_ghost_values();
-  double *    values_dev  = v.get_values();
   const auto &partitioner = v.get_partitioner();
-  set_value<<<1, 1>>>(values_dev,
-                      partitioner->global_to_local(min_index + 38),
-                      min_index);
-  set_value<<<1, 1>>>(values_dev,
-                      partitioner->global_to_local(min_index + 39),
-                      min_index * 2);
-  set_value<<<1, 1>>>(values_dev,
-                      partitioner->global_to_local(min_index + 41),
-                      min_index + 7);
-  set_value<<<1, 1>>>(values_dev,
-                      partitioner->global_to_local(min_index + 42),
-                      -static_cast<double>(min_index));
+  Kokkos::deep_copy(Kokkos::subview(v_view, partitioner->global_to_local(min_index + 38)), min_index);
+  Kokkos::deep_copy(Kokkos::subview(v_view, partitioner->global_to_local(min_index + 39)), min_index*2);
+  Kokkos::deep_copy(Kokkos::subview(v_view, partitioner->global_to_local(min_index + 41)), min_index+7);
+  Kokkos::deep_copy(Kokkos::subview(v_view, partitioner->global_to_local(min_index + 42)), -static_cast<double>(min_index));
   v.compress(VectorOperation::add);
   v.update_ghost_values();
   v.print(deallog.get_file_stream(), 12, false, false);
index a2eed7634ceb9ffe19525aab808b34130126a170..3a1890530fb72254f9472f1e94af17b4d48c428b 100644 (file)
@@ -41,12 +41,12 @@ test()
   ghost_set.add_index(0);
   ghost_set.add_index(2);
 
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v(
     locally_owned, ghost_set, MPI_COMM_WORLD);
 
   // create vector without actually setting the entries since they will be
   // overwritten soon anyway
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> v2;
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> v2;
   v2.reinit(v, true);
 
   // set locally owned range of v2 manually
index d081dc558ccc0690f919c2455294568f2b7da99b..f4ae375c78960cb98543e306fa70edd84455f677 100644 (file)
@@ -53,15 +53,15 @@ test()
   vec_ref.compress(VectorOperation::insert);
 
   auto partitioner = vec_ref.get_partitioner();
-  LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> vec_dev(
+  LinearAlgebra::distributed::Vector<double, MemorySpace::Device> vec_dev(
     partitioner);
   LinearAlgebra::distributed::Vector<double, MemorySpace::Host> vec_host(
     partitioner);
 
-  // Assignment from Host to CUDA
+  // Assignment from Host to Device
   vec_dev.import(vec_ref, VectorOperation::insert);
 
-  // Assignment from CUDA to Host
+  // Assignment from Device to Host
   vec_host.import(vec_dev, VectorOperation::insert);
 
   for (unsigned int i = 0; i < ghost_size; ++i)
index aea7f2006e938c9c078aa2f3b8c2846aa6b494f0..6d6543f71aef56fdc2b04749829aa646ac3b196d 100644 (file)
@@ -15,7 +15,7 @@
 
 
 // Check for a bug where compress cannot be called for a LA::d::Vector<Host> in
-// a CUDA file
+// a Device file
 
 #include <deal.II/base/index_set.h>
 #include <deal.II/base/utilities.h>

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.