10#ifndef TPETRA_DETAILS_LOCALMAP_HPP
11#define TPETRA_DETAILS_LOCALMAP_HPP
17#include "Tpetra_Details_FixedHashTable.hpp"
38template <
class LocalOrdinal,
class GlobalOrdinal,
class DeviceType>
59 LocalMap(const ::Tpetra::Details::FixedHashTable<GlobalOrdinal, LocalOrdinal, device_type>&
glMap,
60 const ::Kokkos::View<const GlobalOrdinal*, ::Kokkos::LayoutLeft, device_type>&
lgMap,
80 return numLocalElements_;
104 if (numLocalElements_ == 0) {
105 return ::Tpetra::Details::OrdinalTraits<LocalOrdinal>::invalid();
107 return static_cast<LocalOrdinal>(numLocalElements_ - 1);
126 return ::Tpetra::Details::OrdinalTraits<LocalOrdinal>::invalid();
143 return ::Tpetra::Details::OrdinalTraits<GlobalOrdinal>::invalid();
169 ::Kokkos::View<const GlobalOrdinal*, ::Kokkos::LayoutLeft, device_type> lgMap_;
172 GlobalOrdinal myMinGid_ = Tpetra::Details::OrdinalTraits<GlobalOrdinal>::invalid();
173 GlobalOrdinal myMaxGid_ = Tpetra::Details::OrdinalTraits<GlobalOrdinal>::invalid();
174 GlobalOrdinal firstContiguousGid_ = Tpetra::Details::OrdinalTraits<GlobalOrdinal>::invalid();
175 GlobalOrdinal lastContiguousGid_ = Tpetra::Details::OrdinalTraits<GlobalOrdinal>::invalid();
177 bool contiguous_ =
false;
Forward declaration of Tpetra::Details::LocalMap.
Struct that holds views of the contents of a CrsMatrix.
KOKKOS_INLINE_FUNCTION ValueType get(const KeyType &key) const
Get the value corresponding to the given key.
"Local" part of Map suitable for Kokkos kernels.
KOKKOS_INLINE_FUNCTION LocalOrdinal getLocalNumElements() const
The number of indices that live on the calling process.
KOKKOS_INLINE_FUNCTION LocalOrdinal getLocalElement(const GlobalOrdinal globalIndex) const
Get the local index corresponding to the given global index. (device only)
typename device_type::execution_space execution_space
The Kokkos execution space.
KOKKOS_INLINE_FUNCTION GlobalOrdinal getMaxGlobalIndex() const
The maximum global index on the calling process.
KOKKOS_INLINE_FUNCTION bool isContiguous() const
Whether the Map is (locally) contiguous.
KOKKOS_INLINE_FUNCTION LocalOrdinal getMinLocalIndex() const
The minimum local index.
KOKKOS_DEFAULTED_FUNCTION LocalMap()=default
Default constructor.
typename device_type::memory_space memory_space
The Kokkos memory space.
KOKKOS_INLINE_FUNCTION LocalOrdinal getMaxLocalIndex() const
The maximum local index.
KOKKOS_INLINE_FUNCTION GlobalOrdinal getIndexBase() const
The (global) index base.
KOKKOS_INLINE_FUNCTION GlobalOrdinal getGlobalElement(const LocalOrdinal localIndex) const
Get the global index corresponding to the given local index. (device only)
KOKKOS_INLINE_FUNCTION GlobalOrdinal getMinGlobalIndex() const
The minimum global index on the calling process.
DeviceType device_type
The device type.
Implementation details of Tpetra.
Namespace Tpetra contains the class and methods constituting the Tpetra library.