Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::VBlockSizes Class Referencefinal

Compute the actual size of variable block size algebraic elements. More...

#include <core/alien/core/block/VBlockSizes.h>

Collaboration diagram for Alien::VBlockSizes:

Public Member Functions

 VBlockSizes (const VBlock &block, const VectorDistribution &dist)
 Constructor for vectors variable blocks.
 VBlockSizes (const VBlock &block, const MatrixDistribution &dist)
 Constructor for matrices variable blocks.
 ~VBlockSizes ()
 Free resources.
Arccore::Integer localSize () const
 Get the "scalarized" local size.
Arccore::Integer globalSize () const
 Get the "scalarized" global size.
Arccore::Integer offset () const
 Get the "scalarized" offset.
std::shared_ptr< VBlockSizesclone () const
 Copy this object.

Private Member Functions

 VBlockSizes (VBlockSizes &&block)=delete
VBlockSizesoperator= (const VBlockSizes &block)=delete
void compute (const VBlock::ValuePerBlock &all_blocks_sizes, Arccore::Integer local_size, Arccore::Integer local_offset, Arccore::MessagePassing::IMessagePassingMng *parallel_mng)
 Compute the actual sizes and offset of variable block size algebraic elements.

Private Attributes

Arccore::Integer m_local_scalarized_size
 Scalarized local size.
Arccore::Integer m_global_scalarized_size
 Scalarized global size.
Arccore::Integer m_scalarized_offset
 Scalarized offset.

Detailed Description

Compute the actual size of variable block size algebraic elements.

This class will refer to scalarized sizes, which means the actual size of the algebraic elements, as if it was not a block element. For exemple, a vector with two block 2x1 entries has a size of two and a scalarized size of four (2 elements for each block).

Definition at line 50 of file VBlockSizes.h.

Constructor & Destructor Documentation

◆ VBlockSizes() [1/2]

Alien::VBlockSizes::VBlockSizes ( const VBlock & block,
const VectorDistribution & dist )

Constructor for vectors variable blocks.

Parameters
[in]Block related APIThe variable blocks
[in]distThe vector distribution

Definition at line 41 of file VBlockSizes.cc.

References Alien::VBlock::blockSizes(), compute(), localSize(), Alien::VectorDistribution::localSize(), Alien::VectorDistribution::offset(), and Alien::VectorDistribution::parallelMng().

Here is the call graph for this function:

◆ VBlockSizes() [2/2]

Alien::VBlockSizes::VBlockSizes ( const VBlock & block,
const MatrixDistribution & dist )

Constructor for matrices variable blocks.

Parameters
[in]Block related APIThe variable blocks
[in]distThe matrix distribution

Definition at line 51 of file VBlockSizes.cc.

References Alien::VBlock::blockSizes(), compute(), Alien::MatrixDistribution::localRowSize(), localSize(), Alien::MatrixDistribution::parallelMng(), and Alien::MatrixDistribution::rowOffset().

Here is the call graph for this function:

◆ ~VBlockSizes()

Alien::VBlockSizes::~VBlockSizes ( )
inline

Free resources.

Definition at line 68 of file VBlockSizes.h.

Member Function Documentation

◆ clone()

std::shared_ptr< VBlockSizes > Alien::VBlockSizes::clone ( ) const

Copy this object.

Returns
A copy of this object

References compute().

Here is the call graph for this function:

◆ compute()

void Alien::VBlockSizes::compute ( const VBlock::ValuePerBlock & all_blocks_sizes,
Arccore::Integer local_size,
Arccore::Integer local_offset,
Arccore::MessagePassing::IMessagePassingMng * parallel_mng )
private

Compute the actual sizes and offset of variable block size algebraic elements.

Parameters
[in]all_block_sizeAll variable block size elements
[in]local_sizeLocal size (where one block count as one)
[in]local_offsetLocal offset (where one block count as one)
[in]parallel_mngThe parallel manager

Definition at line 61 of file VBlockSizes.cc.

References localSize(), m_global_scalarized_size, m_local_scalarized_size, and m_scalarized_offset.

Referenced by clone(), VBlockSizes(), and VBlockSizes().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ globalSize()

Integer Alien::VBlockSizes::globalSize ( ) const

Get the "scalarized" global size.

Returns
The actual global size

Definition at line 100 of file VBlockSizes.cc.

References m_global_scalarized_size.

◆ localSize()

Integer Alien::VBlockSizes::localSize ( ) const

Get the "scalarized" local size.

Returns
The actual local size

Definition at line 91 of file VBlockSizes.cc.

References m_local_scalarized_size.

Referenced by compute(), VBlockSizes(), and VBlockSizes().

Here is the caller graph for this function:

◆ offset()

Integer Alien::VBlockSizes::offset ( ) const

Get the "scalarized" offset.

Returns
The actual offset

Definition at line 109 of file VBlockSizes.cc.

References m_scalarized_offset.

Member Data Documentation

◆ m_global_scalarized_size

Arccore::Integer Alien::VBlockSizes::m_global_scalarized_size
private

Scalarized global size.

Definition at line 115 of file VBlockSizes.h.

Referenced by compute(), and globalSize().

◆ m_local_scalarized_size

Arccore::Integer Alien::VBlockSizes::m_local_scalarized_size
private

Scalarized local size.

Definition at line 113 of file VBlockSizes.h.

Referenced by compute(), and localSize().

◆ m_scalarized_offset

Arccore::Integer Alien::VBlockSizes::m_scalarized_offset
private

Scalarized offset.

Definition at line 117 of file VBlockSizes.h.

Referenced by compute(), and offset().


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