MCPcopy Create free account
hub / github.com/AMReX-Codes/amrex / PostSends

Function PostSends

Src/Base/AMReX_NonLocalBC.cpp:125–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

123}
124
125void PostSends(CommData& send, int mpi_tag) {
126 const auto n_sends = send.data.size();
127 AMREX_ASSERT(n_sends == send.size.size());
128 AMREX_ASSERT(n_sends == send.rank.size());
129 AMREX_ASSERT(n_sends == send.request.size());
130 MPI_Comm comm = ParallelContext::CommunicatorSub();
131 for (int j = 0; j < static_cast<int>(n_sends); ++j) {
132 if (send.size[j] > 0) {
133 const int rank = ParallelContext::global_to_local_rank(send.rank[j]);
134 AMREX_ASSERT(send.data[j] != nullptr);
135 send.request[j] =
136 ParallelDescriptor::Asend(send.data[j], send.size[j], rank, mpi_tag, comm).req();
137 }
138 }
139}
140#endif
141
142template MultiBlockCommMetaData ParallelCopy(FabArray<FArrayBox>& dest, const Box& destbox,

Callers 1

Calls 5

CommunicatorSubFunction · 0.85
global_to_local_rankFunction · 0.85
AsendFunction · 0.85
reqMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected