12#ifndef ARCANE_CORE_IPARALLELEXCHANGER_H
13#define ARCANE_CORE_IPARALLELEXCHANGER_H
19#include "arcane/core/ParallelExchangerOptions.h"
126 [[deprecated(
"Y2021: Use ParallelExchangerOptions::setExchangeMode()")]]
129 [[deprecated(
"Y2021: Use ParallelExchangerOptions::exchangeMode()")]]
Declarations of Arcane's general types.
File containing declarations concerning the message passing model.
Information exchange between processors.
virtual void addSender(Int32 rank)=0
Adds a processor to send to.
@ EM_Independant
Uses point-to-point exchanges (send/recv).
@ EM_Collective
Uses collective operations (allToAll).
@ EM_Auto
Automatically chooses between point-to-point or collective.
virtual void setName(const String &name)=0
Sets the instance name. This name is used during prints.
virtual Integer nbSender() const =0
Number of processors to which we send.
virtual void setExchangeMode(eExchangeMode mode)=0
Sets the exchange mode.
virtual Integer nbReceiver() const =0
Number of processors from which we will receive messages.
virtual String name() const =0
Instance name.
virtual void initializeCommunicationsMessages(Int32ConstArrayView recv_ranks)=0
Calculates communications.
virtual void setVerbosityLevel(Int32 v)=0
Sets the verbosity level.
virtual Int32 verbosityLevel() const =0
Verbosity level.
virtual eExchangeMode exchangeMode() const =0
Specified exchange mode.
virtual bool initializeCommunicationsMessages()=0
Calculates communications.
virtual ISerializeMessage * messageToSend(Integer i)=0
Message intended for the i-th processor.
virtual void processExchange()=0
Performs the exchange using the default options of ParallelExchangerOptions.
virtual void processExchange(const ParallelExchangerOptions &options)=0
Performs the exchange using the options options.
virtual Int32ConstArrayView senderRanks() const =0
List of ranks of processors to which we send.
virtual Int32ConstArrayView receiverRanks()=0
List of ranks of processors from which we will receive messages.
virtual ISerializeMessage * messageToReceive(Integer i)=0
Message received from the i-th processor.
Interface of the parallelism manager for a subdomain.
Interface for a serialization message between IMessagePassingMng.
Options for IParallelMng::processExchange().
@ 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).
Unicode character string.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.
ConstArrayView< Int32 > Int32ConstArrayView
C equivalent of a 1D array of 32-bit integers.
std::int32_t Int32
Signed integer type of 32 bits.