Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MetisWrapper

Wrapper autour des appels de Parmetis. Plus de détails...

#include <arcane/std/internal/MetisWrapper.h>

+ Graphe d'héritage de Arcane::MetisWrapper:
+ Graphe de collaboration de Arcane::MetisWrapper:

Fonctions membres publiques

 MetisWrapper (IParallelMng *pm)
 
int callPartKway (const bool print_digest, const bool gather, idx_t *vtxdist, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, idx_t *adjwgt, idx_t *wgtflag, idx_t *numflag, idx_t *ncon, idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, idx_t *edgecut, idx_t *part)
 Simple wrapper autour de la routine ParMetis "ParMETIS_V3_PartKway".
 
int callAdaptiveRepart (const bool print_digest, const bool gather, idx_t *vtxdist, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, idx_t *wgtflag, idx_t *numflag, idx_t *ncon, idx_t *nparts, real_t *tpwgts, real_t *ubvec, real_t *ipc2redist, idx_t *options, idx_t *edgecut, idx_t *part)
 Simple wrapper autour de la routine ParMetis "ParMETIS_V3_AdaptiveRepart".
 
- Fonctions membres publiques hérités de Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () const
 Gestionnaire de trace.
 
TraceMessage info () const
 Flot pour un message d'information.
 
TraceMessage pinfo () const
 Flot pour un message d'information en parallèle.
 
TraceMessage info (char category) const
 Flot pour un message d'information d'une catégorie donnée.
 
TraceMessage pinfo (char category) const
 Flot pour un message d'information parallèle d'une catégorie donnée.
 
TraceMessage info (bool v) const
 Flot pour un message d'information.
 
TraceMessage warning () const
 Flot pour un message d'avertissement.
 
TraceMessage pwarning () const
 
TraceMessage error () const
 Flot pour un message d'erreur.
 
TraceMessage perror () const
 
TraceMessage log () const
 Flot pour un message de log.
 
TraceMessage plog () const
 Flot pour un message de log.
 
TraceMessage logdate () const
 Flot pour un message de log précédé de la date.
 
TraceMessage fatal () const
 Flot pour un message d'erreur fatale.
 
TraceMessage pfatal () const
 Flot pour un message d'erreur fatale en parallèle.
 
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flot pour un message de debug.
 
Trace::eDebugLevel configDbgLevel () const
 Niveau debug du fichier de configuration.
 
TraceMessage info (Int32 verbose_level) const
 Flot pour un message d'information d'un niveau donné
 
TraceMessage linfo () const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
TraceMessage linfo (Int32 relative_level) const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
void fatalMessage (const StandaloneTraceMessage &o) const
 

Types privés

using MetisCall
 

Fonctions membres privées

int _callMetisWith2Processors (const Int32 ncon, const bool need_part, ConstArrayView< idx_t > vtxdist, MetisGraphView my_graph, MetisCall &metis)
 Appelle Metis en regroupant le graph sur 2 processeurs.
 

Attributs privés

IParallelMngm_parallel_mng = nullptr
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 

Description détaillée

Wrapper autour des appels de Parmetis.

Définition à la ligne 35 du fichier MetisWrapper.h.

Documentation des définitions de type membres

◆ MetisCall

using Arcane::MetisWrapper::MetisCall
private
Valeur initiale :
std::function<int(IParallelMng* pm, MetisGraphView graph,
ArrayView<idx_t> vtxdist)>
Vue modifiable d'un tableau d'un type T.
Interface du gestionnaire de parallélisme pour un sous-domaine.

Définition à la ligne 40 du fichier MetisWrapper.h.

Documentation des constructeurs et destructeur

◆ MetisWrapper()

Arcane::MetisWrapper::MetisWrapper ( IParallelMng * pm)
explicit

Définition à la ligne 37 du fichier MetisWrapper.cc.

Documentation des fonctions membres

◆ _callMetisWith2Processors()

int Arcane::MetisWrapper::_callMetisWith2Processors ( const Int32 ncon,
const bool need_part,
ConstArrayView< idx_t > vtxdist,
MetisGraphView my_graph,
MetisCall & metis )
private

Appelle Metis en regroupant le graph sur 2 processeurs.

Définition à la ligne 52 du fichier MetisWrapper.cc.

Références Arcane::ParallelMngUtils::createSubParallelMngRef(), Arcane::MetisGraphGather::gatherGraph(), Arcane::Ref< InstanceType, ImplTagId >::get(), Arcane::MetisGraphGather::scatterPart(), et Arcane::ConstArrayView< T >::size().

Référencé par callAdaptiveRepart(), et callPartKway().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ callAdaptiveRepart()

int Arcane::MetisWrapper::callAdaptiveRepart ( const bool print_digest,
const bool gather,
idx_t * vtxdist,
idx_t * xadj,
idx_t * adjncy,
idx_t * vwgt,
idx_t * vsize,
idx_t * adjwgt,
idx_t * wgtflag,
idx_t * numflag,
idx_t * ncon,
idx_t * nparts,
real_t * tpwgts,
real_t * ubvec,
real_t * ipc2redist,
idx_t * options,
idx_t * edgecut,
idx_t * part )

Simple wrapper autour de la routine ParMetis "ParMETIS_V3_AdaptiveRepart".

Lorsque gather == true, le graph est regroupe sur 2 processeurs avant appel a ParMETIS_V3_AdaptiveRepart. Lorsque print_digest == true, la signature des entrees / sorties de ParMETIS_V3_AdaptiveRepart est affichee.

Définition à la ligne 222 du fichier MetisWrapper.cc.

Références _callMetisWith2Processors(), Arcane::IParallelMng::communicator(), Arcane::MetisGraphDigest::computeInputDigest(), Arcane::MetisGraphDigest::computeOutputDigest(), Arcane::TraceAccessor::info(), Arcane::CheckedConvert::multiply(), Arcane::TraceAccessor::pwarning(), et Arcane::CheckedConvert::toInt32().

Référencé par Arcane::MetisMeshPartitioner::_partitionMesh().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ callPartKway()

int Arcane::MetisWrapper::callPartKway ( const bool print_digest,
const bool gather,
idx_t * vtxdist,
idx_t * xadj,
idx_t * adjncy,
idx_t * vwgt,
idx_t * adjwgt,
idx_t * wgtflag,
idx_t * numflag,
idx_t * ncon,
idx_t * nparts,
real_t * tpwgts,
real_t * ubvec,
idx_t * options,
idx_t * edgecut,
idx_t * part )

Simple wrapper autour de la routine ParMetis "ParMETIS_V3_PartKway".

Lorsque gather == true, le graph est regroupe sur 2 processeurs avant appel a ParMETIS_V3_PartKway. Lorsque print_digest == true, la signature des entrees / sorties de ParMETIS_V3_PartKway est affichee.

Définition à la ligne 117 du fichier MetisWrapper.cc.

Références _callMetisWith2Processors(), Arcane::IParallelMng::communicator(), Arcane::MetisGraphDigest::computeInputDigest(), Arcane::MetisGraphDigest::computeOutputDigest(), Arcane::TraceAccessor::info(), Arcane::CheckedConvert::multiply(), Arcane::TraceAccessor::pwarning(), et Arcane::CheckedConvert::toInt32().

Référencé par Arcane::MetisMeshPartitioner::_partitionMesh().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

Documentation des données membres

◆ m_parallel_mng

IParallelMng* Arcane::MetisWrapper::m_parallel_mng = nullptr
private

Définition à la ligne 77 du fichier MetisWrapper.h.


La documentation de cette classe a été générée à partir des fichiers suivants :