+
+
+ printf("[%d] second sndbuf=[", rank);
+ for (i = 0; i < 1; i++)
+ printf("%d ", sb[i]);
+ printf("]\n");
+
+ root=size-1;
+ status = MPI_Reduce(sb, rb, 1, MPI_INT, MPI_PROD, root, MPI_COMM_WORLD);
+ MPI_Barrier(MPI_COMM_WORLD);
+
+ if (rank == root) {
+ printf("[%d] rcvbuf=[", rank);
+ for (i = 0; i < 1; i++)
+ printf("%d ", rb[i]);
+ printf("]\n");
+ if (status != MPI_SUCCESS) {
+ printf("all_to_all returned %d\n", status);
+ fflush(stdout);
+ }
+ }