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) |
AlephVector * | createSolverVector (void) |
AlephMatrix * | createSolverMatrix (void) |
void | postSolver (AlephParams *, AlephMatrix *, AlephVector *, AlephVector *) |
void | workSolver (void) |
AlephVector * | syncSolver (Integer, Integer &, Real *) |
IAlephFactory * | factory () |
AlephTopology * | topology () |
AlephOrdering * | ordering () |
AlephIndexing * | indexing () |
Integer | rank () |
Integer | size () |
ISubDomain * | subDomain () |
bool | isParallel () |
bool | isInitialized () |
bool | thereIsOthers () |
bool | isAnOther () |
IParallelMng * | parallel () |
IParallelMng * | world () |
Integer | underlyingSolver () |
bool | isCellOrdering () |
Integer | index () |
bool | configured () |
void | mapranks (Array< Integer > &) |
bool | hitranks (Integer, ArrayView< Integer >) |
Integer | nbRanksPerSolver () |
ArrayView< Integer > | solverRanks (Integer i) |
IParallelMng * | subParallelMng (Integer i) |
IAlephTopology * | getTopologyImplementation (Integer i) |
AlephKernelSolverInitializeArguments & | solverInitializeArgs () |
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. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () 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 | |
ISubDomain * | m_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 |
IParallelMng * | m_parallel |
IParallelMng * | m_world_parallel |
bool | m_configured = false |
IAlephFactory * | m_factory = nullptr |
AlephTopology * | m_topology = nullptr |
AlephOrdering * | m_ordering = nullptr |
AlephIndexing * | m_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 |
Définition à la ligne 115 du fichier AlephKernel.h.
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().
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().
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().
Arcane::AlephKernel::~AlephKernel | ( | void | ) |
Définition à la ligne 194 du fichier AlephKernel.cc.
|
private |
Définition à la ligne 304 du fichier AlephKernel.cc.
Définition à la ligne 256 du fichier AlephKernel.cc.
|
inline |
Définition à la ligne 161 du fichier AlephKernel.h.
AlephMatrix * Arcane::AlephKernel::createSolverMatrix | ( | void | ) |
Définition à la ligne 323 du fichier AlephKernel.cc.
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().
|
inline |
Définition à la ligne 145 du fichier AlephKernel.h.
|
inline |
Définition à la ligne 167 du fichier AlephKernel.h.
Définition à la ligne 292 du fichier AlephKernel.cc.
|
inline |
Définition à la ligne 160 du fichier AlephKernel.h.
|
inline |
Définition à la ligne 148 du fichier AlephKernel.h.
void Arcane::AlephKernel::initialize | ( | Integer | global_nb_row, |
Integer | local_nb_row | ||
) |
Définition à la ligne 230 du fichier AlephKernel.cc.
|
inline |
Définition à la ligne 155 du fichier AlephKernel.h.
|
inline |
Définition à la ligne 159 du fichier AlephKernel.h.
|
inline |
Définition à la ligne 153 du fichier AlephKernel.h.
|
inline |
Définition à la ligne 152 du fichier AlephKernel.h.
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().
|
inline |
Définition à la ligne 164 du fichier AlephKernel.h.
|
inline |
Définition à la ligne 147 du fichier AlephKernel.h.
|
inline |
Définition à la ligne 156 du fichier AlephKernel.h.
void Arcane::AlephKernel::postSolver | ( | AlephParams * | params, |
AlephMatrix * | fromThisMatrix, | ||
AlephVector * | fromeThisX, | ||
AlephVector * | fromThisB | ||
) |
Définition à la ligne 429 du fichier AlephKernel.cc.
|
inline |
Définition à la ligne 149 du fichier AlephKernel.h.
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().
|
inline |
Définition à la ligne 150 du fichier AlephKernel.h.
|
inline |
Définition à la ligne 171 du fichier AlephKernel.h.
|
inline |
Définition à la ligne 165 du fichier AlephKernel.h.
ISubDomain * Arcane::AlephKernel::subDomain | ( | void | ) |
Définition à la ligne 602 du fichier AlephKernel.cc.
|
inline |
Définition à la ligne 166 du fichier AlephKernel.h.
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().
|
inline |
Définition à la ligne 154 du fichier AlephKernel.h.
|
inline |
Définition à la ligne 146 du fichier AlephKernel.h.
|
inline |
Définition à la ligne 158 du fichier AlephKernel.h.
Définition à la ligne 544 du fichier AlephKernel.cc.
|
inline |
Définition à la ligne 157 du fichier AlephKernel.h.
|
private |
Définition à la ligne 196 du fichier AlephKernel.h.
|
private |
Définition à la ligne 210 du fichier AlephKernel.h.
Définition à la ligne 191 du fichier AlephKernel.h.
|
private |
Définition à la ligne 192 du fichier AlephKernel.h.
|
private |
Définition à la ligne 202 du fichier AlephKernel.h.
|
private |
Définition à la ligne 185 du fichier AlephKernel.h.
|
private |
Définition à la ligne 195 du fichier AlephKernel.h.
|
private |
Définition à la ligne 180 du fichier AlephKernel.h.
|
private |
Définition à la ligne 209 du fichier AlephKernel.h.
|
private |
Définition à la ligne 194 du fichier AlephKernel.h.
|
private |
Définition à la ligne 186 du fichier AlephKernel.h.
|
private |
Définition à la ligne 181 du fichier AlephKernel.h.
|
private |
Définition à la ligne 198 du fichier AlephKernel.h.
|
private |
Définition à la ligne 211 du fichier AlephKernel.h.
|
private |
Définition à la ligne 182 du fichier AlephKernel.h.
|
private |
Définition à la ligne 201 du fichier AlephKernel.h.
|
private |
Définition à la ligne 199 du fichier AlephKernel.h.
|
private |
Définition à la ligne 203 du fichier AlephKernel.h.
|
private |
Définition à la ligne 207 du fichier AlephKernel.h.
|
private |
Définition à la ligne 200 du fichier AlephKernel.h.
|
private |
Définition à la ligne 179 du fichier AlephKernel.h.
|
private |
Définition à la ligne 208 du fichier AlephKernel.h.
|
private |
Définition à la ligne 184 du fichier AlephKernel.h.
|
private |
Définition à la ligne 193 du fichier AlephKernel.h.
|
private |
Définition à la ligne 197 du fichier AlephKernel.h.
|
private |
Définition à la ligne 187 du fichier AlephKernel.h.
|
private |
Définition à la ligne 183 du fichier AlephKernel.h.
Définition à la ligne 122 du fichier AlephKernel.h.
Définition à la ligne 120 du fichier AlephKernel.h.
Définition à la ligne 123 du fichier AlephKernel.h.
Définition à la ligne 121 du fichier AlephKernel.h.