status->MPI_TAG = (*request)->tag;
status->MPI_ERROR = MPI_SUCCESS;
status->_count = (*request)->size; // size in bytes
- status->_cancelled = 0; // FIXME: cancellation of requests not handled yet
+ status->_cancelled = 0; // FIXME: cancellation of requests not handled yet
}
DEBUG3("finishing wait for %p [data = %p, complete = %d]", *request, data, data->complete);
// data == *request if sender is first to finish its wait
int rank, size, src, index, datasize;
MPI_Request* requests;
void** tmpbufs;
-
+
rank = smpi_comm_rank(comm);
size = smpi_comm_size(comm);
if(rank != root) {
} else {
datasize = smpi_datatype_size(datatype);
// Local copy from root
- memcpy(recvbuf, sendbuf, count * datasize * sizeof(char));
+ memcpy(recvbuf, sendbuf, count * datasize * sizeof(char));
// Receive buffers from senders
//TODO: make a MPI_barrier here ?
requests = xbt_new(MPI_Request, size - 1);
int rank, size, other, index, datasize;
MPI_Request* requests;
void** tmpbufs;
-
+
rank = smpi_comm_rank(comm);
size = smpi_comm_size(comm);
datasize = smpi_datatype_size(datatype);
// Local copy from self
- memcpy(recvbuf, sendbuf, count * datasize * sizeof(char));
+ memcpy(recvbuf, sendbuf, count * datasize * sizeof(char));
// Send/Recv buffers to/from others;
//TODO: make a MPI_barrier here ?
requests = xbt_new(MPI_Request, 2 * (size - 1));
int total;
MPI_Request* requests;
void** tmpbufs;
-
+
rank = smpi_comm_rank(comm);
size = smpi_comm_size(comm);
datasize = smpi_datatype_size(datatype);
// Local copy from self
- memcpy(recvbuf, sendbuf, count * datasize * sizeof(char));
+ memcpy(recvbuf, sendbuf, count * datasize * sizeof(char));
// Send/Recv buffers to/from others;
total = rank + (size - (rank + 1));
requests = xbt_new(MPI_Request, total);