Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::AlephKernel
+ Graphe d'héritage de Arcane::AlephKernel:
+ Graphe de collaboration de Arcane::AlephKernel:

Fonctions membres publiques

 AlephKernel (IParallelMng *, Integer, IAlephFactory *, Integer=0, Integer=0, bool=false)
 
 AlephKernel (ITraceMng *, ISubDomain *, IAlephFactory *, Integer=0, Integer=0, bool=false)
 
 AlephKernel (ISubDomain *, Integer alephUnderlyingSolver=0, Integer alephNumberOfCores=0)
 
void setup (void)
 
void initialize (Integer, Integer)
 
void break_and_return (void)
 
AlephVectorcreateSolverVector (void)
 
AlephMatrixcreateSolverMatrix (void)
 
void postSolver (AlephParams *, AlephMatrix *, AlephVector *, AlephVector *)
 
void workSolver (void)
 
AlephVectorsyncSolver (Integer, Integer &, Real *)
 
IAlephFactoryfactory ()
 
AlephTopologytopology ()
 
AlephOrderingordering ()
 
AlephIndexingindexing ()
 
Integer rank ()
 
Integer size ()
 
ISubDomainsubDomain ()
 
bool isParallel ()
 
bool isInitialized ()
 
bool thereIsOthers ()
 
bool isAnOther ()
 
IParallelMngparallel ()
 
IParallelMngworld ()
 
Integer underlyingSolver ()
 
bool isCellOrdering ()
 
Integer index ()
 
bool configured ()
 
void mapranks (Array< Integer > &)
 
bool hitranks (Integer, ArrayView< Integer >)
 
Integer nbRanksPerSolver ()
 
ArrayView< Integer > solverRanks (Integer i)
 
IParallelMngsubParallelMng (Integer i)
 
IAlephTopologygetTopologyImplementation (Integer i)
 
AlephKernelSolverInitializeArgumentssolverInitializeArgs ()
 
- Fonctions membres publiques hérités de Arccore::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
 

Attributs publics statiques

static constexpr int SOLVER_HYPRE = 2
 
static constexpr int SOLVER_TRILINOS = 3
 
static constexpr int SOLVER_CUDA = 4
 
static constexpr int SOLVER_PETSC = 5
 

Fonctions membres privées

Ref< IParallelMng_createUnderlyingParallelMng (Integer)
 

Attributs privés

ISubDomainm_sub_domain = nullptr
 
bool m_isParallel
 
Integer m_rank
 
Integer m_size
 
Integer m_world_size
 
bool m_there_are_idles
 
bool m_i_am_an_other
 
IParallelMngm_parallel
 
IParallelMngm_world_parallel
 
bool m_configured = false
 
IAlephFactorym_factory = nullptr
 
AlephTopologym_topology = nullptr
 
AlephOrderingm_ordering = nullptr
 
AlephIndexingm_indexing = nullptr
 
Integer m_aleph_vector_idx
 
const Integer m_underlying_solver
 
const bool m_reorder
 
Integer m_solver_index
 
Integer m_solver_size
 
bool m_solved
 
bool m_has_been_initialized
 
AlephKernelSolverInitializeArguments m_solver_initialize_args
 
UniqueArray< SharedArray< Integer > > m_solver_ranks
 
UniqueArray< Ref< IParallelMng > > m_sub_parallel_mng_queue
 
UniqueArray< AlephMatrix * > m_matrix_queue
 
UniqueArray< AlephKernelArguments * > m_arguments_queue
 
UniqueArray< AlephKernelResults * > m_results_queue
 

Membres hérités additionnels

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

Description détaillée

Définition à la ligne 115 du fichier AlephKernel.h.

Documentation des constructeurs et destructeur

◆ AlephKernel() [1/3]

Arcane::AlephKernel::AlephKernel ( IParallelMng wpm,
Integer  size,
IAlephFactory factory,
Integer  alephUnderlyingSolver = 0,
Integer  alephNumberOfCores = 0,
bool  alephOrdering = false 
)

AlephKernel utilisé par Kappa où l'on met le m_sub_domain à 'nullptr'.

Définition à la ligne 36 du fichier AlephKernel.cc.

Références setup().

◆ AlephKernel() [2/3]

