Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de l'espace de nommage Arcane::MessagePassing

Déclarations des types et méthodes utilisés par les mécanismes d'échange de messages. Plus de détails...

Classes

class  _ThreadIntegralType
 
class  FullRankInfo
 Informations de correspondances entre les différents rangs d'un communicateur. Plus de détails...
 
class  HybridMessageQueue
 Interface d'une file de messages avec les threads. Plus de détails...
 
class  HybridParallelDispatch
 Interface des messages pour le type Type. Plus de détails...
 
class  HybridParallelMng
 Gestionnaire du parallélisme utilisant les threads. Plus de détails...
 
struct  HybridParallelMngBuildInfo
 Infos pour construire un HybridParallelMng. Plus de détails...
 
class  HybridParallelMngContainer
 Conteneur des informations du gestionnaire de message en mode hybride. Plus de détails...
 
class  HybridParallelMngContainerFactory
 
class  HybridParallelSuperMng
 Superviseur du parallélisme utilisant MPI et Threads. Plus de détails...
 
class  HybridSerializeMessageList
 
class  IAsyncQueue
 File asynchrone permettant d'échanger des informations entre threads. Plus de détails...
 
class  ISharedMemoryMessageQueue
 Interface d'une file de messages avec les threads. Plus de détails...
 
class  MpiSharedMemoryParallelSuperMng
 Superviseur en mémoire partagé avec initialisation MPI. Plus de détails...
 
class  MpiThreadAllDispatcher
 
class  MpiThreadDispatcherContainerTraits
 
class  RankTagBuilder
 Classe pour calculer à partir d'un tag utilisateur un tag contenant les informations de l'envoyeur et du réceptionneur. Plus de détails...
 
class  ReceiveBufferInfo
 Informations des buffers de réception. Plus de détails...
 
class  RequestAsyncQueue
 
class  SendBufferInfo
 Informations des buffers d'envoie. Plus de détails...
 
class  SharedMemoryAllDispatcher
 
class  SharedMemoryBasicAsyncQueue
 Implémentation basique d'une file multi-thread. Plus de détails...
 
class  SharedMemoryMessageQueue
 File de messages entre les rangs partagés par un SharedMemoryParallelMng. Plus de détails...
 
class  SharedMemoryMessageRequest
 Message entre SharedMemoryMessageQueue. Plus de détails...
 
class  SharedMemoryParallelDispatch
 Interface des messages pour le type Type. Plus de détails...
 
class  SharedMemoryParallelDispatchBase
 Classe de base commune à SharedMemoryParallelDispatch. Plus de détails...
 
class  SharedMemoryParallelMng
 Gestionnaire du parallélisme utilisant les threads. Plus de détails...
 
struct  SharedMemoryParallelMngBuildInfo
 Infos pour construire un SharedMemoryParallelMng. Plus de détails...
 
class  SharedMemoryParallelMngContainer
 Conteneur des informations du gestionnaire de message en mémoire partagée. Plus de détails...
 
class  SharedMemoryParallelMngContainerFactory
 
class  SharedMemoryParallelSuperMng
 Superviseur du parallélisme utilisant les threads. Plus de détails...
 
class  SourceDestinationFullRankInfo
 Encapsule les informations source/destination. Plus de détails...
 
class  ThreadDispatcherContainerTraits
 

Définitions de type

using Request = MP::Request
 
using IRequestCreator = MP::IRequestCreator
 
using eReduceType = MP::eReduceType
 
using eBlockingType = MP::eBlockingType
 
using PointToPointMessageInfo = MP::PointToPointMessageInfo
 
using MessageRank = MP::MessageRank
 
using MessageTag = MP::MessageTag
 
using MessageId = MP::MessageId
 
using ByteSpan = Arccore::ByteSpan
 
using ByteConstSpan = Arccore::ByteConstSpan
 

Fonctions

void namedBarrier (IParallelMng *pm, const String &name)
 Effectue une barrière nommée de nom name.
 
void filterCommonStrings (IParallelMng *pm, ConstArrayView< String > input_strings, Array< String > &common_strings)
 Filtre les chaînes de caractères communes à tous les rangs de pm.
 
void dumpDateAndMemoryUsage (IParallelMng *pm, ITraceMng *tm)
 Écrit dans tm la date et la mémoire consommée.
 
