Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::AbstractItemRangeFunctor Class Reference

Base class for functors on a list of entities. More...

#include <arcane/core/ItemFunctor.h>

Public Member Functions

 AbstractItemRangeFunctor (ItemVectorView items_view, Int32 grain_size)
Int32 nbBlock () const
 Number of blocks.
Int32 blockGrainSize () const
 Desired size of an iteration interval.
Public Member Functions inherited from Arcane::IRangeFunctor
virtual ~IRangeFunctor ()=default
 Releases resources.
virtual void executeFunctor (Int32 begin, Int32 size)=0
 Executes the associated method.

Static Public Attributes

static const Integer DEFAULT_GRAIN_SIZE = 400

Protected Member Functions

ItemVectorView _view (Int32 begin_block, Int32 nb_block, Int32 *true_begin=nullptr) const

Protected Attributes

ItemVectorView m_items
Int32 m_block_size = 0
Int32 m_nb_block = 0
Int32 m_block_grain_size = 0

Detailed Description

Base class for functors on a list of entities.

This class allows splitting an iteration over an ItemVector by ensuring that iterations occur on a multiple of m_block_size. For now, this value is always 8, and thus iterations over entities are done in blocks of 8 values. This allows guaranteeing for vectorization that the sub-views of m_items will be correctly aligned.

Definition at line 41 of file ItemFunctor.h.

Constructor & Destructor Documentation

◆ AbstractItemRangeFunctor()

Arcane::AbstractItemRangeFunctor::AbstractItemRangeFunctor ( ItemVectorView items_view,
Int32 grain_size )

Definition at line 26 of file ItemFunctor.cc.

Member Function Documentation

◆ _view()

ItemVectorView Arcane::AbstractItemRangeFunctor::_view ( Int32 begin_block,
Int32 nb_block,
Int32 * true_begin = nullptr ) const
protected

Definition at line 50 of file ItemFunctor.cc.

◆ blockGrainSize()

Int32 Arcane::AbstractItemRangeFunctor::blockGrainSize ( ) const
inline

◆ nbBlock()

Int32 Arcane::AbstractItemRangeFunctor::nbBlock ( ) const
inline

Member Data Documentation

◆ DEFAULT_GRAIN_SIZE

const Integer Arcane::AbstractItemRangeFunctor::DEFAULT_GRAIN_SIZE = 400
static

Definition at line 46 of file ItemFunctor.h.

◆ m_block_grain_size

Int32 Arcane::AbstractItemRangeFunctor::m_block_grain_size = 0
protected

Definition at line 63 of file ItemFunctor.h.

◆ m_block_size

Int32 Arcane::AbstractItemRangeFunctor::m_block_size = 0
protected

Definition at line 61 of file ItemFunctor.h.

◆ m_items

ItemVectorView Arcane::AbstractItemRangeFunctor::m_items
protected

Definition at line 60 of file ItemFunctor.h.

◆ m_nb_block

Int32 Arcane::AbstractItemRangeFunctor::m_nb_block = 0
protected

Definition at line 62 of file ItemFunctor.h.


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