Opm::gpuistl::ParallelInfo Struct Reference

Parallel domain decomposition information for HYPRE-Dune interface. More...

#include <HypreDataStructures.hpp>

Public Attributes

std::vector< int > local_dune_to_local_hypre
 Mapping from local Dune indices to local HYPRE indices. More...
 
std::vector< int > local_dune_to_global_hypre
 Mapping from local Dune indices to global HYPRE indices. More...
 
std::vector< int > local_hypre_to_local_dune
 Mapping from local HYPRE indices to local Dune indices. More...
 
HYPRE_Int N_owned
 Number of DOFs owned by this MPI process. More...
 
HYPRE_Int dof_offset
 Global index offset for this process's owned DOFs. More...
 
bool owner_first
 Whether owned DOFs appear first in local Dune ordering. More...
 

Detailed Description

Parallel domain decomposition information for HYPRE-Dune interface.

Contains all mappings and metadata to translate between Dune's distributed indexing and HYPRE's global indexing in parallel MPI environments.

Member Data Documentation

◆ dof_offset

HYPRE_Int Opm::gpuistl::ParallelInfo::dof_offset

Global index offset for this process's owned DOFs.

Starting global index for this process. Owned DOFs have global indices in range [dof_offset, dof_offset + N_owned - 1].

Referenced by Hypre::HyprePreconditioner< M, X, Y, Comm >::HyprePreconditioner(), Opm::gpuistl::HypreInterface::setupHypreParallelInfoParallel(), and Opm::gpuistl::HypreInterface::setupHypreParallelInfoSerial().

◆ local_dune_to_global_hypre

std::vector<int> Opm::gpuistl::ParallelInfo::local_dune_to_global_hypre

Mapping from local Dune indices to global HYPRE indices.

Size: total local DOFs (owned + ghost) Used for matrix assembly and vector operations with global indexing

Referenced by Opm::gpuistl::HypreInterface::setupHypreParallelInfoParallel(), Opm::gpuistl::HypreInterface::setupHypreParallelInfoSerial(), and Opm::gpuistl::HypreInterface::setupSparsityPatternFromCpuMatrix().

◆ local_dune_to_local_hypre

std::vector<int> Opm::gpuistl::ParallelInfo::local_dune_to_local_hypre

Mapping from local Dune indices to local HYPRE indices.

Size: total local DOFs (owned + ghost) Value: >=0 for owned DOFs (local HYPRE index), -1 for ghost/non-owned DOFs Used to identify which DOFs are owned and their local HYPRE ordering

Referenced by Hypre::HyprePreconditioner< M, X, Y, Comm >::HyprePreconditioner(), Opm::gpuistl::HypreInterface::setupHypreParallelInfoParallel(), Opm::gpuistl::HypreInterface::setupHypreParallelInfoSerial(), and Opm::gpuistl::HypreInterface::setupSparsityPatternFromCpuMatrix().

◆ local_hypre_to_local_dune

std::vector<int> Opm::gpuistl::ParallelInfo::local_hypre_to_local_dune

Mapping from local HYPRE indices to local Dune indices.

Size: N_owned (only owned DOFs) Inverse mapping of local_dune_to_local_hypre for owned DOFs only Used when transferring data from HYPRE back to Dune data structures

Referenced by Opm::gpuistl::HypreInterface::setupHypreParallelInfoParallel(), Opm::gpuistl::HypreInterface::setupHypreParallelInfoSerial(), Opm::gpuistl::HypreInterface::transferCpuVectorToHypre(), and Opm::gpuistl::HypreInterface::transferHypreToCpuVector().

◆ N_owned

◆ owner_first

bool Opm::gpuistl::ParallelInfo::owner_first

Whether owned DOFs appear first in local Dune ordering.

true: All owned DOFs have indices 0..N_owned-1, ghost DOFs follow false: Owned and ghost DOFs are interleaved in local Dune ordering Affects data layout optimization strategies and transfer efficiency

Referenced by Hypre::HyprePreconditioner< M, X, Y, Comm >::HyprePreconditioner(), Opm::gpuistl::HypreInterface::setupHypreParallelInfoParallel(), Opm::gpuistl::HypreInterface::setupHypreParallelInfoSerial(), Opm::gpuistl::HypreInterface::transferCpuVectorToHypre(), and Opm::gpuistl::HypreInterface::transferHypreToCpuVector().


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