|
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 | |
| 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. | |
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.
| 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.
| OutputOffsetsViewType | the type of the output offsets view |
| CountsViewType | the type of the counts view |
| InputOffsetsViewType | the type of the input offsets view |
| InputLocalRowIndicesViewType | the type of the local row indices view |
| InputLocalRowPidsViewType | the type of the local process IDs view |
This is the high level interface to the NumPacketsAndOffsetsFunctor functor
Definition at line 229 of file Tpetra_Details_packCrsGraph_def.hpp.
| 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.
| ColumnMap | the type of the local column map |
Data (bytes) describing the row of the CRS graph are "packed" (concatenated) in to a single (view of) GO* in the following order:
Definition at line 343 of file Tpetra_Details_packCrsGraph_def.hpp.
| 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.
| LocalGraph | the specialization of the KokkosSparse::CrsGraph local graph |
| LocalMap | the type of the local column map |
This is a higher level interface to the PackCrsGraphFunctor
Definition at line 516 of file Tpetra_Details_packCrsGraph_def.hpp.