Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
MpiControlDispatcher.cc
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/* MpiControlDispatcher.cc (C) 2000-2020 */
9/* */
10/* Manage Control/Utility parallel messages for MPI. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arccore/message_passing_mpi/MpiControlDispatcher.h"
15#include "arccore/message_passing_mpi/MpiAdapter.h"
16#include "arccore/message_passing_mpi/MpiMessagePassingMng.h"
17#include "arccore/message_passing/Request.h"
18#include "arccore/base/NotImplementedException.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arccore::MessagePassing::Mpi
24{
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28MpiControlDispatcher::
29MpiControlDispatcher(MpiAdapter* adapter)
30: m_adapter(adapter)
31{
32}
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
36
37void MpiControlDispatcher::
38waitAllRequests(ArrayView<Request> requests)
39{
40 m_adapter->waitAllRequests(requests);
41}
42
43/*---------------------------------------------------------------------------*/
44/*---------------------------------------------------------------------------*/
45
46void MpiControlDispatcher::
47waitSomeRequests(ArrayView<Request> requests,
48 ArrayView<bool> indexes,
49 bool is_non_blocking)
50{
51 m_adapter->waitSomeRequests(requests, indexes, is_non_blocking);
52}
53
54/*---------------------------------------------------------------------------*/
55/*---------------------------------------------------------------------------*/
56
57IMessagePassingMng* MpiControlDispatcher::
58commSplit(bool keep)
59{
60 return m_adapter->commSplit(keep);
61}
62
63/*---------------------------------------------------------------------------*/
64/*---------------------------------------------------------------------------*/
65
66void MpiControlDispatcher::
67barrier()
68{
69 m_adapter->barrier();
70}
71
72/*---------------------------------------------------------------------------*/
73/*---------------------------------------------------------------------------*/
74
75Request MpiControlDispatcher::
76nonBlockingBarrier()
77{
78 return m_adapter->nonBlockingBarrier();
79}
80
81/*---------------------------------------------------------------------------*/
82/*---------------------------------------------------------------------------*/
83
84MessageId MpiControlDispatcher::
85probe(const PointToPointMessageInfo& message)
86{
87 return m_adapter->probeMessage(message);
88}
89
90/*---------------------------------------------------------------------------*/
91/*---------------------------------------------------------------------------*/
92
93MessageSourceInfo MpiControlDispatcher::
94legacyProbe(const PointToPointMessageInfo& message)
95{
96 return m_adapter->legacyProbeMessage(message);
97}
98
99/*---------------------------------------------------------------------------*/
100/*---------------------------------------------------------------------------*/
101
102IProfiler* MpiControlDispatcher::
103profiler() const
104{
105 return m_adapter->profiler();
106}
107
108/*---------------------------------------------------------------------------*/
109/*---------------------------------------------------------------------------*/
110
111void MpiControlDispatcher::
112setProfiler(IProfiler* p)
113{
114 m_adapter->setProfiler(p);
115}
116
117/*---------------------------------------------------------------------------*/
118/*---------------------------------------------------------------------------*/
119
120} // namespace Arccore::MessagePassing::Mpi
121
122/*---------------------------------------------------------------------------*/
123/*---------------------------------------------------------------------------*/