14#include "arcane/core/ParallelMngUtils.h"
16#include "arcane/core/IParallelMng.h"
17#include "arcane/core/IParallelMngUtilsFactory.h"
18#include "arcane/core/internal/IParallelMngInternal.h"
37 static Ref<IGetVariablesValuesParallelOperation>
41 auto f = pm->_internalUtilsFactory();
42 return f->createGetVariablesValuesOperation(pm);
45 static Ref<ITransferValuesParallelOperation>
49 auto f = pm->_internalUtilsFactory();
50 return f->createTransferValuesOperation(pm);
53 static Ref<IParallelExchanger>
57 auto f = pm->_internalUtilsFactory();
58 return f->createExchanger(pm);
61 static Ref<IVariableSynchronizer>
65 auto f = pm->_internalUtilsFactory();
66 return f->createSynchronizer(pm, family);
69 static Ref<IVariableSynchronizer>
73 auto f = pm->_internalUtilsFactory();
74 return f->createSynchronizer(pm, group);
77 static Ref<IParallelTopology>
81 auto f = pm->_internalUtilsFactory();
82 return f->createTopology(pm);
84 static Ref<IParallelMng>
85 createSubParallelMngRef(
IParallelMng* pm, Int32 color, Int32 key)
88 return pm->
_internalApi()->createSubParallelMngRef(color, key);
106Ref<IGetVariablesValuesParallelOperation>
109 return ParallelMngUtilsAccessor::createGetVariablesValuesOperation(pm);
112Ref<ITransferValuesParallelOperation>
115 return ParallelMngUtilsAccessor::createTransferValuesOperation(pm);
118Ref<IParallelExchanger>
121 return ParallelMngUtilsAccessor::createExchanger(pm);
124Ref<IVariableSynchronizer>
127 return ParallelMngUtilsAccessor::createSynchronizer(pm,family);
130Ref<IVariableSynchronizer>
133 return ParallelMngUtilsAccessor::createSynchronizer(pm,group);
136Ref<IParallelTopology>
139 return ParallelMngUtilsAccessor::createTopology(pm);
145 return ParallelMngUtilsAccessor::createSubParallelMngRef(pm, color, key);
#define ARCANE_CHECK_POINTER(ptr)
Macro retournant le pointeur ptr s'il est non nul ou lancant une exception s'il est nul.
Interface d'une famille d'entités.
Interface du gestionnaire de parallélisme pour un sous-domaine.
virtual IParallelMngInternal * _internalApi()=0
API interne à Arcane.
Groupe d'entités de maillage.
Classe ' friend' de IParallelMng permettant d'accéder à IParallelMng::_internalUtilsFactory() const;.
Fonctions utilitaires associées à IParallelMng.
Ref< IParallelMng > createSubParallelMngRef(IParallelMng *pm, Int32 color, Int32 key)
Créé un nouveau gestionnaire de parallélisme pour un sous-ensemble des rangs.
Ref< IParallelExchanger > createExchangerRef(IParallelMng *pm)
Retourne une interface pour transférer des messages entre rangs.
Ref< IGetVariablesValuesParallelOperation > createGetVariablesValuesOperationRef(IParallelMng *pm)
Retourne une opération pour récupérer les valeurs d'une variable sur les entités d'un autre sous-doma...
Ref< ITransferValuesParallelOperation > createTransferValuesOperationRef(IParallelMng *pm)
Retourne une opération pour transférer des valeurs entre rangs.
Ref< IParallelTopology > createTopologyRef(IParallelMng *pm)
Créé une instance contenant les infos sur la topologie des rangs de ce gestionnnaire.
Ref< IVariableSynchronizer > createSynchronizerRef(IParallelMng *pm, IItemFamily *family)
Retourne une interface pour synchroniser des variables sur le groupe de la famille family.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-