Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
remove older mpich test suite
[simgrid.git] / teshsuite / smpi / mpich-test / pt2pt / longmsgs.c
diff --git a/teshsuite/smpi/mpich-test/pt2pt/longmsgs.c b/teshsuite/smpi/mpich-test/pt2pt/longmsgs.c
deleted file mode 100644 (file)
index 154c945..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-#include "test.h"
-#include "mpi.h"
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#define MIN_MESSAGE_LENGTH 256
-#define MAX_MESSAGE_LENGTH (16*1024*1024)
-#define TAG1 1
-#define TAG2 2
-#define TAG3 3
-#define TAG4 4
-#define TAGSR 101
-
-int verbose = 0;
-
-void Resetbuf( char *, int );
-void Checkbuf( char *, int, MPI_Status * );
-
-void Resetbuf( char *buf, int len )
-{
-    int i;
-    for (i=0; i<len; i++) 
-       buf[i] = 0;
-}
-
-void Checkbuf( char *buf, int len, MPI_Status *status )
-{
-    int count, i;
-    int err = 0;
-    char ival;
-    
-    MPI_Get_count( status, MPI_CHAR, &count );
-    if (count != len) {
-       fprintf( stderr, "Got len of %d but expected %d\n", count, len );
-       err++;
-    }
-    ival = 0;
-    for (i=0; i<len; i++) {
-       if (buf[i] != ival) {
-           err++;
-           fprintf( stderr, 
-                    "Found wrong value in buffer[%d] = %d, expected %d\n",
-                    i, buf[i], ival );
-           if (err > 10) break;
-       }
-       ival++;
-    }
-    if (err) MPI_Abort( MPI_COMM_WORLD, 1 );
-}
-
-int main( int argc, char *argv[] )
-{
-    int msglen, i;
-    int msglen_min = MIN_MESSAGE_LENGTH;
-    int msglen_max = MAX_MESSAGE_LENGTH;
-    int rank,poolsize,Master;
-    char *sendbuf,*recvbuf;
-    char ival;
-    MPI_Request request;
-    MPI_Status status;
-       
-    MPI_Init(&argc,&argv);
-    MPI_Comm_size(MPI_COMM_WORLD,&poolsize);
-    MPI_Comm_rank(MPI_COMM_WORLD,&rank);
-
-    if(poolsize != 2) {
-       printf("Expected exactly 2 MPI processes\n");
-       MPI_Abort( MPI_COMM_WORLD, 1 );
-    }
-
-/* 
-   The following test allows this test to run on small-memory systems
-   that support the sysconf call interface.  This test keeps the test from
-   becoming swap-bound.  For example, on an old Linux system or a
-   Sony Playstation 2 (really!) 
- */
-#if defined(HAVE_SYSCONF) && defined(_SC_PHYS_PAGES) && defined(_SC_PAGESIZE)
-    { 
-       long n_pages, pagesize;
-       int  actmsglen_max;
-       n_pages  = sysconf( _SC_PHYS_PAGES );
-       pagesize = sysconf( _SC_PAGESIZE );
-       /* We want to avoid integer overflow in the size calculation.
-          The best way is to avoid computing any products (such
-          as total memory = n_pages * pagesize) and instead
-          compute a msglen_max that fits within 1/4 of the available 
-          pages */
-       if (n_pages > 0 && pagesize > 0) {
-           /* Recompute msglen_max */
-           int msgpages = 4 * ((msglen_max + pagesize - 1)/ pagesize);
-           while (n_pages < msgpages) { msglen_max /= 2; msgpages /= 2; }
-       }
-       /* printf ( "before = %d\n", msglen_max ); */
-       MPI_Allreduce( &msglen_max, &actmsglen_max, 1, MPI_INT, 
-                      MPI_MIN, MPI_COMM_WORLD );
-       msglen_max = actmsglen_max;
-       /* printf ( "after = %d\n", msglen_max ); */
-    }
-#endif
-
-    Master = (rank == 0);      
-
-    if(Master && verbose)
-       printf("Size (bytes)\n------------\n");
-    for(msglen = msglen_min; msglen <= msglen_max; msglen *= 2) {
-
-       sendbuf = malloc(msglen);
-       recvbuf = malloc(msglen);
-       if(sendbuf == NULL || recvbuf == NULL) {
-           printf("Can't allocate %d bytes\n",msglen);
-           MPI_Abort( MPI_COMM_WORLD, 1 );
-       }
-
-       ival = 0;
-       for (i=0; i<msglen; i++) {
-           sendbuf[i] = ival++;
-           recvbuf[i] = 0;
-       }
-
-
-       if(Master && verbose) 
-           printf("%d\n",msglen);
-       fflush(stdout);
-
-       MPI_Barrier(MPI_COMM_WORLD);
-               
-       /* Send/Recv */
-       if(Master) 
-           MPI_Send(sendbuf,msglen,MPI_CHAR,1,TAG1,MPI_COMM_WORLD);
-       else {
-           Resetbuf( recvbuf, msglen );
-           MPI_Recv(recvbuf,msglen,MPI_CHAR,0,TAG1,MPI_COMM_WORLD,&status);
-           Checkbuf( recvbuf, msglen, &status );
-       }
-
-       MPI_Barrier(MPI_COMM_WORLD);
-
-       /* Ssend/Recv */
-       if(Master) 
-           MPI_Send(sendbuf,msglen,MPI_CHAR,1,TAG2,MPI_COMM_WORLD);
-       else {
-           Resetbuf( recvbuf, msglen );
-           MPI_Recv(recvbuf,msglen,MPI_CHAR,0,TAG2,MPI_COMM_WORLD,&status);
-           Checkbuf( recvbuf, msglen, &status );
-       }
-
-       MPI_Barrier(MPI_COMM_WORLD);
-               
-       /* Rsend/Recv */
-/*     if (Master) {*/
-/*         MPI_Sendrecv( MPI_BOTTOM, 0, MPI_INT, 1, TAGSR,*/
-/*                       MPI_BOTTOM, 0, MPI_INT, 1, TAGSR,*/
-/*                       MPI_COMM_WORLD, &status );*/
-/*         MPI_Rsend( sendbuf,msglen,MPI_CHAR,1,TAG3,MPI_COMM_WORLD );*/
-/*     }*/
-/*     else {*/
-/*         Resetbuf( recvbuf, msglen );*/
-/*         MPI_Irecv( recvbuf,msglen,MPI_CHAR,0,TAG3,MPI_COMM_WORLD,&request);*/
-/*         MPI_Sendrecv( MPI_BOTTOM, 0, MPI_INT, 0, TAGSR,*/
-/*                       MPI_BOTTOM, 0, MPI_INT, 0, TAGSR,*/
-/*                       MPI_COMM_WORLD, &status );*/
-/*         MPI_Wait( &request, &status );*/
-/*         Checkbuf( recvbuf, msglen, &status );*/
-/*     }*/
-/*         */
-/*     MPI_Barrier(MPI_COMM_WORLD);*/
-
-       /* Isend/Recv - receive not ready */
-       if(Master) {
-           MPI_Sendrecv( MPI_BOTTOM, 0, MPI_INT, 1, TAGSR,
-                         MPI_BOTTOM, 0, MPI_INT, 1, TAGSR,
-                         MPI_COMM_WORLD, &status );
-           MPI_Isend(sendbuf,msglen,MPI_CHAR,1,TAG4,MPI_COMM_WORLD, &request);
-           MPI_Wait( &request, &status );
-       }
-       else {
-           Resetbuf( recvbuf, msglen );
-           MPI_Sendrecv( MPI_BOTTOM, 0, MPI_INT, 0, TAGSR,
-                         MPI_BOTTOM, 0, MPI_INT, 0, TAGSR,
-                         MPI_COMM_WORLD, &status );
-           MPI_Recv(recvbuf,msglen,MPI_CHAR,0,TAG4,MPI_COMM_WORLD,&status);
-           Checkbuf( recvbuf, msglen, &status );
-       }
-
-       MPI_Barrier(MPI_COMM_WORLD);
-
-       free(sendbuf);
-       free(recvbuf);
-    }
-
-    if (rank == 0) {
-       /* If we do not abort, we saw no errors */
-       printf( " No Errors\n" );
-    }
-
-    MPI_Finalize();
-    return 0;
-}