Arcane  v3.14.10.0
Documentation développeur
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/*---------------------------------------------------------------------------*/
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.
Manage control streams for parallel messages.
Interface du conteneur des dispatchers.
Interface des messages de sérialisation.
Gestion des messages parallèles pour le type Type.
Espace de nommage contenant les types et déclarations qui gèrent le mécanisme de parallélisme par éch...