Arcane
4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
MpiParallelNonBlockingCollective.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2026 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
/* MpiParallelNonBlockingCollective.h (C) 2000-2018 */
9
/* */
10
/* Implementation of non-blocking collectives with MPI. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_PARALLEL_MPI_MPIPARALLELNONBLOCKINGCOLLECTIVE_H
13
#define ARCANE_PARALLEL_MPI_MPIPARALLELNONBLOCKINGCOLLECTIVE_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/utils/Array.h"
18
19
#include "arcane/core/ParallelNonBlockingCollectiveDispatcher.h"
20
21
#include "arcane/parallel/mpi/ArcaneMpi.h"
22
23
/*---------------------------------------------------------------------------*/
24
/*---------------------------------------------------------------------------*/
25
26
namespace
Arcane
27
{
28
29
/*---------------------------------------------------------------------------*/
30
/*---------------------------------------------------------------------------*/
34
class
ARCANE_MPI_EXPORT MpiParallelNonBlockingCollective
35
:
public
ParallelNonBlockingCollectiveDispatcher
36
{
37
public
:
38
39
MpiParallelNonBlockingCollective(
ITraceMng
* tm,
IParallelMng
* pm,
MpiAdapter
* adapter);
40
virtual
~MpiParallelNonBlockingCollective();
41
42
public
:
43
44
virtual
void
build
();
45
virtual
Request
barrier
();
46
virtual
bool
hasValidReduceForDerivedType
()
const
;
47
48
private
:
49
50
ITraceMng
* m_trace_mng;
51
MpiAdapter
* m_adapter;
52
};
53
54
/*---------------------------------------------------------------------------*/
55
/*---------------------------------------------------------------------------*/
56
57
}
// End namespace Arcane
58
59
/*---------------------------------------------------------------------------*/
60
/*---------------------------------------------------------------------------*/
61
62
#endif
Arcane::IParallelMng
Interface of the parallelism manager for a subdomain.
Definition
IParallelMng.h:53
Arcane::ITraceMng
Trace manager interface.
Definition
arccore/src/trace/arccore/trace/ITraceMng.h:175
Arcane::MessagePassing::Mpi::MpiAdapter
Adapter for MPI.
Definition
MpiAdapter.h:49
Arcane::MessagePassing::Request
Message request.
Definition
Request.h:84
Arcane::MpiParallelNonBlockingCollective::hasValidReduceForDerivedType
virtual bool hasValidReduceForDerivedType() const
Indicates if the implementation allows reductions on derived types.
Definition
MpiParallelNonBlockingCollective.cc:89
Arcane::MpiParallelNonBlockingCollective::barrier
virtual Request barrier()
Performs a barrier.
Definition
MpiParallelNonBlockingCollective.cc:80
Arcane::MpiParallelNonBlockingCollective::build
virtual void build()
Constructs the instance.
Definition
MpiParallelNonBlockingCollective.cc:49
Arcane
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition
arcane/src/arcane/accelerator/AcceleratorGlobal.h:37
arcane
parallel
mpi
MpiParallelNonBlockingCollective.h
Generated on
for Arcane by
1.16.1