Arcane::AlephKernel::AlephKernel ( ITraceMng tm,
ISubDomain sd,
IAlephFactory factory,
Integer  alephUnderlyingSolver = 0,
Integer  alephNumberOfCores = 0,
bool  alephOrdering = false 
)

Kernel standard dont la factory est passé en argument Cela correspond à l'ancienne API utilisée encore dans certains tests Arcane et surtout encore dans le code

Définition à la ligne 76 du fichier AlephKernel.cc.

Références setup().

◆ AlephKernel() [3/3]

Arcane::AlephKernel::AlephKernel ( ISubDomain sd,
Integer  alephUnderlyingSolver = 0,
Integer  alephNumberOfCores = 0 
)

Aleph Kernel minimaliste pour utiliser avec l'indexing C'est ce kernel qui créée lui même sa factory et qui doit gérer son initialization. Il a en plus des options underlying_solver et number_of_cores

Définition à la ligne 114 du fichier AlephKernel.cc.

Références Arccore::TraceAccessor::debug(), et setup().

◆ ~AlephKernel()

Arcane::AlephKernel::~AlephKernel ( void  )

Définition à la ligne 194 du fichier AlephKernel.cc.

Documentation des fonctions membres

◆ _createUnderlyingParallelMng()

Ref< IParallelMng > Arcane::AlephKernel::_createUnderlyingParallelMng ( Integer  nb_wanted_sites)
private

Définition à la ligne 304 du fichier AlephKernel.cc.

◆ break_and_return()

void Arcane::AlephKernel::break_and_return ( void  )

Définition à la ligne 256 du fichier AlephKernel.cc.

◆ configured()

bool Arcane::AlephKernel::configured ( )
inline

Définition à la ligne 161 du fichier AlephKernel.h.

◆ createSolverMatrix()

AlephMatrix * Arcane::AlephKernel::createSolverMatrix ( void  )

Définition à la ligne 323 du fichier AlephKernel.cc.

◆ createSolverVector()

AlephVector * Arcane::AlephKernel::createSolverVector ( void  )

WARNING: the 1st call returns the Bth RHS vector, the 2nd call returns the Xth solution vector. c4b28f2

Définition à la ligne 403 du fichier AlephKernel.cc.

Références Arccore::TraceAccessor::debug(), Arccore::ITraceMng::flush(), et Arccore::TraceAccessor::traceMng().

◆ factory()

IAlephFactory * Arcane::AlephKernel::factory ( )
inline

Définition à la ligne 145 du fichier AlephKernel.h.

◆ getTopologyImplementation()

IAlephTopology * Arcane::AlephKernel::getTopologyImplementation ( Integer  i)
inline

Définition à la ligne 167 du fichier AlephKernel.h.

◆ hitranks()

bool Arcane::AlephKernel::hitranks ( Integer  rank,
ArrayView< Integer >  ranks 
)

Définition à la ligne 292 du fichier AlephKernel.cc.

◆ index()

Integer Arcane::AlephKernel::index ( )
inline

Définition à la ligne 160 du fichier AlephKernel.h.

◆ indexing()

AlephIndexing * Arcane::AlephKernel::indexing ( )
inline

Définition à la ligne 148 du fichier AlephKernel.h.

◆ initialize()

void Arcane::AlephKernel::initialize ( Integer  global_nb_row,
Integer  local_nb_row 
)

Définition à la ligne 230 du fichier AlephKernel.cc.

◆ isAnOther()

bool Arcane::AlephKernel::isAnOther ( )
inline

Définition à la ligne 155 du fichier AlephKernel.h.

◆ isCellOrdering()

bool Arcane::AlephKernel::isCellOrdering ( )
inline

Définition à la ligne 159 du fichier AlephKernel.h.

◆ isInitialized()

bool Arcane::AlephKernel::isInitialized ( )
inline

Définition à la ligne 153 du fichier AlephKernel.h.

◆ isParallel()

bool Arcane::AlephKernel::isParallel ( )
inline

Définition à la ligne 152 du fichier AlephKernel.h.

◆ mapranks()

void Arcane::AlephKernel::mapranks ( Array< Integer > &  ranks)

Mod[Floor[ Table[n, {n, mSolverIndex*mSize, (mSolverIndex + 1)*mSize - 1}]/(mSize/ mSolverSize)], mSize]

Définition à la ligne 271 du fichier AlephKernel.cc.

