Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IDispatchers.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/* IDispatchers.h (C) 2000-2024 */
9/* */
10/* Interface du conteneur des dispatchers. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCCORE_MESSAGEPASSING_IDISPATCHERS_H
13#define ARCCORE_MESSAGEPASSING_IDISPATCHERS_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
23{
24class IControlDispatcher;
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \brief Interface du conteneur des dispatchers.
30 */
31class ARCCORE_MESSAGEPASSING_EXPORT IDispatchers
32{
33 public:
34
35 virtual ~IDispatchers() = default;
36
37 public:
38
39 virtual ITypeDispatcher<char>* dispatcher(char*) = 0;
40 virtual ITypeDispatcher<signed char>* dispatcher(signed char*) = 0;
41 virtual ITypeDispatcher<unsigned char>* dispatcher(unsigned char*) = 0;
42 virtual ITypeDispatcher<short>* dispatcher(short*) = 0;
43 virtual ITypeDispatcher<unsigned short>* dispatcher(unsigned short*) = 0;
44 virtual ITypeDispatcher<int>* dispatcher(int*) = 0;
45 virtual ITypeDispatcher<unsigned int>* dispatcher(unsigned int*) = 0;
46 virtual ITypeDispatcher<long>* dispatcher(long*) = 0;
47 virtual ITypeDispatcher<unsigned long>* dispatcher(unsigned long*) = 0;
48 virtual ITypeDispatcher<long long>* dispatcher(long long*) = 0;
49 virtual ITypeDispatcher<unsigned long long>* dispatcher(unsigned long long*) = 0;
50 virtual ITypeDispatcher<float>* dispatcher(float*) = 0;
51 virtual ITypeDispatcher<double>* dispatcher(double*) = 0;
52 virtual ITypeDispatcher<long double>* dispatcher(long double*) = 0;
53 virtual ITypeDispatcher<BFloat16>* dispatcher(BFloat16*) = 0;
54 virtual ITypeDispatcher<Float16>* dispatcher(Float16*) = 0;
55
56 virtual IControlDispatcher* controlDispatcher() = 0;
57 virtual ISerializeDispatcher* serializeDispatcher() = 0;
58};
59
60/*---------------------------------------------------------------------------*/
61/*---------------------------------------------------------------------------*/
62
63} // End namespace Arccore::MessagePassing
64
65/*---------------------------------------------------------------------------*/
66/*---------------------------------------------------------------------------*/
67
68#endif
Déclarations générales de la composante 'message_passing'.
Type flottant demi-précision.
Interface du conteneur des dispatchers.
Interface des messages de sérialisation.
Espace de nommage contenant les types et déclarations qui gèrent le mécanisme de parallélisme par éch...