}else if(req->flags & RECV){//apply op on contiguous buffer for accumulate
int n =req->real_size/smpi_datatype_size(datatype);
smpi_op_apply(req->op, req->buf, req->old_buf, &n, &datatype);
+ xbt_free(req->buf);
}
}
}
for(j = 0; j < count; j++) {
if(rankmap[2 * j] != 0) {
group_snd[reqs]=smpi_group_copy(group_out);
- requests[reqs] = smpi_isend_init(&(group_snd[reqs]), 1, MPI_PTR, rankmap[2 * j], system_tag, comm);
+ requests[reqs] = smpi_mpi_isend(&(group_snd[reqs]), 1, MPI_PTR, rankmap[2 * j], system_tag, comm);
reqs++;
}
}
if(i != 0) {
smpi_group_destroy(group_out);
}
- smpi_mpi_startall(reqs, requests);
smpi_mpi_waitall(reqs, requests, MPI_STATUS_IGNORE);
xbt_free(requests);
}