Références Arccore::TraceAccessor::debug(), Arccore::ITraceMng::flush(), et Arccore::TraceAccessor::traceMng().

◆ nbRanksPerSolver()

Integer Arcane::AlephKernel::nbRanksPerSolver ( )
inline

Définition à la ligne 164 du fichier AlephKernel.h.

◆ ordering()

AlephOrdering * Arcane::AlephKernel::ordering ( )
inline

Définition à la ligne 147 du fichier AlephKernel.h.

◆ parallel()

IParallelMng * Arcane::AlephKernel::parallel ( )
inline

Définition à la ligne 156 du fichier AlephKernel.h.

◆ postSolver()

void Arcane::AlephKernel::postSolver ( AlephParams params,
AlephMatrix fromThisMatrix,
AlephVector fromeThisX,
AlephVector fromThisB 
)

Définition à la ligne 429 du fichier AlephKernel.cc.

◆ rank()

Integer Arcane::AlephKernel::rank ( )
inline

Définition à la ligne 149 du fichier AlephKernel.h.

◆ setup()

void Arcane::AlephKernel::setup ( void  )

Setup: configuration générale

Définition à la ligne 149 du fichier AlephKernel.cc.

Références Arccore::TraceAccessor::debug().

Référencé par AlephKernel(), AlephKernel(), et AlephKernel().

◆ size()

Integer Arcane::AlephKernel::size ( )
inline

Définition à la ligne 150 du fichier AlephKernel.h.

◆ solverInitializeArgs()

AlephKernelSolverInitializeArguments & Arcane::AlephKernel::solverInitializeArgs ( )
inline

Définition à la ligne 171 du fichier AlephKernel.h.

◆ solverRanks()

ArrayView< Integer > Arcane::AlephKernel::solverRanks ( Integer  i)
inline

Définition à la ligne 165 du fichier AlephKernel.h.

◆ subDomain()

ISubDomain * Arcane::AlephKernel::subDomain ( void  )

Définition à la ligne 602 du fichier AlephKernel.cc.

◆ subParallelMng()

IParallelMng * Arcane::AlephKernel::subParallelMng ( Integer  i)
inline

Définition à la ligne 166 du fichier AlephKernel.h.

◆ syncSolver()

AlephVector * Arcane::AlephKernel::syncSolver ( Integer  gid,
Integer &  nb_iteration,
Real *  residual_norm 
)

Ce sont ces arguments qui doivent être remplis bf8d3adf

Définition à la ligne 503 du fichier AlephKernel.cc.

Références Arccore::TraceAccessor::debug(), Arccore::ITraceMng::flush(), et Arccore::TraceAccessor::traceMng().

◆ thereIsOthers()

bool Arcane::AlephKernel::thereIsOthers ( )
inline

Définition à la ligne 154 du fichier AlephKernel.h.

◆ topology()

AlephTopology * Arcane::AlephKernel::topology ( )
inline

Définition à la ligne 146 du fichier AlephKernel.h.

◆ underlyingSolver()

Integer Arcane::AlephKernel::underlyingSolver ( )
inline

Définition à la ligne 158 du fichier AlephKernel.h.

◆ workSolver()

void Arcane::AlephKernel::workSolver ( void  )

Définition à la ligne 544 du fichier AlephKernel.cc.

◆ world()

IParallelMng * Arcane::AlephKernel::world ( )
inline

Définition à la ligne 157 du fichier AlephKernel.h.

Documentation des données membres

◆ m_aleph_vector_idx

Integer Arcane::AlephKernel::m_aleph_vector_idx
private

Définition à la ligne 196 du fichier AlephKernel.h.

◆ m_arguments_queue

UniqueArray<AlephKernelArguments*> Arcane::AlephKernel::m_arguments_queue
private

Définition à la ligne 210 du fichier AlephKernel.h.

◆ m_configured

bool Arcane::AlephKernel::m_configured = false
private

Définition à la ligne 191 du fichier AlephKernel.h.

◆ m_factory

IAlephFactory* Arcane::AlephKernel::m_factory = nullptr
private

Définition à la ligne 192 du fichier AlephKernel.h.

◆ m_has_been_initialized

bool Arcane::AlephKernel::m_has_been_initialized
private

Définition à la ligne 202 du fichier AlephKernel.h.

◆ m_i_am_an_other

bool Arcane::AlephKernel::m_i_am_an_other
private

