Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI users] sending message to the source(0) from other processors
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2008-12-23 14:15:59


This looks like a question for the MPICH2 developers.

Specifically, it looks like you are using MPICH2, not Open MPI. They
are entirely different software packages maintained by different
people -- we're not really qualified to answer questions about
MPICH2. The top-level API is the same between the two (meaning that
you can compile and run your app in either Open MPI or MPICH2), but
that's where the similarities end.

On Dec 23, 2008, at 2:07 PM, Win Than Aung wrote:

> 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.Loh_at_[hidden]>
> 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
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Jeff Squyres
Cisco Systems