PS: extra question qsub -I -q standby -l select=1:ncpus=8 mpirun -np 4 ./hello running mpdallexit on steele-a137.rcac.purdue.edu LAUNCHED mpd on steele-a137.rcac.purdue.edu via RUNNING: mpd on steele-a137.rcac.purdue.edu steele-a137.rcac.purdue.edu_36959 (172.18.24.147) time for 100 loops = 2.98023223877e-05 seconds too few entries in machinefile
the mpi program supposed to print 4 hello msg since there r four processors. but for some reasons, it doesn't print thanks winthan On Tue, Dec 23, 2008 at 1:23 PM, Eugene Loh <eugene....@sun.com> wrote: > Win Than Aung wrote: > > MPI_Recv(....) << is it possible to receive the message sent from other >> sources? I tried MPI_ANY_SOURCE in place of source but it doesn't work out >> > > Yes of course. Can you send a short example of what doesn't work? The > example should presumably be less than about 20 lines. Here is an example > that works: > > % cat a.c > #include <stdio.h> > #include <mpi.h> > > int main(int argc, char **argv) { > int np, me, sbuf = -1, rbuf = -2; > > MPI_Init(&argc,&argv); > MPI_Comm_size(MPI_COMM_WORLD,&np); > MPI_Comm_rank(MPI_COMM_WORLD,&me); > if ( np < 2 ) MPI_Abort(MPI_COMM_WORLD,-1); > > if ( me == 1 ) MPI_Send(&sbuf,1,MPI_INT,0,344,MPI_COMM_WORLD); > if ( me == 0 ) { > > MPI_Recv(&rbuf,1,MPI_INT,MPI_ANY_SOURCE,344,MPI_COMM_WORLD,MPI_STATUS_IGNORE); > if ( rbuf == sbuf ) printf("Send/Recv self passed\n"); > else printf("Send/Recv self FAILED\n"); > } > > MPI_Finalize(); > > return 0; > } > % mpicc a.c > % mpirun -np 2 a.out > Send/Recv self passed > % > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users >