Définition à la ligne 185 du fichier AlephKernel.h.

◆ m_indexing

AlephIndexing* Arcane::AlephKernel::m_indexing = nullptr
private

Définition à la ligne 195 du fichier AlephKernel.h.

◆ m_isParallel

bool Arcane::AlephKernel::m_isParallel
private

Définition à la ligne 180 du fichier AlephKernel.h.

◆ m_matrix_queue

UniqueArray<AlephMatrix*> Arcane::AlephKernel::m_matrix_queue
private

Définition à la ligne 209 du fichier AlephKernel.h.

◆ m_ordering

AlephOrdering* Arcane::AlephKernel::m_ordering = nullptr
private

Définition à la ligne 194 du fichier AlephKernel.h.

◆ m_parallel

IParallelMng* Arcane::AlephKernel::m_parallel
private

Définition à la ligne 186 du fichier AlephKernel.h.

◆ m_rank

Integer Arcane::AlephKernel::m_rank
private

Définition à la ligne 181 du fichier AlephKernel.h.

◆ m_reorder

const bool Arcane::AlephKernel::m_reorder
private

Définition à la ligne 198 du fichier AlephKernel.h.

◆ m_results_queue

UniqueArray<AlephKernelResults*> Arcane::AlephKernel::m_results_queue
private

Définition à la ligne 211 du fichier AlephKernel.h.

◆ m_size

Integer Arcane::AlephKernel::m_size
private

Définition à la ligne 182 du fichier AlephKernel.h.

◆ m_solved

bool Arcane::AlephKernel::m_solved
private

Définition à la ligne 201 du fichier AlephKernel.h.

◆ m_solver_index

Integer Arcane::AlephKernel::m_solver_index
private

Définition à la ligne 199 du fichier AlephKernel.h.

◆ m_solver_initialize_args

AlephKernelSolverInitializeArguments Arcane::AlephKernel::m_solver_initialize_args
private

Définition à la ligne 203 du fichier AlephKernel.h.

◆ m_solver_ranks

UniqueArray<SharedArray<Integer> > Arcane::AlephKernel::m_solver_ranks
private

Définition à la ligne 207 du fichier AlephKernel.h.

◆ m_solver_size

Integer Arcane::AlephKernel::m_solver_size
private

Définition à la ligne 200 du fichier AlephKernel.h.

◆ m_sub_domain

ISubDomain* Arcane::AlephKernel::m_sub_domain = nullptr
private

Définition à la ligne 179 du fichier AlephKernel.h.

◆ m_sub_parallel_mng_queue

UniqueArray<Ref<IParallelMng> > Arcane::AlephKernel::m_sub_parallel_mng_queue
private

Définition à la ligne 208 du fichier AlephKernel.h.

◆ m_there_are_idles

bool Arcane::AlephKernel::m_there_are_idles
private

Définition à la ligne 184 du fichier AlephKernel.h.

◆ m_topology

AlephTopology* Arcane::AlephKernel::m_topology = nullptr
private

Définition à la ligne 193 du fichier AlephKernel.h.

◆ m_underlying_solver

const Integer Arcane::AlephKernel::m_underlying_solver
private

Définition à la ligne 197 du fichier AlephKernel.h.

◆ m_world_parallel

IParallelMng* Arcane::AlephKernel::m_world_parallel
private

Définition à la ligne 187 du fichier AlephKernel.h.

◆ m_world_size

Integer Arcane::AlephKernel::m_world_size
private

Définition à la ligne 183 du fichier AlephKernel.h.

◆ SOLVER_CUDA

constexpr int Arcane::AlephKernel::SOLVER_CUDA = 4
staticconstexpr

Définition à la ligne 122 du fichier AlephKernel.h.

◆ SOLVER_HYPRE

constexpr int Arcane::AlephKernel::SOLVER_HYPRE = 2
staticconstexpr

Définition à la ligne 120 du fichier AlephKernel.h.

◆ SOLVER_PETSC

constexpr int Arcane::AlephKernel::SOLVER_PETSC = 5
staticconstexpr

Définition à la ligne 123 du fichier AlephKernel.h.

◆ SOLVER_TRILINOS

constexpr int Arcane::AlephKernel::SOLVER_TRILINOS = 3
staticconstexpr

Définition à la ligne 121 du fichier AlephKernel.h.


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