std::ostream & operator<< (std::ostream &o, const FullRankInfo &fri)
 
 ARCANE_DEFINE_INTEGRAL_TYPE (long long)
 
 ARCANE_DEFINE_INTEGRAL_TYPE (long)
 
 ARCANE_DEFINE_INTEGRAL_TYPE (int)
 
 ARCANE_DEFINE_INTEGRAL_TYPE (short)
 
 ARCANE_DEFINE_INTEGRAL_TYPE (unsigned long long)
 
 ARCANE_DEFINE_INTEGRAL_TYPE (unsigned long)
 
 ARCANE_DEFINE_INTEGRAL_TYPE (unsigned int)
 
 ARCANE_DEFINE_INTEGRAL_TYPE (unsigned short)
 
 ARCANE_DEFINE_INTEGRAL_TYPE (double)
 
 ARCANE_DEFINE_INTEGRAL_TYPE (float)
 
 ARCANE_DEFINE_INTEGRAL_TYPE (HPReal)
 
 ARCANE_REGISTER_SERVICE (HybridParallelMngContainerFactory, ServiceProperty("HybridParallelMngContainerFactory", ST_Application), ARCANE_SERVICE_INTERFACE(IParallelMngContainerFactory))
 
 ARCANE_REGISTER_SERVICE (HybridParallelSuperMng, ServiceProperty("HybridParallelSuperMng", ST_Application), ARCANE_SERVICE_INTERFACE(IParallelSuperMng))
 
 ARCANE_REGISTER_SERVICE (HybridParallelSuperMng, ServiceProperty("MpiThreadParallelSuperMng", ST_Application), ARCANE_SERVICE_INTERFACE(IParallelSuperMng))
 
 ARCANE_REGISTER_SERVICE (MpiSharedMemoryParallelSuperMng, ServiceProperty("MpiSharedMemoryParallelSuperMng", ST_Application), ARCANE_SERVICE_INTERFACE(IParallelSuperMng))
 
 ARCANE_REGISTER_SERVICE (SharedMemoryParallelMngContainerFactory, ServiceProperty("SharedMemoryParallelMngContainerFactory", ST_Application), ARCANE_SERVICE_INTERFACE(IParallelMngContainerFactory))
 
 ARCANE_REGISTER_SERVICE (SharedMemoryParallelSuperMng, ServiceProperty("SharedMemoryParallelSuperMng", ST_Application), ARCANE_SERVICE_INTERFACE(IParallelSuperMng))
 
 ARCANE_REGISTER_SERVICE (SharedMemoryParallelSuperMng, ServiceProperty("ThreadParallelSuperMng", ST_Application), ARCANE_SERVICE_INTERFACE(IParallelSuperMng))
 

Description détaillée

Déclarations des types et méthodes utilisés par les mécanismes d'échange de messages.

Documentation des définitions de type

◆ ByteConstSpan

◆ ByteSpan

◆ eBlockingType

◆ eReduceType

◆ IRequestCreator

◆ MessageId

◆ MessageRank

◆ MessageTag

◆ PointToPointMessageInfo

◆ Request

Documentation des fonctions

◆ dumpDateAndMemoryUsage()

void Arcane::MessagePassing::dumpDateAndMemoryUsage ( IParallelMng pm,
ITraceMng tm 
)

Écrit dans tm la date et la mémoire consommée.

L'opération est collective sur pm et affiche la mémoire minimimale, moyenne et maximale consommée ainsi que les rangs de ceux qui consomment le moins et le plus de mémoire.

Définition à la ligne 161 du fichier Parallel.cc.

Références ARCANE_CHECK_POINTER, Arcane::IParallelMng::commSize(), Arcane::IParallelMng::computeMinMaxSum(), et Arccore::TraceAccessor::info().

Référencé par Arcane::SubDomain::allocateMeshes(), Arcane::TimeStats::dumpTimeAndMemoryUsage(), et Arcane::SubDomain::readOrReloadMeshes().

◆ filterCommonStrings()

void Arcane::MessagePassing::filterCommonStrings ( IParallelMng pm,
ConstArrayView< String input_strings,
Array< String > &  common_strings 
)

Filtre les chaînes de caractères communes à tous les rangs de pm.

Prend en entrée une liste input_string de chaînes de caractères et retourne dans common_strings celles qui sont communes à tous les rangs de pm. Les chaînes de caractères retournées dans common_strings sont triées par ordre alphabétique.

Définition à la ligne 92 du fichier Parallel.cc.

Références Arcane::IParallelMng::allGather(), Arccore::BasicSerializer::allocateBuffer(), Arcane::IParallelMng::commSize(), Arcane::DT_Int32, Arccore::BasicSerializer::get(), Arccore::BasicSerializer::getInt32(), Arccore::ISerializer::ModeGet, Arccore::ISerializer::ModePut, Arccore::BasicSerializer::put(), Arccore::BasicSerializer::putInt32(), Arccore::BasicSerializer::reserve(), et Arccore::BasicSerializer::setMode().

◆ namedBarrier()

void Arcane::MessagePassing::namedBarrier ( IParallelMng pm,
const String name 
)

Effectue une barrière nommée de nom name.

Effectue une barrière de nom name en utilisant le gestionnaire pm.

Tous les rangs de pm bloquent dans cette barrière et vérifient que tous les rangs utilisent le même nom de barrière. Si un des rangs utilise un nom différent une exception est levée.

Cette opération permet de vérifier que tous les rangs utilisent la même barrière contrairement à l'opération IParallelMng::barrier().

Note
Seuls les 1024 premiers caractères de name sont utilisés.

Définition à la ligne 58 du fichier Parallel.cc.

Références ARCANE_CHECK_POINTER, ARCANE_FATAL, Arcane::arcaneCheckArraySize(), Arccore::ArrayView< T >::fill(), Arccore::ConstArrayView< T >::length(), Arcane::math::min(), et Arcane::IParallelMng::reduce().

◆ operator<<()

std::ostream & Arcane::MessagePassing::operator<< ( std::ostream &  o,
const FullRankInfo fri 
)

Définition à la ligne 635 du fichier HybridMessageQueue.cc.