Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Terry.Dontje_at_[hidden]
Date: 2007-08-30 12:25:16


Li-Ta Lo wrote:

>On Wed, 2007-08-29 at 14:06 -0400, Terry D. Dontje wrote:
>
>
>>hmmm, interesting since my version doesn't abort at all.
>>
>>
>>
>
>
>Some problem with fortran compiler/language binding? My C translation
>doesn't have any problem.
>
>[ollie_at_exponential ~]$ mpirun -np 4 a.out 10
>Target duration (seconds): 10.000000, #of msgs: 50331, usec per msg:
>198.684707
>
>
>
Did you oversubscribe? I found np=10 on a 8 core system clogged things
up sufficiently.

--td

>Ollie
>
>
>
>------------------------------------------------------------------------
>
>#include <stdlib.h>
>#include <stdio.h>
>#include <mpi.h>
>
>int main(int argc, char *argv[])
>{
> double duration = 10, endtime;
> long nmsgs = 1;
> int keep_going = 1, rank, size;
> MPI_Status status;
>
> MPI_Init(&argc, &argv);
> MPI_Comm_rank(MPI_COMM_WORLD, &rank);
> MPI_Comm_size(MPI_COMM_WORLD, &size);
>
> if (size == 1) {
> fprintf(stderr, "Need at least 2 processes\n");
> } else if (rank == 0) {
> duration = strtod(argv[1], NULL);
> endtime = MPI_Wtime() + duration;
>
> do {
> MPI_Send(&keep_going, 1, MPI_INT, 1, 0x11, MPI_COMM_WORLD);
> nmsgs += 1;
> } while (MPI_Wtime() < endtime);
>
> keep_going = 0;
> MPI_Send(&keep_going, 1, MPI_INT, 1, 0x11, MPI_COMM_WORLD);
>
> fprintf(stderr, "Target duration (seconds): %f, #of msgs: %d, usec per msg: %f\n",
> duration, nmsgs, 1.0e6*duration/nmsgs);
> } else {
> do {
> MPI_Recv(&keep_going, 1, MPI_INT, rank-1, 0x11, MPI_COMM_WORLD, &status);
>
> if (rank == (size-1))
> continue;
>
> MPI_Send(&keep_going, 1, MPI_INT, rank+1, 0x11, MPI_COMM_WORLD);
> } while (keep_going);
> }
>
> MPI_Finalize();
>
>}
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>devel mailing list
>devel_at_[hidden]
>http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
>