- for(i=0;i<j*tasks;i++) out[i] = myself;
-
- MPI_Alltoall(out,j,MPI_INT,in,j,MPI_INT,MPI_COMM_WORLD);
-
- for(i=0;i<tasks;i++) {
- for(k=0;k<j;k++) {
- if(in[k+i*j] != i) { printf("bad answer (%d) at index %d of %d (should be %d)\n",in[k+i*j],k+i*j,j*tasks,i); break; }
- }
- }
+ if ( 0 == myself ) {
+ printf("* calling MPI_Alltoall with buffers of %d ints\n",j);
+ }
+ for(i=0;i<j*tasks;i++)
+ out[i] = myself;
+
+ MPI_Alltoall(out,j,MPI_INT,in,j,MPI_INT,MPI_COMM_WORLD);
+
+ for(i=0;i<tasks;i++) {
+ for(k=0;k<j;k++) {
+ if(in[k+i*j] != i) {
+ printf("<%d> bad answer (%d) at index %d of %d (should be %d)\n",myself,in[k+i*j],k+i*j,j*tasks,i);
+ break;
+ }
+ }
+ }