Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
MetisGraphGather.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/* MetisGraphGather.h (C) 2000-2024 */
9/* */
10/* Regroupement de graphes de 'Parmetis'. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_STD_INTERNAL_METISGRAPHGATHER
13#define ARCANE_STD_INTERNAL_METISGRAPHGATHER
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/Array.h"
18#include "arcane/utils/String.h"
19#include "arcane/utils/TraceAccessor.h"
20
22
23#include "arcane/std/internal/MetisGraph.h"
24
25#include <parmetis.h>
26#include <mpi.h>
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31namespace Arcane
32{
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
36
38: public TraceAccessor
39{
40 public:
41
42 explicit MetisGraphGather(IParallelMng* pm);
43
44 public:
45
52
59
60 private:
61
62 IParallelMng* m_parallel_mng = nullptr;
63 Int32 m_my_rank = A_NULL_RANK;
64 Int32 m_nb_rank = A_NULL_RANK;
65
66 private:
67
68 template <class SourceType, class TargetType>
69 void _convertVector(const int size, ConstArrayView<SourceType> src, ArrayView<TargetType> dest);
70};
71
72/*---------------------------------------------------------------------------*/
73/*---------------------------------------------------------------------------*/
74
75} // End namespace Arcane
76
77/*---------------------------------------------------------------------------*/
78/*---------------------------------------------------------------------------*/
79
80#endif
Déclarations des types généraux de Arcane.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
void scatterPart(ConstArrayView< idx_t > vtxdist, ConstArrayView< idx_t > part, ArrayView< idx_t > my_part)
Distribue le partitionnement "part" depuis le processeur de rang 0 dans le communicateur "comm" sur t...
void gatherGraph(const bool need_part, ConstArrayView< idx_t > vtxdist, const int ncon, MetisGraphView my_graph, MetisGraph &graph)
Effectue un regroupement du graphe ParMetis "my_graph" sur le processeur de rang 0 dans le communicat...
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-