Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType > Class Template Reference

"Local" part of Map suitable for Kokkos kernels. More...

#include <Tpetra_Details_LocalMap.hpp>

Inheritance diagram for Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >:
Inheritance graph
[legend]

Public Types

using local_ordinal_type = LocalOrdinal
 The type of local indices. More...
 
using global_ordinal_type = GlobalOrdinal
 The type of global indices. More...
 
using device_type = DeviceType
 The device type. More...
 
using execution_space = typename device_type::execution_space
 The Kokkos execution space. More...
 
using memory_space = typename device_type::memory_space
 The Kokkos memory space. More...
 
using no_uvm_device_type = device_type
 The hash will be CudaSpace, not CudaUVMSpace. More...
 

Public Member Functions

KOKKOS_INLINE_FUNCTION LocalOrdinal getLocalNumElements () const
 The number of indices that live on the calling process. More...
 
KOKKOS_INLINE_FUNCTION
GlobalOrdinal 
getIndexBase () const
 The (global) index base. More...
 
KOKKOS_INLINE_FUNCTION bool isContiguous () const
 Whether the Map is (locally) contiguous. More...
 
KOKKOS_INLINE_FUNCTION LocalOrdinal getMinLocalIndex () const
 The minimum local index. More...
 
KOKKOS_INLINE_FUNCTION LocalOrdinal getMaxLocalIndex () const
 The maximum local index. More...
 
KOKKOS_INLINE_FUNCTION
GlobalOrdinal 
getMinGlobalIndex () const
 The minimum global index on the calling process. More...
 
KOKKOS_INLINE_FUNCTION
GlobalOrdinal 
getMaxGlobalIndex () const
 The maximum global index on the calling process. More...
 
KOKKOS_INLINE_FUNCTION LocalOrdinal getLocalElement (const GlobalOrdinal globalIndex) const
 Get the local index corresponding to the given global index. (device only) More...
 
KOKKOS_INLINE_FUNCTION
GlobalOrdinal 
getGlobalElement (const LocalOrdinal localIndex) const
 Get the global index corresponding to the given local index. (device only) More...
 

Detailed Description

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
class Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >

"Local" part of Map suitable for Kokkos kernels.

Warning
This object's interface is not yet fixed. We provide this object currently only as a service to advanced users.

The "local" Map is suitable for use in Kokkos parallel operations in the Map's native execution space, which is Map::device_type::execution_space.

By "local," we mean that the object performs no MPI communication, and can only access information that would never need MPI communication, no matter what kind of Map this is.

Definition at line 71 of file Tpetra_Details_LocalMap.hpp.

Member Typedef Documentation

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
using Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::local_ordinal_type = LocalOrdinal

The type of local indices.

Definition at line 74 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
using Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::global_ordinal_type = GlobalOrdinal

The type of global indices.

Definition at line 77 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
using Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::device_type = DeviceType

The device type.

Definition at line 80 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
using Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::execution_space = typename device_type::execution_space

The Kokkos execution space.

Definition at line 83 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
using Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::memory_space = typename device_type::memory_space

The Kokkos memory space.

Definition at line 86 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
using Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::no_uvm_device_type = device_type

The hash will be CudaSpace, not CudaUVMSpace.

Definition at line 94 of file Tpetra_Details_LocalMap.hpp.

Member Function Documentation

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
KOKKOS_INLINE_FUNCTION LocalOrdinal Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::getLocalNumElements ( ) const
inline

The number of indices that live on the calling process.

Definition at line 127 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
KOKKOS_INLINE_FUNCTION GlobalOrdinal Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::getIndexBase ( ) const
inline

The (global) index base.

Definition at line 132 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
KOKKOS_INLINE_FUNCTION bool Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::isContiguous ( ) const
inline

Whether the Map is (locally) contiguous.

This is conservative; a Map is "contiguous" if and only if it is stored that way.

Definition at line 140 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
KOKKOS_INLINE_FUNCTION LocalOrdinal Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::getMinLocalIndex ( ) const
inline

The minimum local index.

Definition at line 145 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
KOKKOS_INLINE_FUNCTION LocalOrdinal Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::getMaxLocalIndex ( ) const
inline

The maximum local index.

Definition at line 151 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
KOKKOS_INLINE_FUNCTION GlobalOrdinal Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::getMinGlobalIndex ( ) const
inline

The minimum global index on the calling process.

Definition at line 161 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
KOKKOS_INLINE_FUNCTION GlobalOrdinal Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::getMaxGlobalIndex ( ) const
inline

The maximum global index on the calling process.

Definition at line 166 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
KOKKOS_INLINE_FUNCTION LocalOrdinal Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::getLocalElement ( const GlobalOrdinal  globalIndex) const
inline

Get the local index corresponding to the given global index. (device only)

Definition at line 172 of file Tpetra_Details_LocalMap.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
KOKKOS_INLINE_FUNCTION GlobalOrdinal Tpetra::Details::LocalMap< LocalOrdinal, GlobalOrdinal, DeviceType >::getGlobalElement ( const LocalOrdinal  localIndex) const
inline

Get the global index corresponding to the given local index. (device only)

Definition at line 193 of file Tpetra_Details_LocalMap.hpp.


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