Arcane
v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
LoadBalanceMng.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4
// See the top-level COPYRIGHT file for details.
5
// SPDX-License-Identifier: Apache-2.0
6
//-----------------------------------------------------------------------------
7
/*---------------------------------------------------------------------------*/
8
/* LoadBalanceMng.h (C) 2000-2024 */
9
/* */
10
/* Gestionnaire pour le partitionnement et l'équilibrage de charge. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_IMPL_LOADBALANCEMNG_H
13
#define ARCANE_IMPL_LOADBALANCEMNG_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/core/ILoadBalanceMng.h"
18
19
/*---------------------------------------------------------------------------*/
20
/*---------------------------------------------------------------------------*/
21
22
namespace
Arcane
23
{
24
25
/*---------------------------------------------------------------------------*/
26
/*---------------------------------------------------------------------------*/
32
class
ARCANE_IMPL_EXPORT
LoadBalanceMng
33
:
public
ILoadBalanceMng
34
{
35
public
:
36
37
explicit
LoadBalanceMng
(
ISubDomain
*
sd
);
38
LoadBalanceMng
(
ISubDomain
*
sd
,
bool
mass_as_criterion
);
39
40
public
:
41
46
void
addMass(
VariableCellInt32
& count,
const
String
&
entity
=
""
)
override
;
47
void
addCriterion(
VariableCellInt32
& count)
override
;
48
void
addCriterion(
VariableCellReal
& count)
override
;
49
void
addCommCost(
VariableFaceInt32
& count,
const
String
&
entity
=
""
)
override
;
50
51
void
reset()
override
;
52
57
void
setMassAsCriterion(
bool
active =
true
)
override
;
58
void
setNbCellsAsCriterion(
bool
active =
true
)
override
;
59
void
setCellCommContrib(
bool
active =
true
)
override
;
60
bool
cellCommContrib()
const override
;
61
void
setComputeComm(
bool
active =
true
)
override
;
62
Integer nbCriteria()
override
;
63
void
initAccess(
IMesh
* mesh=
nullptr
)
override
;
64
const
VariableFaceReal
& commCost()
const override
;
65
const
VariableCellReal
& massWeight()
const override
;
66
const
VariableCellReal
& massResWeight()
const override
;
67
const
VariableCellArrayReal
& mCriteriaWeight()
const override
;
68
void
endAccess()
override
;
69
void
notifyEndPartition()
override
;
70
71
ILoadBalanceMngInternal
* _internalApi()
override
;
72
73
private
:
74
75
Ref<ILoadBalanceMngInternal>
m_internal;
76
MeshHandle
m_mesh_handle;
77
78
private
:
79
80
void
_init(
bool
use_mass_as_criterion
,
bool
is_legacy_init
);
81
static
bool
_isLegacyInit();
82
};
83
84
/*---------------------------------------------------------------------------*/
85
/*---------------------------------------------------------------------------*/
86
87
}
// End namespace Arcane
88
89
/*---------------------------------------------------------------------------*/
90
/*---------------------------------------------------------------------------*/
91
92
#endif
Arcane::ILoadBalanceMngInternal
API interne à Arcane de ILoadBalanceMng.
Definition
ILoadBalanceMngInternal.h:38
Arcane::ILoadBalanceMng
Interface d'enregistrement des variables pour l'equilibrage de charge.
Definition
ILoadBalanceMng.h:35
Arcane::IMesh
Definition
IMesh.h:59
Arcane::ISubDomain
Interface du gestionnaire d'un sous-domaine.
Definition
ISubDomain.h:74
Arcane::LimaWrapper
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition
Lima.cc:120
Arcane::LoadBalanceMng
Implantation standard d'une interface d'enregistrement des variables pour l'équilibrage de charge.
Definition
LoadBalanceMng.h:34
Arcane::MeshHandle
Handle sur un maillage.
Definition
MeshHandle.h:47
Arcane::MeshVariableArrayRefT< Cell, Real >
Arcane::MeshVariableScalarRefT< Cell, Int32 >
Arccore::String
Chaîne de caractères unicode.
Definition
arccore/src/base/arccore/base/String.h:70
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AcceleratorGlobal.h:36
arcane
impl
LoadBalanceMng.h
Généré le Lundi 18 Novembre 2024 03:01:33 pour Arcane par
1.9.8