Closed ndellingwood closed 2 years ago
This is with this instantiation of the unit test: EXECUTE_TEST(double, int, size_t, TestExecSpace)
(i.e. line 470 of kokkos-kernels/graph/unit_test/Test_Graph_coarsen.hpp
)
Replacing usage of HostMirror
by auto
to provide the type for host mirror Views resolved the compilation errors, I'm not sure if this change might be masking something though (i.e. maybe some missing ETI for size_t
with CrsMatrix or Graph)? @lucbv @brian-kelley any thoughts?
I'm posting my diff below and will put in a tentative PR to get it started testing in case it is an acceptable path to resolve this
diff --git a/graph/unit_test/Test_Graph_coarsen.hpp b/graph/unit_test/Test_Graph_coarsen.hpp
index af8ec55..77da10e 100644
--- a/graph/unit_test/Test_Graph_coarsen.hpp
+++ b/graph/unit_test/Test_Graph_coarsen.hpp
@@ -81,17 +81,17 @@ bool verify_coarsening(typename coarsener_t::coarse_level_triple fine_l,
Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), A.graph.row_map);
auto c_rowmap = Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(),
coarse_A.graph.row_map);
- typename c_entries_t::HostMirror f_entries =
+ auto f_entries =
Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), A.graph.entries);
- typename c_entries_t::HostMirror vcmap = Kokkos::create_mirror_view_and_copy(
+ auto vcmap = Kokkos::create_mirror_view_and_copy(
Kokkos::HostSpace(), coarse_l.interp_mtx.graph.entries);
- typename svt::HostMirror few =
+ auto few =
Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), A.values);
- typename svt::HostMirror cew =
+ auto cew =
Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), coarse_A.values);
- typename entries_t::HostMirror fvw =
+ auto fvw =
Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), fine_l.vtx_wgts);
- typename entries_t::HostMirror cvw = Kokkos::create_mirror_view_and_copy(
+ auto cvw = Kokkos::create_mirror_view_and_copy(
Kokkos::HostSpace(), coarse_l.vtx_wgts);
ordinal_t f_size = 0;
ordinal_t c_size = 0;
@@ -143,7 +143,7 @@ bool verify_is_graph(crsMat A) {
using edge_t = typename rowmap_t::value_type;
auto rowmap =
Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), A.graph.row_map);
- typename c_entries_t::HostMirror entries =
+ auto entries =
Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), A.graph.entries);
for (ordinal_t i = 0; i < A.numRows(); i++) {
@@ -187,7 +187,7 @@ bool verify_aggregator(crsMat A, crsMat agg) {
if (A.numRows() < agg.numCols()) {
return false;
}
- typename c_entries_t::HostMirror entries =
+ auto entries =
Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(),
agg.graph.entries);
Potentially resolved by #1538
@ndellingwood This is fine. Nothing in grpah is ETI'd except D1 coloring so it won't be a problem now. If we ETI coarsening later, we can just adjust the test then to build with ETI-only types.
Actually even then this will be fine because these mirrors are only used within the test, not passed into kernels.
In cuda/11.2 builds (CuSparse and CuBlas OFF) I'm seeing these compilation errors with develop branches of kokkos and kokkos-kernels: