From 189f463aedf5f30f719709ec33a214063241d942 Mon Sep 17 00:00:00 2001 From: genaud Date: Thu, 16 Jul 2009 10:36:34 +0000 Subject: [PATCH] update test git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6514 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- examples/smpi/Makefile.am | 7 ++++- examples/smpi/sendrecv.c | 61 +++++++++++++++++++++++++++++++-------- src/smpi/smpi_mpi.c | 8 ++--- 3 files changed, 59 insertions(+), 17 deletions(-) diff --git a/examples/smpi/Makefile.am b/examples/smpi/Makefile.am index 0e55db25e9..7c4beba706 100644 --- a/examples/smpi/Makefile.am +++ b/examples/smpi/Makefile.am @@ -14,7 +14,8 @@ # /tools/tesh/README.tesh # - List the tesh file in the TESTS variable so that it gets tested on make check -noinst_PROGRAMS = allreduce bcast bcbench compute compute2 compute3 first second mvmul ring_c split scatter reduce sendrecv +noinst_PROGRAMS = allreduce bcast bcbench compute compute2 compute3 first pingpong second sendrecv mvmul ring_c split scatter reduce + allreduce: allreduce.c $(top_builddir)/src/smpi/smpicc $^ -o $@ bcast: bcast.c @@ -29,6 +30,8 @@ compute3: compute3.c $(top_builddir)/src/smpi/smpicc $^ -o $@ first: mvmul.c $(top_builddir)/src/smpi/smpicc $^ -o $@ +pingpong: pingpong.c + $(top_builddir)/src/smpi/smpicc $^ -o $@ second: second.c $(top_builddir)/src/smpi/smpicc $^ -o $@ scatter: scatter.c @@ -37,6 +40,8 @@ reduce: reduce.c $(top_builddir)/src/smpi/smpicc $^ -o $@ ring_c: ring_c.c $(top_builddir)/src/smpi/smpicc $^ -o $@ +sendrecv: sendrecv.c + $(top_builddir)/src/smpi/smpicc $^ -o $@ split: split.c $(top_builddir)/src/smpi/smpicc $^ -o $@ mvmul: mvmul.c diff --git a/examples/smpi/sendrecv.c b/examples/smpi/sendrecv.c index 7b11ce0bac..da30874b9a 100644 --- a/examples/smpi/sendrecv.c +++ b/examples/smpi/sendrecv.c @@ -1,26 +1,63 @@ #include "mpi.h" #include - -int main(int argc, char *argv[]) -{ -#define TAG_RCV 998 + +int test(int myid, int numprocs) { +// The tags should match on the sender and receiver side. +// The distinction between sendtag and recvtag is mainly +// useful to make some other Recv or Send calls match the sendrecv. +#define TAG_RCV 999 #define TAG_SND 999 - int myid, numprocs, left, right; - int buffer[10], buffer2[10]; + + +#define BUFLEN 10 + int left, right; + int buffer[BUFLEN], buffer2[BUFLEN]; + int i; MPI_Request request; MPI_Status status; - - MPI_Init(&argc,&argv); - MPI_Comm_size(MPI_COMM_WORLD, &numprocs); - MPI_Comm_rank(MPI_COMM_WORLD, &myid); - + + for (i=0;i dst=%d (retval=%d)\n",rank,rank,dest,retval); + //printf("[%d] isend request src=%d -> dst=%d (retval=%d)\n",rank,rank,dest,retval); smpi_mpi_isend(srequest); @@ -221,17 +221,17 @@ smpi_mpi_request_t rrequest; retval = smpi_create_request(recvbuf, recvcount, recvtype, source, rank,recvtag, comm, &rrequest); - printf("[%d] irecv request src=%d -> dst=%d (retval=%d)\n",rank,source,rank,retval); + //printf("[%d] irecv request src=%d -> dst=%d (retval=%d)\n",rank,source,rank,retval); smpi_mpi_irecv(rrequest); //retval = MPI_Irecv( recvbuf, recvcount, recvtype, source, recvtag, MPI_COMM_WORLD, &rrequest); smpi_mpi_wait(srequest, MPI_STATUS_IGNORE); - printf("[%d] isend request src=%d dst=%d tag=%d COMPLETED (retval=%d) \n",rank,rank,dest,sendtag,retval); + //printf("[%d] isend request src=%d dst=%d tag=%d COMPLETED (retval=%d) \n",rank,rank,dest,sendtag,retval); smpi_mpi_wait(rrequest, MPI_STATUS_IGNORE); - printf("[%d] irecv request src=%d -> dst=%d tag=%d COMPLETED (retval=%d)\n",rank,source,rank,recvtag,retval); + //printf("[%d] irecv request src=%d -> dst=%d tag=%d COMPLETED (retval=%d)\n",rank,source,rank,recvtag,retval); return(retval); } -- 2.20.1