Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
MpiRequestList.cc
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/* MpiRequestList.cc (C) 2000-2020 */
9/* */
10/* Classe de base d'une liste de requêtes. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arccore/message_passing_mpi/MpiRequestList.h"
15#include "arccore/message_passing_mpi/MpiAdapter.h"
16
17/*---------------------------------------------------------------------------*/
18/*---------------------------------------------------------------------------*/
19
20namespace Arccore::MessagePassing::Mpi
21{
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
28{
29 switch(wait_type){
30 case WaitAll:
31 m_adapter->waitAllRequests(_requests());
32 break;
33 case WaitSome:
34 _doWaitSome(false);
35 break;
37 _doWaitSome(true);
38 break;
39 }
40}
41
42/*---------------------------------------------------------------------------*/
43/*---------------------------------------------------------------------------*/
44
45void MpiRequestList::
46_doWaitSome(bool is_non_blocking)
47{
49 m_requests_status.resize(nb_request);
50 m_adapter->waitSomeRequests(_requests(),_requestsDone(), is_non_blocking);
51}
52
53/*---------------------------------------------------------------------------*/
54/*---------------------------------------------------------------------------*/
55
56} // End namespace Arccore::MessagePassing::Mpi
57
58/*---------------------------------------------------------------------------*/
59/*---------------------------------------------------------------------------*/
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
void resize(Int64 s)
Change le nombre d'éléments du tableau à s.
void _wait(eWaitType wait_type) override
Effectue l'attente ou le test.
Int32 size() const override
Nombre de requêtes.
@ WaitSome
Attend que tous les messages de la liste soient traités.
Int32 Integer
Type représentant un entier.