Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de l'espace de nommage Arcane::Parallel

Implémentation de la concurrence. Plus de détails...

Classes

class  BitonicSort
 Algorithme de tri bitonique parallèle. Plus de détails...
 
class  BitonicSortDefaultTraits
 Fournit les opérations nécessaires pour le tri via la classe BitonicSort. Plus de détails...
 
class  Communicator
 Communicateur pour l'échange de message. Plus de détails...
 
class  GhostItemsVariableParallelOperation
 Opérations parallèle sur les entités fantômes. Plus de détails...
 
class  IParallelSort
 Interface d'un algorithme de tri parallèle. Plus de détails...
 
class  IRequestCreator
 Interface d'un créateur de requête. Plus de détails...
 
class  IRequestList
 Liste de requête de messages. Plus de détails...
 
class  IStat
 Statistiques sur le parallélisme. Plus de détails...
 
class  ISubRequest
 
class  MessageId
 MessageId. Plus de détails...
 
class  MessageRank
 Rang d'un message. Plus de détails...
 
class  MessageSourceInfo
 Informations sur la source d'un message. Plus de détails...
 
class  MessageTag
 Tag d'un message. Plus de détails...
 
class  PointToPointMessageInfo
 Informations pour envoyer/recevoir un message point à point. Plus de détails...
 
class  Request
 Requête d'un message. Plus de détails...
 
class  Stat
 Statistiques sur le parallélisme. Plus de détails...
 
class  VariableParallelOperationBase
 Interface d'une classe d'opérations parallèle sur des variables. Plus de détails...
 

Énumérations

enum  eReduceType
 Types des réductions supportées. Plus de détails...
 
enum  eWaitType
 Type d'attente. Plus de détails...
 
enum  eBlockingType
 Type indiquant si un message est bloquant ou non. Plus de détails...
 
enum  ePointToPointMessageType
 Type de message point à point. Plus de détails...
 

Fonctions

template<typename InstanceType, typename ItemType>
void Foreach (const ItemVectorView &items_view, const ParallelLoopOptions &options, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items))
 
template<typename InstanceType, typename ItemType>
void Foreach (const ItemGroup &items, const ParallelLoopOptions &options, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items))
 
template<typename InstanceType, typename ItemType>
void Foreach (const ItemVectorView &items_view, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items))
 
template<typename InstanceType, typename ItemType>
void Foreach (const ItemGroup &items, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items))
 
