A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Merge branch 'master' of https://framagit.org/simgrid/simgrid
[simgrid.git]
/
src
/
smpi
/
mpi
/
smpi_request.cpp
diff --git
a/src/smpi/mpi/smpi_request.cpp
b/src/smpi/mpi/smpi_request.cpp
index f2a700da718440e2533f4d6733e60e57c42fb03b..6b58173182989f68e38988bf961d2741410536be 100644
(file)
--- a/
src/smpi/mpi/smpi_request.cpp
+++ b/
src/smpi/mpi/smpi_request.cpp
@@
-369,7
+369,6
@@
int Request::recv(void *buf, int count, MPI_Datatype datatype, int src, int tag,
{
MPI_Request request = irecv(buf, count, datatype, src, tag, comm);
int retval = wait(&request,status);
- request = nullptr;
return retval;
}
@@
-382,7
+381,6
@@
void Request::bsend(const void *buf, int count, MPI_Datatype datatype, int dst,
if(dst != MPI_PROC_NULL)
request->start();
wait(&request, MPI_STATUS_IGNORE);
- request = nullptr;
}
void Request::send(const void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm)
@@
-393,7
+391,6
@@
void Request::send(const void *buf, int count, MPI_Datatype datatype, int dst, i
if(dst != MPI_PROC_NULL)
request->start();
wait(&request, MPI_STATUS_IGNORE);
- request = nullptr;
}
void Request::ssend(const void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm)
@@
-405,7
+402,6
@@
void Request::ssend(const void *buf, int count, MPI_Datatype datatype, int dst,
if(dst != MPI_PROC_NULL)
request->start();
wait(&request,MPI_STATUS_IGNORE);
- request = nullptr;
}
void Request::sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,int dst, int sendtag,
@@
-532,15
+528,13
@@
void Request::start()
comm_->increment_sent_messages_count(comm_->group()->rank(src_), comm_->group()->rank(dst_), tag_);
void* buf = buf_;
- if ((flags_ & MPI_REQ_SSEND) == 0 &&
- ((flags_ & MPI_REQ_RMA) != 0 || (flags_ & MPI_REQ_BSEND) != 0 ||
- static_cast<int>(size_) < smpi_cfg_detached_send_thresh())) {
- void *oldbuf = nullptr;
+ if ((flags_ & MPI_REQ_SSEND) == 0 && ((flags_ & MPI_REQ_RMA) != 0 || (flags_ & MPI_REQ_BSEND) != 0 ||
+ static_cast<int>(size_) < smpi_cfg_detached_send_thresh())) {
detached_ = true;
XBT_DEBUG("Send request %p is detached", this);
this->ref();
if (not(type_->flags() & DT_FLAG_DERIVED)) {
- oldbuf = buf_;
+
void*
oldbuf = buf_;
if (not process->replaying() && oldbuf != nullptr && size_ != 0) {
if (smpi_switch_data_segment(simgrid::s4u::Actor::by_pid(src_), buf_))
XBT_DEBUG("Privatization : We are sending from a zone inside global memory. Switch data segment ");