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
>

Reply via email to