template<typename LambdaType>
void Foreach (const ItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 
template<typename LambdaType>
void Foreach (const ItemGroup &items, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 
template<typename LambdaType>
void Foreach (const ItemVectorView &items_view, const LambdaType &lambda_function)
 
template<typename LambdaType>
void Foreach (const ItemGroup &items, const LambdaType &lambda_function)
 
template<typename InstanceType>
ARCANE_DEPRECATED_122 void For (Integer i0, Integer size, Integer grain_size, InstanceType *itype, void(InstanceType::*lambda_function)(Integer i0, Integer size))
 
template<typename InstanceType>
void For (Integer i0, Integer size, const ParallelLoopOptions &options, InstanceType *itype, void(InstanceType::*lambda_function)(Integer i0, Integer size))
 
template<typename LambdaType>
ARCANE_DEPRECATED_122 void For (Integer i0, Integer size, Integer grain_size, const LambdaType &lambda_function)
 
template<typename InstanceType>
void For (Integer i0, Integer size, InstanceType *itype, void(InstanceType::*lambda_function)(Integer i0, Integer size))
 
template<typename LambdaType>
void For (Integer i0, Integer size, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 
template<typename LambdaType>
void For (Integer i0, Integer size, const LambdaType &lambda_function)
 
IStatcreateDefaultStat ()
 Créé une instance par défaut.
 
void dumpJSON (JSONWriter &writer, const Arccore::MessagePassing::OneStat &os, bool cumulative_stat=true)
 Free function pour le dump d'une stat de message dans un JSON.
 
void printStatsCollective (IStat *s, IParallelMng *pm)
 Affiche les statistiques cumulées sur l'ensemble des rangs de pm.
 
template<typename LambdaType>
void Foreach (const ComponentItemVectorView &items_view, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue du composant items_view.
 
template<typename LambdaType>
void Foreach (const ComponentItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue du composant items_view avec les options options.
 
template<typename LambdaType>
void Foreach (const EnvItemVectorView &items_view, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue milieux items_view.
 
template<typename LambdaType>
void Foreach (const EnvItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue milieux items_view avec les options options.
 
template<typename LambdaType>
void Foreach (const MatItemVectorView &items_view, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue matériaux items_view.
 
template<typename LambdaType>
void Foreach (const MatItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue matériaux items_view avec les options options.
 

Description détaillée

Implémentation de la concurrence.

Types des classes du parallélisme.

Les méthodes de ce namespace sont obsolètes et doivent être remplacées par les méthodes équivalentes dans le namespace Arcane. Par exemple Arcane::Parallel::For() doit être remplacé par Arcane::arcaneParallelFor() et Arcane::Parallel::Foreach() par Arcane::arcaneParallelForeach().

Documentation du type de l'énumération

◆ eBlockingType

Type indiquant si un message est bloquant ou non.

Définition à la ligne 119 du fichier MessagePassingGlobal.h.

◆ ePointToPointMessageType

Type de message point à point.

Définition à la ligne 130 du fichier MessagePassingGlobal.h.

◆ eReduceType

Types des réductions supportées.

Définition à la ligne 98 du fichier MessagePassingGlobal.h.

◆ eWaitType

Type d'attente.

Définition à la ligne 108 du fichier MessagePassingGlobal.h.

Documentation des fonctions

◆ createDefaultStat()

IStat * Arcane::Parallel::createDefaultStat ( )

Créé une instance par défaut.

Définition à la ligne 127 du fichier arcane/src/arcane/core/parallel/Stat.cc.

◆ dumpJSON()

◆ For() [1/6]

template<typename LambdaType>
void Arcane::Parallel::For ( Integer i0,
Integer size,
const LambdaType & lambda_function )
inline
Obsolète
Use Arcane::arcaneParallelFor() instead.

Définition à la ligne 431 du fichier Concurrency.h.

Références Arcane::TaskFactory::executeParallelFor().

◆ For() [2/6]

template<typename LambdaType>
void Arcane::Parallel::For ( Integer i0,
Integer size,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline
Obsolète
Use Arcane::arcaneParallelFor() instead.

Définition à la ligne 420 du fichier Concurrency.h.

Références Arcane::TaskFactory::executeParallelFor().

◆ For() [3/6]

template<typename InstanceType>
void Arcane::Parallel::For ( Integer i0,
Integer size,
const ParallelLoopOptions & options,
InstanceType * itype,
void(InstanceType::* lambda_function )(Integer i0, Integer size) )
inline
Obsolète
Use Arcane::arcaneParallelFor() instead.

Définition à la ligne 386 du fichier Concurrency.h.

Références Arcane::TaskFactory::executeParallelFor().

◆ For() [4/6]

template<typename InstanceType>
void Arcane::Parallel::For ( Integer i0,
Integer size,
InstanceType * itype,
void(InstanceType::* lambda_function )(Integer i0, Integer size) )
inline
Obsolète
Use Arcane::arcaneParallelFor() instead.

Définition à la ligne 408 du fichier Concurrency.h.

Références Arcane::TaskFactory::executeParallelFor().

◆ For() [5/6]

template<typename LambdaType>
ARCANE_DEPRECATED_122 void Arcane::Parallel::For ( Integer i0,
Integer size,
Integer grain_size,
const LambdaType & lambda_function )
inline
Obsolète
Utiliser la surcharge For avec ParallelLoopOptions en argument.

Définition à la ligne 397 du fichier Concurrency.h.

Références Arcane::TaskFactory::executeParallelFor().

◆ For() [6/6]

template<typename InstanceType>
ARCANE_DEPRECATED_122 void Arcane::Parallel::For ( Integer i0,
Integer size,
Integer grain_size,
InstanceType * itype,
void(InstanceType::* lambda_function )(Integer i0, Integer size) )
inline
Obsolète
Utiliser la surcharge For avec ParallelLoopOptions en argument.

Définition à la ligne 374 du fichier Concurrency.h.

Références Arcane::TaskFactory::executeParallelFor().

◆ Foreach() [1/8]

template<typename LambdaType>
void Arcane::Parallel::Foreach ( const ItemGroup & items,
const LambdaType & lambda_function )
inline
Obsolète
Use Arcane::arcaneParallelForeach() instead.

Définition à la ligne 365 du fichier Concurrency.h.

Références Arcane::ItemGroup::_paddedView(), et Foreach().

◆ Foreach() [2/8]

template<typename LambdaType>
void Arcane::Parallel::Foreach ( const ItemGroup & items,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline
Obsolète
Use Arcane::arcaneParallelForeach() instead.

Définition à la ligne 344 du fichier Concurrency.h.

Références Arcane::ItemGroup::_paddedView(), et Foreach().

◆ Foreach() [3/8]

template<typename InstanceType, typename ItemType>
void Arcane::Parallel::Foreach ( const ItemGroup & items,
const ParallelLoopOptions & options,
InstanceType * instance,
void(InstanceType::* function )(ItemVectorViewT< ItemType > items) )
inline
Obsolète
Use Arcane::arcaneParallelForeach() instead.

Définition à la ligne 298 du fichier Concurrency.h.

Références Foreach().

◆ Foreach() [4/8]

template<typename InstanceType, typename ItemType>
void Arcane::Parallel::Foreach ( const ItemGroup & items,
InstanceType * instance,
void(InstanceType::* function )(ItemVectorViewT< ItemType > items) )
inline
Obsolète
Use Arcane::arcaneParallelForeach() instead.

Définition à la ligne 320 du fichier Concurrency.h.

Références Foreach().

◆ Foreach() [5/8]

template<typename LambdaType>
void Arcane::Parallel::Foreach ( const ItemVectorView & items_view,
const LambdaType & lambda_function )
inline

◆ Foreach() [6/8]

template<typename LambdaType>
void Arcane::Parallel::Foreach ( const ItemVectorView & items_view,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline

◆ Foreach() [7/8]

template<typename InstanceType, typename ItemType>
void Arcane::Parallel::Foreach ( const ItemVectorView & items_view,
const ParallelLoopOptions & options,
InstanceType * instance,
void(InstanceType::* function )(ItemVectorViewT< ItemType > items) )
inline

◆ Foreach() [8/8]

template<typename InstanceType, typename ItemType>
void Arcane::Parallel::Foreach ( const ItemVectorView & items_view,
InstanceType * instance,
void(InstanceType::* function )(ItemVectorViewT< ItemType > items) )
inline

◆ printStatsCollective()

void Arcane::Parallel::printStatsCollective ( IStat * s,
IParallelMng * pm )

Affiche les statistiques cumulées sur l'ensemble des rangs de pm.

Définition à la ligne 353 du fichier arcane/src/arcane/core/parallel/Stat.cc.

Références Arcane::Parallel::IStat::printCollective().