Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
Tpetra::Details::Impl::GetGraphOffRankOffsets< LO, GO, DeviceType, OffsetType > Class Template Reference

Implementation detail of Tpetra::Details::getGraphOffRankOffsets, which in turn is an implementation detail of Tpetra::CrsGraph. More...

#include <Tpetra_Details_getGraphOffRankOffsets_decl.hpp>

Public Member Functions

 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. More...
 
KOKKOS_FUNCTION void operator() (const LO &lclRowInd) const
 Kokkos::parallel_for loop body. More...
 

Detailed Description

template<class LO, class GO, class DeviceType, class OffsetType = size_t>
class Tpetra::Details::Impl::GetGraphOffRankOffsets< LO, GO, DeviceType, OffsetType >

Implementation detail of Tpetra::Details::getGraphOffRankOffsets, which in turn is an implementation detail of Tpetra::CrsGraph.

FIXME (mfh 12 Mar 2016) There's currently no way to make a MemoryUnmanaged Kokkos::StaticCrsGraph. Thus, we have to do this separately for its column indices. We want the column indices to be unmanaged because we need to take subviews in this kernel. Taking a subview of a managed View updates the reference count, which is a thread scalability bottleneck.

mfh 12 Mar 2016: Tpetra::CrsGraph::getLocalOffRankOffsets returns offsets as size_t. However, see Github Issue #213.

Definition at line 45 of file Tpetra_Details_getGraphOffRankOffsets_decl.hpp.

Constructor & Destructor Documentation

template<class LO , class GO , class Node , class OffsetType >
Tpetra::Details::Impl::GetGraphOffRankOffsets< LO, GO, Node, OffsetType >::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.

Implementation detail of Tpetra::Details::getGraphOffRankOffsets, which in turn is an implementation detail of Tpetra::CrsGraph.

FIXME (mfh 12 Mar 2016) There's currently no way to make a MemoryUnmanaged Kokkos::StaticCrsGraph. Thus, we have to do this separately for its column indices. We want the column indices to be unmanaged because we need to take subviews in this kernel. Taking a subview of a managed View updates the reference count, which is a thread scalability bottleneck.

mfh 12 Mar 2016: Tpetra::CrsGraph::getLocalOffRankOffsets returns offsets as size_t. However, see Github Issue #213.

Definition at line 44 of file Tpetra_Details_getGraphOffRankOffsets_def.hpp.

Member Function Documentation

template<class LO , class GO , class Node , class OffsetType >
KOKKOS_FUNCTION void Tpetra::Details::Impl::GetGraphOffRankOffsets< LO, GO, Node, OffsetType >::operator() ( const LO &  lclRowInd) const

Kokkos::parallel_for loop body.

Definition at line 69 of file Tpetra_Details_getGraphOffRankOffsets_def.hpp.


The documentation for this class was generated from the following files: