Arcane  v3.16.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IParallelReplication.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* IParallelReplicationInfo.h (C) 2000-2025 */
9/* */
10/* Informations sur la réplication de sous-domaines. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IPARALLELREPLICATION_H
13#define ARCANE_CORE_IPARALLELREPLICATION_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \ingroup Parallel
29 * \brief Informations sur la réplication des sous-domaines en parallèle.
30 */
31class ARCANE_CORE_EXPORT IParallelReplication
32{
33 public:
34
35 virtual ~IParallelReplication() = default;
36
37 public:
38
39 //! Indique si la réplication est active
40 virtual bool hasReplication() const = 0;
41
42 //! Nombre de réplication
43 virtual Int32 nbReplication() const = 0;
44
45 //! Rang dans la réplication (de 0 à nbReplication()-1)
46 virtual Int32 replicationRank() const = 0;
47
48 /*!
49 * \brief Indique si ce rang de réplication est le maître.
50 *
51 * Cela est utile par exemple pour les sorties, afin qu'un seul
52 * réplicat ne sorte les informations.
53 */
54 virtual bool isMasterRank() const = 0;
55
56 //! Rang dans la réplication du maître.
57 virtual Int32 masterReplicationRank() const = 0;
58
59 /*!
60 * \brief Communicateur associé à tous les réplicats représentant un même sous-domaine.
61 *
62 * Vaut 0 s'il n'y a pas de réplication (hasReplication() est faux).
63 */
64 virtual IParallelMng* replicaParallelMng() const = 0;
65};
66
67/*---------------------------------------------------------------------------*/
68/*---------------------------------------------------------------------------*/
69
70} // namespace Arcane
71
72/*---------------------------------------------------------------------------*/
73/*---------------------------------------------------------------------------*/
74
75#endif
Déclarations des types généraux de Arcane.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Informations sur la réplication des sous-domaines en parallèle.
virtual bool hasReplication() const =0
Indique si la réplication est active.
virtual IParallelMng * replicaParallelMng() const =0
Communicateur associé à tous les réplicats représentant un même sous-domaine.
virtual Int32 masterReplicationRank() const =0
Rang dans la réplication du maître.
virtual Int32 replicationRank() const =0
Rang dans la réplication (de 0 à nbReplication()-1)
virtual Int32 nbReplication() const =0
Nombre de réplication.
virtual bool isMasterRank() const =0
Indique si ce rang de réplication est le maître.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int32_t Int32
Type entier signé sur 32 bits.