Classe de base des fonctors sur une liste d'entités. Plus de détails...
#include <arcane/core/ItemFunctor.h>
Fonctions membres publiques | |
AbstractItemRangeFunctor (ItemVectorView items_view, Int32 grain_size) | |
Int32 | nbBlock () const |
Nombre de blocs. | |
Int32 | blockGrainSize () const |
Taille souhaitée d'un intervalle d'itération. | |
Fonctions membres publiques hérités de Arcane::IRangeFunctor | |
virtual | ~IRangeFunctor () |
Libère les ressources. | |
virtual void | executeFunctor (Integer begin, Integer size)=0 |
Exécute la méthode associée. | |
Attributs publics statiques | |
static const Integer | DEFAULT_GRAIN_SIZE = 400 |
Fonctions membres protégées | |
ItemVectorView | _view (Int32 begin_block, Int32 nb_block, Int32 *true_begin=nullptr) const |
Attributs protégés | |
ItemVectorView | m_items |
Int32 | m_block_size = 0 |
Int32 | m_nb_block = 0 |
Int32 | m_block_grain_size = 0 |
Classe de base des fonctors sur une liste d'entités.
Cette classe permet de scinder une itération sur un ItemVector en garantissant que les itérations se font sur un multiple de m_block_size. Pour l'instant cette valeur vaut toujours 8 et donc les itérations sur entités se font par bloc de 8 valeurs. Cela permet de garantir pour la vectorisation que les sous-vues de m_items seront correctement alignées.
Définition à la ligne 40 du fichier ItemFunctor.h.
Arcane::AbstractItemRangeFunctor::AbstractItemRangeFunctor | ( | ItemVectorView | items_view, |
Int32 | grain_size | ||
) |
Définition à la ligne 25 du fichier ItemFunctor.cc.
|
protected |
Définition à la ligne 49 du fichier ItemFunctor.cc.
|
inline |
Taille souhaitée d'un intervalle d'itération.
Définition à la ligne 55 du fichier ItemFunctor.h.
Référencé par Arcane::arcaneParallelForeach(), Arcane::arcaneParallelForeach(), Arcane::Parallel::Foreach(), Arcane::Parallel::Foreach(), Arcane::Parallel::Foreach(), et Arcane::Parallel::Foreach().
|
inline |
Nombre de blocs.
Définition à la ligne 52 du fichier ItemFunctor.h.
Référencé par Arcane::arcaneParallelForeach(), Arcane::arcaneParallelForeach(), Arcane::Parallel::Foreach(), Arcane::Parallel::Foreach(), Arcane::Parallel::Foreach(), et Arcane::Parallel::Foreach().
|
static |
Définition à la ligne 45 du fichier ItemFunctor.h.
|
protected |
Définition à la ligne 62 du fichier ItemFunctor.h.
|
protected |
Définition à la ligne 60 du fichier ItemFunctor.h.
|
protected |
Définition à la ligne 59 du fichier ItemFunctor.h.
|
protected |
Définition à la ligne 61 du fichier ItemFunctor.h.