|
Tpetra parallel linear algebra
Version of the Day
|
Functions for packing 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_Behavior.hpp"#include "Tpetra_Details_castAwayConstDualView.hpp"#include "Tpetra_Details_createMirrorView.hpp"#include "Tpetra_Details_getEntryOnHost.hpp"#include "Tpetra_Details_OrdinalTraits.hpp"#include "Tpetra_Details_PackTraits.hpp"#include "Tpetra_CrsGraph_decl.hpp"#include <memory>#include <string>Go to the source code of this file.
Classes | |
| class | Tpetra::Details::PackCrsGraphImpl::NumPacketsAndOffsetsFunctor< OutputOffsetsViewType, CountsViewType, InputOffsetsViewType, InputLocalRowIndicesViewType, InputLocalRowPidsViewType, debug > |
| Compute the number of packets and offsets for the pack procedure. More... | |
Namespaces | |
| Tpetra | |
| Namespace Tpetra contains the class and methods constituting the Tpetra library. | |
| Tpetra::Details | |
| Nonmember function that computes a residual Computes R = B - A * X. | |
Functions | |
| template<class OutputOffsetsViewType , class CountsViewType , class InputOffsetsViewType , class InputLocalRowIndicesViewType , class InputLocalRowPidsViewType > | |
| CountsViewType::non_const_value_type | Tpetra::Details::PackCrsGraphImpl::computeNumPacketsAndOffsets (const OutputOffsetsViewType &outputOffsets, const CountsViewType &counts, const InputOffsetsViewType &rowOffsets, const InputLocalRowIndicesViewType &lclRowInds, const InputLocalRowPidsViewType &lclRowPids) |
| Compute the number of packets and offsets for the pack procedure. More... | |
| template<class Packet , class LocalMapType , class BufferDeviceType , class InputLidsType , class InputPidsType > | |
| KOKKOS_FUNCTION size_t | Tpetra::Details::PackCrsGraphImpl::packRow (const LocalMapType &col_map, const Kokkos::View< Packet *, BufferDeviceType > &exports, const InputLidsType &lids_in, const InputPidsType &pids_in, const size_t offset, const size_t num_ent, const bool pack_pids) |
| Packs a single row of the CrsGraph. More... | |
| template<class Packet , class LocalGraph , class LocalMap , class BufferDeviceType > | |
| void | Tpetra::Details::PackCrsGraphImpl::do_pack (const LocalGraph &local_graph, const LocalMap &local_map, const Kokkos::View< Packet *, BufferDeviceType > &exports, const typename PackTraits< size_t >::input_array_type &num_packets_per_lid, const typename PackTraits< typename LocalMap::local_ordinal_type >::input_array_type &export_lids, const typename PackTraits< int >::input_array_type &source_pids, const Kokkos::View< const size_t *, BufferDeviceType > &offsets, const bool pack_pids) |
| Perform the pack operation for the graph. More... | |
| template<typename LO , typename GO , typename NT > | |
| void | Tpetra::Details::PackCrsGraphImpl::packCrsGraph (const CrsGraph< LO, GO, NT > &sourceGraph, Kokkos::DualView< typename CrsGraph< LO, GO, NT >::packet_type *, typename CrsGraph< LO, GO, NT >::buffer_device_type > &exports, const Kokkos::View< size_t *, typename CrsGraph< LO, GO, NT >::buffer_device_type > &num_packets_per_lid, const Kokkos::View< const LO *, typename CrsGraph< LO, GO, NT >::buffer_device_type > &export_lids, const Kokkos::View< const int *, typename CrsGraph< LO, GO, NT >::buffer_device_type > &export_pids, size_t &constant_num_packets, const bool pack_pids, Distributor &) |
| Pack specified entries of the given local sparse graph for communication. More... | |
| template<typename LO , typename GO , typename NT > | |
| void | Tpetra::Details::packCrsGraph (const CrsGraph< LO, GO, NT > &sourceGraph, Teuchos::Array< typename CrsGraph< LO, GO, NT >::packet_type > &exports, const Teuchos::ArrayView< size_t > &numPacketsPerLID, const Teuchos::ArrayView< const LO > &exportLIDs, size_t &constantNumPackets, Distributor &distor) |
| Pack specified entries of the given local sparse graph for communication. More... | |
| template<typename LO , typename GO , typename NT > | |
| void | Tpetra::Details::packCrsGraphNew (const CrsGraph< LO, GO, NT > &sourceGraph, const Kokkos::DualView< const LO *, typename CrsGraph< LO, GO, NT >::buffer_device_type > &exportLIDs, const Kokkos::DualView< const int *, typename CrsGraph< LO, GO, NT >::buffer_device_type > &exportPIDs, Kokkos::DualView< typename CrsGraph< LO, GO, NT >::packet_type *, typename CrsGraph< LO, GO, NT >::buffer_device_type > &exports, Kokkos::DualView< size_t *, typename CrsGraph< LO, GO, NT >::buffer_device_type > numPacketsPerLID, size_t &constantNumPackets, const bool pack_pids, Distributor &distor) |
| Pack specified entries of the given local sparse graph for communication, for "new" DistObject interface. More... | |
| template<typename LO , typename GO , typename NT > | |
| void | Tpetra::Details::packCrsGraphWithOwningPIDs (const CrsGraph< LO, GO, NT > &sourceGraph, Kokkos::DualView< typename CrsGraph< LO, GO, NT >::packet_type *, typename CrsGraph< LO, GO, NT >::buffer_device_type > &exports_dv, const Teuchos::ArrayView< size_t > &numPacketsPerLID, const Teuchos::ArrayView< const LO > &exportLIDs, const Teuchos::ArrayView< const int > &sourcePIDs, size_t &constantNumPackets, Distributor &distor) |
| Pack specified entries of the given local sparse graph for communication. More... | |
Functions for packing 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) GO* object in the following order:
The functions in this file are companions to Tpetra_Details_unpackCrsGraphAndCombine.hpp, i.e., Tpetra_Details_unpackCrsGraphAndCombine.hpp implements the reverse of the packing order described above to ensure proper unpacking.
Definition in file Tpetra_Details_packCrsGraph_def.hpp.
1.8.5