Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
SequentialParallelMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* SequentialParallelMng.h (C) 2000-2020 */
9/* */
10/* Gestion du parallélisme dans le cas sequentiel. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMPL_SEQUENTIALPARALLELMNG_H
13#define ARCANE_IMPL_SEQUENTIALPARALLELMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/Parallel.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29class ITimeMng;
30class IThreadMng;
31class IParallelMng;
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
42{
43 public:
45 : m_trace_mng(nullptr), m_timer_mng(nullptr), m_thread_mng(nullptr)
46 {
47 }
49 : m_trace_mng(nullptr), m_timer_mng(timer_mng),
50 m_thread_mng(nullptr), m_world_parallel_mng(world_pm)
51 {
52 }
53 public:
54 ITraceMng* traceMng() const { return m_trace_mng; }
55 void setTraceMng(ITraceMng* tm)
56 {
57 m_trace_mng = tm;
58 }
59
60 Parallel::Communicator communicator() const { return m_mpi_comm; }
61 void setCommunicator(Parallel::Communicator v) { m_mpi_comm = v; }
62
63 IThreadMng* threadMng() const { return m_thread_mng; }
64 void setThreadMng(IThreadMng* tm) { m_thread_mng = tm; }
65 private:
66 ITraceMng* m_trace_mng;
67 public:
68 ITimerMng* m_timer_mng;
69 private:
70 IThreadMng* m_thread_mng;
71 public:
72 IParallelMng* m_world_parallel_mng = nullptr;
73 private:
74 Parallel::Communicator m_mpi_comm;
75};
76
77/*---------------------------------------------------------------------------*/
78/*---------------------------------------------------------------------------*/
79
80extern "C++"
81ARCCORE_DEPRECATED_2020("Use arcaneCreateSequentialParallelMngRef() instead")
82ARCANE_IMPL_EXPORT IParallelMng*
83arcaneCreateSequentialParallelMng(const SequentialParallelMngBuildInfo& bi);
84extern "C++" ARCANE_IMPL_EXPORT Ref<IParallelMng>
85arcaneCreateSequentialParallelMngRef(const SequentialParallelMngBuildInfo& bi);
86
87/*---------------------------------------------------------------------------*/
88/*---------------------------------------------------------------------------*/
89
90} // End namespace Arcane
91
92/*---------------------------------------------------------------------------*/
93/*---------------------------------------------------------------------------*/
94
95#endif
96
Fichier de configuration d'Arcane.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface d'un gestionnaire de thread.
Definition IThreadMng.h:30
Interface d'un gestionnaire de timer.
Definition ITimerMng.h:53
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Interface du gestionnaire de traces.
Communicateur pour l'échange de message.
Référence à une instance.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Infos pour construire un SequentialParallelMng.