- ss = size-ii < bblock ? size-ii : bblock;
- count = 0;
-
- /* do the communication -- post ss sends and receives: */
- for ( i=0; i<ss; i++ ) {
- dst = (rank+i+ii) % size;
- if (dst == rank) {
- XBT_DEBUG("<%d> skip request creation [src = %d, recvcount = %d]",
- rank, i, recvcounts[dst]);
- continue;
- }
-
- requests[count]=Request::irecv((char *)recvbuf + recvdisps[dst] * recvext, recvcounts[dst],
- recvtype, dst, system_tag, comm );
- count++;
- }
- /* Now create all sends */
- for ( i=0; i<ss; i++ ) {
- dst = (rank-i-ii+size) % size;
- if (dst == rank) {
- XBT_DEBUG("<%d> skip request creation [dst = %d, sendcount = %d]",
- rank, i, sendcounts[dst]);
- continue;
- }
- requests[count]=Request::isend((char *)sendbuf + senddisps[dst] * sendext, sendcounts[dst],
- sendtype, dst, system_tag, comm);
- count++;
- }
- /* Wait for them all. */
- //smpi_mpi_startall(count, requests);
- XBT_DEBUG("<%d> wait for %d requests", rank, count);
- Request::waitall(count, requests, MPI_STATUSES_IGNORE);
- xbt_free(requests);
-
- }
+ /* do the communication -- post ss sends and receives: */
+ for (i = 0; i < ss; i++) {
+ dst = (rank + i + ii) % size;
+ if (dst == rank) {
+ XBT_DEBUG("<%d> skip request creation [src = %d, recvcount = %d]", rank, i, recvcounts[dst]);
+ continue;
+ }