Tpetra Matrix/Vector Services  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Public Member Functions | Public Attributes
Tpetra::Details::MapData< LO, GO, DeviceType > Struct Template Reference

Used by GlobalToLocalTableFiller. More...

#include <Tpetra_KokkosRefactor_Details_Map.hpp>

List of all members.

Public Member Functions

 MapData ()
 Default constructor (to make this a proper value type).

Public Attributes

GO minMyGID
 My process' minimum GID.
GO maxMyGID
LO failedCount
 Count of failed inserts into GID->LID table.
LO duplicateCount
 Count of duplicate inserts into GID->LID table.

Detailed Description

template<class LO, class GO, class DeviceType>
struct Tpetra::Details::MapData< LO, GO, DeviceType >

Used by GlobalToLocalTableFiller.

Note:
Structs given to functors just get copied over directly.

Definition at line 89 of file Tpetra_KokkosRefactor_Details_Map.hpp.


Constructor & Destructor Documentation

template<class LO, class GO, class DeviceType>
Tpetra::Details::MapData< LO, GO, DeviceType >::MapData ( ) [inline]

Default constructor (to make this a proper value type).

Definition at line 114 of file Tpetra_KokkosRefactor_Details_Map.hpp.


Member Data Documentation

template<class LO, class GO, class DeviceType>
GO Tpetra::Details::MapData< LO, GO, DeviceType >::minMyGID

My process' minimum GID.

Definition at line 90 of file Tpetra_KokkosRefactor_Details_Map.hpp.

template<class LO, class GO, class DeviceType>
GO Tpetra::Details::MapData< LO, GO, DeviceType >::maxMyGID

My process' maximum GID

Definition at line 91 of file Tpetra_KokkosRefactor_Details_Map.hpp.

template<class LO, class GO, class DeviceType>
LO Tpetra::Details::MapData< LO, GO, DeviceType >::failedCount

Count of failed inserts into GID->LID table.

This should always be zero. If not, there is a bug in the code that called fillGlobalToLocalTable().

Definition at line 96 of file Tpetra_KokkosRefactor_Details_Map.hpp.

template<class LO, class GO, class DeviceType>
LO Tpetra::Details::MapData< LO, GO, DeviceType >::duplicateCount

Count of duplicate inserts into GID->LID table.

This should only ever be nonzero if the GID list on the calling process contains duplicates. Map never supported that case well, in either Epetra or Tpetra. For example, it would give those duplicate GIDs different LIDs. If we ever want to fix this, for example by detecting and filtering out duplicate GIDs, we could use duplicateCount to detect that case. If detected, we could then reassign LIDs to GIDs by merging duplicate GIDs, and rebuild the GID->LID table. We would have to do this _before_ any MPI_Allreduce or MPI_*scan for computing the total GID count or offsets, since it would change the number of GIDs on the affected process(es).

Definition at line 111 of file Tpetra_KokkosRefactor_Details_Map.hpp.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines