| 
    Tpetra parallel linear algebra Version of the Day
    
   | 
 
Definition of functions for unpacking the entries of a Tpetra::CrsGraph for communication, in the case where it is valid to go to the KokkosSparse::CrsGraph (local sparse graph data structure) directly. More...
#include "TpetraCore_config.h"#include "Teuchos_Array.hpp"#include "Teuchos_ArrayView.hpp"#include "Tpetra_Details_castAwayConstDualView.hpp"#include "Tpetra_Details_computeOffsets.hpp"#include "Tpetra_Details_createMirrorView.hpp"#include "Tpetra_Details_OrdinalTraits.hpp"#include "Tpetra_Details_Behavior.hpp"#include "Tpetra_CrsGraph_decl.hpp"#include "Tpetra_Details_getEntryOnHost.hpp"#include "Tpetra_Details_crsUtils.hpp"#include "Kokkos_Core.hpp"#include <memory>#include <string>Go to the source code of this file.
Classes | |
| class | Tpetra::Details::UnpackAndCombineCrsGraphImpl::UnpackAndCombineFunctor< LocalOrdinal, Packet, RowView, IndicesView, BufferDevice > | 
| Unpacks and combines a single row of the CrsGraph.  More... | |
Namespaces | |
| namespace | Tpetra | 
| Namespace Tpetra contains the class and methods constituting the Tpetra library.  | |
| namespace | Tpetra::Details | 
| Nonmember function that computes a residual Computes R = B - A * X.  | |
Definition of functions for unpacking the entries of a Tpetra::CrsGraph for communication, in the case where it is valid to go to the KokkosSparse::CrsGraph (local sparse graph data structure) directly.
Data (bytes) describing the row of the CRS graph are "packed" (concatenated) in to a (view of) Packet* object in the following order:
The functions in this file are companions to Tpetra_Details_packCrsGraph.hpp, i.e., Tpetra_Details_packCrsGraph.hpp implements the packing order described above to ensure proper unpacking.
Definition in file Tpetra_Details_unpackCrsGraphAndCombine_def.hpp.
| KOKKOS_FUNCTION int Tpetra::Details::UnpackAndCombineCrsGraphImpl::unpackRow | ( | const Kokkos::View< GO *, Device, Kokkos::MemoryUnmanaged > & | gids_out, | 
| const Kokkos::View< int *, Device, Kokkos::MemoryUnmanaged > & | pids_out, | ||
| const Kokkos::View< const Packet *, BufferDevice > & | imports, | ||
| const size_t | offset, | ||
| const size_t | num_ent | ||
| ) | 
Unpack a single row of a CrsGraph.
| LO | The type of local indices. See the documentation of Map for requirements. | 
| GO | The type of global indices. See the documentation of Map for requirements. | 
| Device | The Kokkos device type. See the documentation of Map for requirements. | 
| BufferDevice | The "buffer device type." | 
Definition at line 67 of file Tpetra_Details_unpackCrsGraphAndCombine_def.hpp.
| void Tpetra::Details::UnpackAndCombineCrsGraphImpl::unpackAndCombine | ( | const RowView & | row_ptrs_beg, | 
| const RowView & | row_ptrs_end, | ||
| IndicesView & | indices, | ||
| const Kokkos::View< const GlobalOrdinal *, BufferDevice, Kokkos::MemoryUnmanaged > & | imports, | ||
| const Kokkos::View< const size_t *, BufferDevice, Kokkos::MemoryUnmanaged > & | num_packets_per_lid, | ||
| const Kokkos::View< const LocalOrdinal *, BufferDevice, Kokkos::MemoryUnmanaged > & | import_lids, | ||
| const typename CrsGraph< LocalOrdinal, GlobalOrdinal, Node >::padding_type & | padding, | ||
| const bool | unpack_pids, | ||
| const int | myRank, | ||
| const bool | verbose | ||
| ) | 
Perform the unpack operation for the graph.
| LocalGraph | the specialization of the KokkosSparse::CrsGraph local graph | 
This is a higher level interface to the UnpackAndCombineFunctor
Definition at line 263 of file Tpetra_Details_unpackCrsGraphAndCombine_def.hpp.
| void Tpetra::Details::UnpackAndCombineCrsGraphImpl::setupRowPointersForRemotes | ( | const Kokkos::View< size_t *, Device > & | tgt_rowptr, | 
| const Kokkos::View< const LO *, BufferDevice > & | import_lids, | ||
| const Kokkos::View< const Packet *, BufferDevice > & | , | ||
| const Kokkos::View< const size_t *, BufferDevice > & | num_packets_per_lid | ||
| ) | 
Setup row pointers for remotes.
Definition at line 398 of file Tpetra_Details_unpackCrsGraphAndCombine_def.hpp.