Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
ParallelExchangerOptions.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/* ParallelExchangerOptions.h (C) 2000-2025 */
9/* */
10/* Options to modify the behavior of 'IParallelExchanger'. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_PARALLELEXCHANGEROPTIONS_H
13#define ARCANE_CORE_PARALLELEXCHANGEROPTIONS_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29/*!
30 * \brief Options for IParallelMng::processExchange().
31 */
32class ARCANE_CORE_EXPORT ParallelExchangerOptions
33{
34 public:
35
36 /*!
37 * \brief Exchange mode.
38 */
40 {
41 //! Uses point-to-point exchanges (send/recv)
43 //! Uses collective operations (allToAll)
45 //! Automatically chooses between point-to-point or collective.
47 };
48
49 public:
50
51 //! Sets the exchange mode.
52 void setExchangeMode(eExchangeMode mode) { m_exchange_mode = mode; }
53 //! Specified exchange mode
54 eExchangeMode exchangeMode() const { return m_exchange_mode; };
55
56 //! Sets the maximum number of pending messages.
57 void setMaxPendingMessage(Int32 v) { m_max_pending_message = v; }
58 //! Maximum number of pending messages
59 Int32 maxPendingMessage() const { return m_max_pending_message; };
60
61 //! Sets the verbosity level
62 void setVerbosityLevel(Int32 v) { m_verbosity_level = v; }
63 //! Verbosity level
64 Int32 verbosityLevel() const { return m_verbosity_level; };
65
66 private:
67
68 //! Exchange mode.
69 eExchangeMode m_exchange_mode = EM_Independant;
70
71 //! Maximum number of pending messages
72 Int32 m_max_pending_message = 0;
73
74 //! Verbosity level
75 Int32 m_verbosity_level = 0;
76};
77
78/*---------------------------------------------------------------------------*/
79/*---------------------------------------------------------------------------*/
80
81} // End namespace Arcane
82
83/*---------------------------------------------------------------------------*/
84/*---------------------------------------------------------------------------*/
85
86#endif
Declarations of Arcane's general types.
File containing declarations concerning the message passing model.
Options for IParallelMng::processExchange().
Int32 verbosityLevel() const
Verbosity level.
Int32 maxPendingMessage() const
Maximum number of pending messages.
void setMaxPendingMessage(Int32 v)
Sets the maximum number of pending messages.
void setExchangeMode(eExchangeMode mode)
Sets the exchange mode.
@ EM_Auto
Automatically chooses between point-to-point or collective.
@ EM_Collective
Uses collective operations (allToAll).
@ EM_Independant
Uses point-to-point exchanges (send/recv).
void setVerbosityLevel(Int32 v)
Sets the verbosity level.
eExchangeMode exchangeMode() const
Specified exchange mode.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int32_t Int32
Signed integer type of 32 bits.