Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Parallel.h
Go to the documentation of this file.
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/* Parallel.h (C) 2000-2025 */
9/* */
10/* Namespace for types managing parallelism. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_PARALLEL_H
13#define ARCANE_CORE_PARALLEL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/utils/ArrayView.h"
19
21#include "arccore/message_passing/Request.h"
22#include "arccore/message_passing/Communicator.h"
23#include "arccore/message_passing/PointToPointMessageInfo.h"
24#include "arccore/message_passing/IControlDispatcher.h"
25
27
28#define ARCANE_BEGIN_NAMESPACE_PARALLEL \
29 namespace Parallel \
30 {
31#define ARCANE_END_NAMESPACE_PARALLEL }
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
35
39namespace Arcane::Parallel
40{
41class IStat;
42}
43
44/*---------------------------------------------------------------------------*/
45/*---------------------------------------------------------------------------*/
46
51{
52
67extern "C++" ARCANE_CORE_EXPORT void
68namedBarrier(IParallelMng* pm, const String& name);
69
70/*---------------------------------------------------------------------------*/
71/*---------------------------------------------------------------------------*/
79extern "C++" ARCANE_CORE_EXPORT void
80filterCommonStrings(IParallelMng* pm, ConstArrayView<String> input_strings,
81 Array<String>& common_strings);
82
83/*---------------------------------------------------------------------------*/
84/*---------------------------------------------------------------------------*/
92extern "C++" ARCANE_CORE_EXPORT void
93dumpDateAndMemoryUsage(IParallelMng* pm, ITraceMng* tm);
94
95/*---------------------------------------------------------------------------*/
96/*---------------------------------------------------------------------------*/
97
98} // namespace Arcane::MessagePassing
99
100/*---------------------------------------------------------------------------*/
101/*---------------------------------------------------------------------------*/
102
103namespace Arcane
104{
105
106/*---------------------------------------------------------------------------*/
107/*---------------------------------------------------------------------------*/
108
109inline std::ostream&
110operator<<(std::ostream& o, const Parallel::Request prequest)
111{
112 prequest.print(o);
113 return o;
114}
115
116/*---------------------------------------------------------------------------*/
117/*---------------------------------------------------------------------------*/
118
119} // End namespace Arcane
120
121/*---------------------------------------------------------------------------*/
122/*---------------------------------------------------------------------------*/
123
124#endif
Arcane configuration file.
Declarations of Arcane's general types.
Declarations of types and methods used by message exchange mechanisms.
void namedBarrier(IParallelMng *pm, const String &name)
Performs a named barrier with name name.
Definition Parallel.cc:61
void dumpDateAndMemoryUsage(IParallelMng *pm, ITraceMng *tm)
Writes the date and memory consumed into tm.
Definition Parallel.cc:164
void filterCommonStrings(IParallelMng *pm, ConstArrayView< String > input_strings, Array< String > &common_strings)
Filters strings common to all ranks of pm.
Definition Parallel.cc:95
Concurrency implementation.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --