Arcane  v3.16.8.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IParallelMngInternal.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* IParallelMngInternal.h (C) 2000-2025 */
9/* */
10/* Partie interne à Arcane de IParallelMng. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_INTERNAL_IPARALLELMNGINTERNAL_H
13#define ARCANE_CORE_INTERNAL_IPARALLELMNGINTERNAL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28namespace MessagePassing
29{
32}
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
40class ARCANE_CORE_EXPORT IParallelMngInternal
41{
42 public:
43
44 virtual ~IParallelMngInternal() = default;
45
46 public:
47
49 virtual Runner runner() const = 0;
50
52 virtual RunQueue queue() const = 0;
53
60 virtual bool isAcceleratorAware() const = 0;
61
64
65 virtual void setDefaultRunner(const Runner& runner) = 0;
66
77
88};
89
90/*---------------------------------------------------------------------------*/
91/*---------------------------------------------------------------------------*/
92
93} // namespace Arcane
94
95/*---------------------------------------------------------------------------*/
96/*---------------------------------------------------------------------------*/
97
98#endif
Déclarations des types généraux de Arcane.
File d'exécution pour un accélérateur.
Gestionnaire d'exécution pour accélérateur.
Definition core/Runner.h:68
Partie interne de IParallelMng.
virtual RunQueue queue() const =0
File par défaut pour les messages. Peut être nul.
virtual bool isAcceleratorAware() const =0
Indique si l'implémentation gère les accélérateurs.
virtual Ref< MessagePassing::IMachineMemoryWindowBaseInternal > createMachineMemoryWindowBase(Int64 sizeof_segment, Int32 sizeof_type)=0
Méthode permettant de créer une fenêtre mémoire sur le noeud.
virtual Ref< MessagePassing::IDynamicMachineMemoryWindowBaseInternal > createDynamicMachineMemoryWindowBase(Int64 sizeof_segment, Int32 sizeof_type)=0
Méthode permettant de créer une fenêtre mémoire dynamique sur le noeud.
virtual Ref< IParallelMng > createSubParallelMngRef(Int32 color, Int32 key)=0
Créé un sous IParallelMng de manière similaire à MPI_Comm_split.
virtual Runner runner() const =0
Runner par défaut. Peut être nul.
Classe permettant de créer des fenêtres mémoires pour un noeud de calcul.
Classe permettant de créer une fenêtre mémoire pour un noeud de calcul.
Référence à une instance.
Déclarations des types et méthodes utilisés par les mécanismes d'échange de messages.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int64_t Int64
Type entier signé sur 64 bits.
std::int32_t Int32
Type entier signé sur 32 bits.