Arcane  v4.1.7.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ParallelMngUtils.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ParallelMngUtils.h (C) 2000-2026 */
9/* */
10/* Fonctions utilitaires associées aux 'IParallelMng'. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_PARALLELMNGUTILS_H
13#define ARCANE_CORE_PARALLELMNGUTILS_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
28{
33extern "C++" ARCANE_CORE_EXPORT Ref<IGetVariablesValuesParallelOperation>
35
37extern "C++" ARCANE_CORE_EXPORT Ref<ITransferValuesParallelOperation>
38createTransferValuesOperationRef(IParallelMng* pm);
39
41extern "C++" ARCANE_CORE_EXPORT Ref<IParallelExchanger>
42createExchangerRef(IParallelMng* pm);
43
48extern "C++" ARCANE_CORE_EXPORT Ref<IVariableSynchronizer>
49createSynchronizerRef(IParallelMng* pm, IItemFamily* family);
50
55extern "C++" ARCANE_CORE_EXPORT Ref<IVariableSynchronizer>
56createSynchronizerRef(IParallelMng* pm, const ItemGroup& group);
57
63extern "C++" ARCANE_CORE_EXPORT Ref<IParallelTopology>
64createTopologyRef(IParallelMng* pm);
65
80extern "C++" ARCANE_CORE_EXPORT Ref<IParallelMng>
81createSubParallelMngRef(IParallelMng* pm, Int32 color, Int32 key);
82
88extern "C++" ARCANE_CORE_EXPORT Ref<ISerializeMessage>
90
96extern "C++" ARCANE_CORE_EXPORT Ref<ISerializeMessage>
98
112extern "C++" ARCANE_CORE_EXPORT bool
114
115/*---------------------------------------------------------------------------*/
116/*---------------------------------------------------------------------------*/
117
118} // End namespace Arcane::ParallelMngUtils
119
120/*---------------------------------------------------------------------------*/
121/*---------------------------------------------------------------------------*/
122
123#endif
Déclarations des types généraux de Arcane.
Fichier contenant les déclarations concernant le modèle de programmation par échange de message.
Déclarations des types utilisés dans Arcane.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Référence à une instance.
Fonctions utilitaires associées à IParallelMng.
Ref< ISerializeMessage > createSendSerializeMessageRef(IParallelMng *pm, Int32 rank)
Créé un message de sérialisation non bloquant en envoi au rang rank.
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.
bool isMachineShMemWinAvailable(IParallelMng *pm)
Fonction permettant de savoir si le mode fenêtre en mémoire partagée est supporté et si son utilisati...
Ref< ISerializeMessage > createReceiveSerializeMessageRef(IParallelMng *pm, Int32 rank)
Créé un message de sérialisation non bloquant en réception du rang rank.
Ref< IVariableSynchronizer > createSynchronizerRef(IParallelMng *pm, IItemFamily *family)
Retourne une interface pour synchroniser des variables sur le groupe de la famille family.
std::int32_t Int32
Type entier signé sur 32 bits.