int* sb = (int *) xbt_malloc(recv_counts[rank] * sizeof(int));
int* rb = (int *) xbt_malloc(recv_sb_size * sizeof(int));
- for (i = 0; i < recv_counts[rank]; ++i)
- sb[i] = recv_disps[rank] + i;
- for (i = 0; i < recv_sb_size; ++i)
- rb[i] = -1;
-
printf("[%d] sndbuf=[", rank);
- for (i = 0; i < recv_counts[rank]; i++)
+ for (i = 0; i < recv_counts[rank]; i++){
+ sb[i] = recv_disps[rank] + i;
printf("%d ", sb[i]);
+ }
printf("]\n");
+ for (i = 0; i < recv_sb_size; i++)
+ rb[i] = -1;
+
status = MPI_Allgatherv(sb, recv_counts[rank], MPI_INT, rb, recv_counts, recv_disps, MPI_INT, MPI_COMM_WORLD);
printf("[%d] rcvbuf=[", rank);