Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IParallelNonBlockingCollectiveDispatch.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* IParallelNonBlockingCollectiveDispatch.h (C) 2000-2015 */
9/* */
10/* Interface des collectives non blocantes pour un type donné. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IPARALLELNONBLOCKINGCOLLECTIVEDISPATCH_H
13#define ARCANE_IPARALLELNONBLOCKINGCOLLECTIVEDISPATCH_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18#include "arcane/Parallel.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23ARCANE_BEGIN_NAMESPACE
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \internal
29 * \brief Interface des collectives non blocantes pour le type \a Type.
30 */
31template<class Type>
33{
34 public:
37 public:
39 virtual void finalize() =0;
40 public:
41 virtual Request broadcast(ArrayView<Type> send_buf,Integer sub_domain) =0;
42 virtual Request allGather(ConstArrayView<Type> send_buf,ArrayView<Type> recv_buf) =0;
43 virtual Request allGatherVariable(ConstArrayView<Type> send_buf,Array<Type>& recv_buf) =0;
44 virtual Request gather(ConstArrayView<Type> send_buf,ArrayView<Type> recv_buf,Integer rank) =0;
45 virtual Request gatherVariable(ConstArrayView<Type> send_buf,Array<Type>& recv_buf,Integer rank) =0;
46 virtual Request scatterVariable(ConstArrayView<Type> send_buf,ArrayView<Type> recv_buf,Integer root) =0;
47 virtual Request allToAll(ConstArrayView<Type> send_buf,ArrayView<Type> recv_buf,Integer count) =0;
48 virtual Request allToAllVariable(ConstArrayView<Type> send_buf,Int32ConstArrayView send_count,
49 Int32ConstArrayView send_index,ArrayView<Type> recv_buf,
50 Int32ConstArrayView recv_count,Int32ConstArrayView recv_index) =0;
51 virtual Request allReduce(eReduceType op,ConstArrayView<Type> send_buf,ArrayView<Type> recv_buf) =0;
52};
53
54/*---------------------------------------------------------------------------*/
55/*---------------------------------------------------------------------------*/
56
57ARCANE_END_NAMESPACE
58
59/*---------------------------------------------------------------------------*/
60/*---------------------------------------------------------------------------*/
61
62#endif
63
Vue modifiable d'un tableau d'un type T.
Classe de base des vecteurs 1D de données.
Vue constante d'un tableau de type T.
Requête d'un message.
Definition Request.h:77
eReduceType
Types des réductions supportées.