45 const local_map_type& lclColMap,
46 const local_map_type& lclDomMap,
47 const row_offsets_type& ptr,
48 const lcl_col_inds_type& ind) :
49 OffRankOffsets_ (OffRankOffsets),
50 lclColMap_ (lclColMap),
51 lclDomMap_ (lclDomMap),
56 typedef Kokkos::RangePolicy<execution_space, LO> policy_type;
58 lclNumRows_ = ptr.extent(0)-1;
59 policy_type range (0, ptr.extent(0));
60 Kokkos::parallel_for (range, *
this);
72 Tpetra::Details::OrdinalTraits<LO>::invalid ();
74 if (lclRowInd == lclNumRows_)
75 OffRankOffsets_[lclRowInd] = ptr_[lclRowInd];
78 size_t offset = ptr_[lclRowInd+1];
79 for (
size_t j = ptr_[lclRowInd]; j < ptr_[lclRowInd+1]; j++) {
80 const LO lclColInd = ind_[j];
81 const GO gblColInd = lclColMap_.getGlobalElement (lclColInd);
82 const LO lclDomInd = lclDomMap_.getLocalElement (gblColInd);
83 if ((lclDomInd == INVALID) && (j < offset))
86 OffRankOffsets_[lclRowInd] = offset;
GetGraphOffRankOffsets(const offsets_type &OffRankOffsets, const local_map_type &lclColMap, const local_map_type &lclDomMap, const row_offsets_type &ptr, const lcl_col_inds_type &ind)
Constructor; also runs the functor.