68 local(count, j) = (count + 1) * (j + 1) * (
_comm->rank() + 1);
71 _matrix->add_matrix(local, rows, cols);
74 index =
_i[
_comm->rank()], count = 0;
76 auto functor = [
this]()
78 std::vector<numeric_index_type> cols_to_get;
79 std::vector<Number> values;
81 for (; local_count <
_local_size; ++local_count, ++local_index)
83 _matrix->get_row(local_index, cols_to_get, values);
87 (local_count + 1) * (j + 1) * (
_comm->rank() + 1),
89 CPPUNIT_ASSERT_EQUAL(cols_to_get[local_count], local_index);
94 #ifdef LIBMESH_HAVE_CXX11_THREAD
95 auto num_threads = std::min(
unsigned(2),
97 std::thread::hardware_concurrency(),
99 std::vector<std::thread> threads(num_threads);
100 for (
unsigned int thread = 0; thread < num_threads; ++thread)
101 threads[thread] = std::thread(functor);
102 std::for_each(threads.begin(), threads.end(),
103 [](std::thread & x){x.join();});