Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IParallelSort.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/* IParallelSort.h (C) 2000-2024 */
9/* */
10/* Interface d'un algorithme de tri parallèle. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13#ifndef ARCANE_CORE_IPARALLELSORT_H
14#define ARCANE_CORE_IPARALLELSORT_H
15/*---------------------------------------------------------------------------*/
16/*---------------------------------------------------------------------------*/
17
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane::Parallel
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
41template <typename KeyType>
43{
44 public:
45
46 virtual ~IParallelSort() = default;
47
48 public:
49
57
59 virtual ConstArrayView<KeyType> keys() const = 0;
60
62 virtual Int32ConstArrayView keyRanks() const = 0;
63
65 virtual Int32ConstArrayView keyIndexes() const = 0;
66};
67
68/*---------------------------------------------------------------------------*/
69/*---------------------------------------------------------------------------*/
70
71} // namespace Arcane::Parallel
72
73/*---------------------------------------------------------------------------*/
74/*---------------------------------------------------------------------------*/
75
76#endif
Fichier de configuration d'Arcane.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Interface d'un algorithme de tri parallèle.
virtual ConstArrayView< KeyType > keys() const =0
Tableau des clés.
virtual Int32ConstArrayView keyIndexes() const =0
Tableau des indices de la clé dans le processeur d'origine.
virtual Int32ConstArrayView keyRanks() const =0
Tableau des rangs du processeur d'origine contenant la clé
virtual void sort(ConstArrayView< KeyType > keys)=0
Tri en parallèle les clés keys.
Vue constante d'un tableau de type T.
Implémentation de la concurrence.