message: Use explicit copies instead of unified memory for point-in-cell test
diff: @@ -379,6 +379,9 @@ public:
  /*! Tests PointInCell class using isoparametric points within each cell */
  void testIsoGridPointsOnMesh(const std::string& meshTypeStr)
  {
  + int devAllocID = axom::execution_space<ExecSpace>::allocatorID();
  + int hostAllocID = axom::execution_space<axom::SEQ_EXEC>::allocatorID();
  +
  std::string filename =
  axom::fmt::format("quest_point_in_cell_{}_quad", meshTypeStr);
  @@ -391,22 +394,20 @@ public:
  m_mesh->GetNE(),
  constructTimer.elapsed()));
  -#ifdef AXOM_USE_UMPIRE
  - using SpacePtArray = axom::Array<SpacePt, 1, axom::MemorySpace::Unified>;
  - using IndexArray = axom::Array<IndexType, 1, axom::MemorySpace::Unified>;
  -#else
  using SpacePtArray = axom::Array<SpacePt>;
  using IndexArray = axom::Array<IndexType>;
  -#endif
  // Test that a fixed set of isoparametric coords on each cell
  // maps to the correct place.
  SpacePtArray isoPts = generateIsoParTestPoints(::TEST_GRID_RES);
  const auto SZ = isoPts.size();
  - SpacePtArray spacePts(SZ, SZ, m_allocatorID);
  - SpacePtArray foundIso(SZ, SZ, m_allocatorID);
  - IndexArray foundIDs(SZ, SZ, m_allocatorID);
  + axom::Array<SpacePt> spacePts(SZ, SZ);
  + axom::Array<SpacePt> foundIso(SZ, SZ);
  + axom::Array<IndexType> foundIDs(SZ, SZ);
  +
  + axom::Array<SpacePt> foundIsoDevice(SZ, SZ, devAllocID);
  + axom::Array<IndexType> foundIDsDevice(SZ, SZ, devAllocID);
  axom::utilities::Timer queryTimer2(true);
  SpacePt foundIsoPar;
  @@ -421,7 +422,27 @@ public:
  }
  // locate the reconstructed points (using EXEC space)
  - spatialIndex.locatePoints(spacePts.view(), foundIDs.data(), foundIso.data());
  + if(axom::execution_space<ExecSpace>::onDevice())
  + {
  + int devAllocID = axom::execution_space<ExecSpace>::allocatorID();
  + // copy query points to device
  + axom::Array<SpacePt> spacePtsDevice(spacePts, devAllocID);
  +
  + // run device query
  + spatialIndex.locatePoints(spacePtsDevice.view(),
  + foundIDsDevice.data(),
  + foundIsoDevice.data());
  +
  + // copy results back to host
  + foundIso = axom::Array<SpacePt>(foundIsoDevice, hostAllocID);
  + foundIDs = axom::Array<IndexType>(foundIDsDevice, hostAllocID);
  + }
  + else
  + {
  + spatialIndex.locatePoints(spacePts.view(),
  + foundIDs.data(),
  + foundIso.data());
  + }
  // check results
  for(int idx = 0; idx < SZ; ++idx)
  