IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
Wait.h
Go to the documentation of this file.
1
//
2
// Global MPI Wait functions
3
// Defines wait functions for non-blocking send/receive communication.
4
//
5
#ifndef IPPL_MPI_WAIT_H
6
#define IPPL_MPI_WAIT_H
7
8
#include <iterator>
9
10
#include "
Communicate/Request.h
"
11
12
namespace
ippl
{
13
namespace
mpi
{
14
template
<std::contiguous_iterator InputIter, std::contiguous_iterator OutputIter>
15
void
waitall
(InputIter req_first, InputIter req_last, OutputIter sta_first) {
16
auto
count = std::distance(req_first, req_last);
17
MPI_Waitall(count, *req_first, *sta_first);
18
}
19
20
void
wait
(
Request
& request,
Status
& status) {
21
MPI_Wait(request, status);
22
}
23
24
}
// namespace mpi
25
}
// namespace ippl
26
27
#endif
Request.h
ippl
Definition
Archive.h:20
ippl::mpi
Definition
Buffers.cpp:28
ippl::mpi::wait
void wait(Request &request, Status &status)
Definition
Wait.h:20
ippl::mpi::waitall
void waitall(InputIter req_first, InputIter req_last, OutputIter sta_first)
Definition
Wait.h:15
ippl::mpi::Request
Definition
Request.h:13
ippl::mpi::Status
Definition
Status.h:14