12 int main( int argc, char *argv[] )
20 MPI_Init(&argc,&argv);
21 MPI_Comm_rank(MPI_COMM_WORLD,&rank);
22 MPI_Comm_size(MPI_COMM_WORLD,&size);
24 sb = (int *)malloc(size*sizeof(int));
26 perror( "can't allocate send buffer" );fflush(stderr);
27 MPI_Abort(MPI_COMM_WORLD,EXIT_FAILURE);
29 rb = (int *)malloc(size*sizeof(int));
31 perror( "can't allocate recv buffer");fflush(stderr);
33 MPI_Abort(MPI_COMM_WORLD, EXIT_FAILURE);
35 for ( i=0 ; i < size ; ++i ) {
39 status = MPI_Alltoall(sb, 1, MPI_INT, rb, 1, MPI_INT, MPI_COMM_WORLD);
41 printf("[%d] rcvbuf=[",rank);
49 printf("all_to_all returned %d\n",gstatus);fflush(stdout);