Opérations pour accéder aux valeurs de variables d'un autre sous-domaine. Plus de détails...
#include <arcane/impl/GetVariablesValuesParallelOperation.h>
Classes | |
class | Helper |
Fonctions membres publiques | |
GetVariablesValuesParallelOperation (IParallelMng *pm) | |
virtual IParallelMng * | parallelMng () |
virtual void | getVariableValues (VariableItemReal &variable, Int64ConstArrayView unique_ids, RealArrayView values) |
Récupère les valeurs d'une variable sur des entités distantes. | |
virtual void | getVariableValues (VariableItemReal &variable, Int64ConstArrayView unique_ids, Int32ConstArrayView sub_domain_ids, RealArrayView values) |
Récupère les valeurs d'une variable sur des entités distantes. | |
Fonctions membres privées | |
void | _deleteMessages (Array< ISerializeMessage * > &messages) |
template<class Type > | |
void | _getVariableValues (ItemVariableScalarRefT< Type > &variable, Int64ConstArrayView unique_ids, ArrayView< Type > values) |
template<class Type > | |
void | _getVariableValuesSequential (ItemVariableScalarRefT< Type > &variable, Int64ConstArrayView unique_ids, ArrayView< Type > values) |
Attributs privés | |
IParallelMng * | m_parallel_mng |
Opérations pour accéder aux valeurs de variables d'un autre sous-domaine.
Définition à la ligne 32 du fichier GetVariablesValuesParallelOperation.h.
Arcane::GetVariablesValuesParallelOperation::GetVariablesValuesParallelOperation | ( | IParallelMng * | pm | ) |
Définition à la ligne 37 du fichier GetVariablesValuesParallelOperation.cc.
|
virtual |
Définition à la ligne 46 du fichier GetVariablesValuesParallelOperation.cc.
|
private |
Définition à la ligne 337 du fichier GetVariablesValuesParallelOperation.cc.
|
private |
Définition à la ligne 348 du fichier GetVariablesValuesParallelOperation.cc.
|
private |
Définition à la ligne 419 du fichier GetVariablesValuesParallelOperation.cc.
|
virtual |
Récupère les valeurs d'une variable sur des entités distantes.
Cette opération permet de récupérer les valeurs de la variable variable sur des entités qui ne se trouvent pas dans ce sous-domaine. Le tableau unique_ids contient le numéro unique des entités dont on souhaite récupérer la valeur et sub_domain_ids le sous-domaine dans lequel se trouve les entités. Ces valeurs seront stockées dans values.
unique_ids, sub_domain_ids et values doivent avoir le même nombre d'éléments.
Cette opération est collective et bloquante.
Implémente Arcane::IGetVariablesValuesParallelOperation.
Définition à la ligne 63 du fichier GetVariablesValuesParallelOperation.cc.
Références Arcane::IParallelMng::allGatherVariable(), Arccore::ISerializer::allocateBuffer(), ARCANE_FATAL, Arcane::IParallelMng::commRank(), Arcane::DT_Int64, Arcane::DT_Real, Arccore::ITraceMng::fatal(), Arccore::ISerializer::getInt64(), Arccore::ISerializer::getSpan(), Arcane::IParallelMng::isParallel(), Arcane::IVariable::itemFamily(), Arcane::VariableRef::name(), Arcane::ItemGroup::null(), Arccore::ITraceMng::pinfo(), Arcane::IParallelMng::processMessages(), Arccore::ISerializer::putInt64(), Arccore::ISerializer::putSpan(), Arccore::ISerializer::reserve(), Arccore::ISerializer::reserveSpan(), Arccore::ISerializer::setMode(), Arccore::ArrayView< T >::size(), Arcane::IParallelMng::timeStats(), Arcane::IParallelMng::traceMng(), et Arcane::VariableRef::variable().
|
virtual |
Récupère les valeurs d'une variable sur des entités distantes.
Cette opération permet de récupérer les valeurs de la variable variable sur des entités qui ne se trouvent pas dans ce sous-domaine. Le tableau unique_ids contient le numéro unique des entités dont on souhaite récupérer la valeur. Ces valeurs seront stockées dans values.
Cette méthode nécessaite en général beaucoup de communications car il faut rechercher dans quel sous-domaine appartient les entités à partir de leur uniqueId(). Si on connait le sous-domaime, il vaut utiliser la méthode surchargé avec ce paramètre.
unique_ids et values doivent avoir le même nombre d'éléments.
Cette opération est collective et bloquante.
Implémente Arcane::IGetVariablesValuesParallelOperation.
Définition à la ligne 273 du fichier GetVariablesValuesParallelOperation.cc.
Références Arcane::IParallelMng::commSize(), Arccore::ArrayView< T >::data(), Arccore::ITraceMng::debug(), Arccore::ITraceMng::fatal(), Arccore::ITraceMng::info(), Arcane::IParallelMng::isParallel(), Arcane::VariableRef::name(), Arcane::ItemGroup::null(), Arccore::ArrayView< T >::size(), Arcane::IParallelMng::timeStats(), et Arcane::IParallelMng::traceMng().
|
virtual |
Implémente Arcane::IGetVariablesValuesParallelOperation.
Définition à la ligne 54 du fichier GetVariablesValuesParallelOperation.cc.
|
private |
Définition à la ligne 62 du fichier GetVariablesValuesParallelOperation.h.