Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
remove older mpich test suite
[simgrid.git] / teshsuite / smpi / mpich-test / pt2pt / flood2.c
diff --git a/teshsuite/smpi/mpich-test/pt2pt/flood2.c b/teshsuite/smpi/mpich-test/pt2pt/flood2.c
deleted file mode 100644 (file)
index 855d38e..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-#include "mpi.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include "test.h"
-
-#define MAX_REQ 32
-#define MAX_MSG_CNT 32000
-#define MAX_MSG 2048
-/* 
-   This program tests a flood of data of short messages to test handling
-   of both incoming messages and internal message queues
- */
-
-void SetupData ( int *, int, int );
-void SetupRdata ( int *, int );
-int  CheckData ( int *, int, int, MPI_Status * );
-
-#ifdef VERBOSE
-static int verbose = 1;
-#else
-static int verbose = 0;
-#endif
-
-
-int main( int argc, char **argv )
-{
-    MPI_Comm comm;
-    MPI_Request r[MAX_REQ];
-    MPI_Status  s[MAX_REQ];
-    int msgsize, maxmsg, root, i, j, size, rank, err = 0, msgcnt, toterr;
-    int *sbuf, *rbuf;
-
-    MPI_Init( &argc, &argv );
-    
-    comm = MPI_COMM_WORLD;
-
-    MPI_Comm_size( comm, &size );
-    MPI_Comm_rank( comm, &rank );
-
-    if (size < 2) {
-       printf( "This test requires at least 2 processors\n" );
-       MPI_Abort( comm, 1 );
-    }
-
-    /* First, try large blocking sends to root */
-    root = 0;
-    
-    maxmsg =  MAX_MSG;
-    msgsize = 128;
-    msgcnt  = MAX_MSG_CNT;
-    if (rank == root && verbose) printf( "Blocking sends: " );
-    while (msgsize <= maxmsg) {
-       if (rank == root) {
-           if (verbose) { printf( "%d ", msgsize ); fflush( stdout ); }
-           rbuf = (int *)malloc( msgsize * sizeof(int) );
-           if (!rbuf) {
-               printf( "Could not allocate %d words\n", msgsize );
-               MPI_Abort( comm, 1 );
-           }
-           for (i=0; i<size; i++) {
-               if (i == rank) continue;
-               for (j=0; j<msgcnt; j++) {
-                   SetupRdata( rbuf, msgsize );
-                   MPI_Recv( rbuf, msgsize, MPI_INT, i, 2*i, comm, s );
-                   err += CheckData( rbuf, msgsize, 2*i, s );
-               }
-           }
-           free( rbuf );
-       }
-       else {
-           sbuf = (int *)malloc( msgsize * sizeof(int) );
-           if (!sbuf) {
-               printf( "Could not allocate %d words\n", msgsize );
-               MPI_Abort( comm, 1 );
-           }
-           SetupData( sbuf, msgsize, 2*rank );
-           for (j=0; j<msgcnt; j++) 
-               MPI_Ssend( sbuf, msgsize, MPI_INT, root, 2*rank, comm );
-           free( sbuf );
-       }
-       msgsize *= 4;
-    }
-    if (rank == 0 && verbose) { printf( "\n" ); fflush( stdout ); }
-
-    /* Next, try unexpected messages with Isends */
-    msgsize = 128;
-    maxmsg  = MAX_MSG;
-    msgcnt  = MAX_REQ;
-    if (rank == root && verbose) printf( "Unexpected recvs: " );
-    while (msgsize <= maxmsg) {
-       if (rank == root) {
-           if (verbose) { printf( "%d ", msgsize ); fflush( stdout ); }
-           rbuf = (int *)malloc( msgsize * sizeof(int) );
-           if (!rbuf) {
-               printf( "Could not allocate %d words\n", msgsize );
-               MPI_Abort( comm, 1 );
-           }
-           MPI_Barrier( comm );
-           for (i=0; i<size; i++) {
-               if (i == rank) continue;
-               for (j=0; j<msgcnt; j++) {
-                   SetupRdata( rbuf, msgsize );
-                   MPI_Recv( rbuf, msgsize, MPI_INT, i, 2*i, comm, s );
-                   err += CheckData( rbuf, msgsize, 2*i, s );
-               }
-           }
-           free( rbuf );
-       }
-       else {
-           sbuf = (int *)malloc( msgsize * sizeof(int) );
-           if (!sbuf) {
-               printf( "Could not allocate %d words\n", msgsize );
-               MPI_Abort( comm, 1 );
-           }
-           SetupData( sbuf, msgsize, 2*rank );
-           for (j=0; j<msgcnt; j++) {
-               MPI_Isend( sbuf, msgsize, MPI_INT, root, 2*rank, comm, &r[j] );
-           }
-           MPI_Barrier( comm );
-           MPI_Waitall( msgcnt, r, s );
-           free( sbuf );
-       }
-       msgsize *= 4;
-    }
-    if (rank == 0 && verbose) { printf( "\n" ); fflush( stdout ); }
-
-    /* Try large synchronous blocking sends to root */
-    root = 0;
-    
-    msgsize = 128;
-    maxmsg  = MAX_MSG;
-    if (rank == root && verbose) printf( "Synchronous sends: " );
-    while (msgsize <= maxmsg) {
-       if (rank == root) {
-           if (verbose) { printf( "%d ", msgsize ); fflush( stdout ); }
-           rbuf = (int *)malloc( msgsize * sizeof(int) );
-           if (!rbuf) {
-               printf( "Could not allocate %d words\n", msgsize );
-               MPI_Abort( comm, 1 );
-           }
-           for (i=0; i<size; i++) {
-               if (i == rank) continue;
-               for (j=0; j<msgcnt; j++) {
-                   SetupRdata( rbuf, msgsize );
-                   MPI_Recv( rbuf, msgsize, MPI_INT, i, 2*i, comm, s );
-                   err += CheckData( rbuf, msgsize, 2*i, s );
-               }
-           }
-           free( rbuf );
-       }
-       else {
-           sbuf = (int *)malloc( msgsize * sizeof(int) );
-           if (!sbuf) {
-               printf( "Could not allocate %d words\n", msgsize );
-               MPI_Abort( comm, 1 );
-           }
-           SetupData( sbuf, msgsize, 2*rank );
-           for (j=0; j<msgcnt; j++) 
-               MPI_Ssend( sbuf, msgsize, MPI_INT, root, 2*rank, comm );
-           free( sbuf );
-       }
-       msgsize *= 4;
-    }
-    if (rank == 0 && verbose) { printf( "\n" ); fflush( stdout ); }
-
-    MPI_Allreduce( &err, &toterr, 1, MPI_INT, MPI_SUM, MPI_COMM_WORLD );
-    
-    if (rank == 0) {
-       if (toterr == 0) printf( " No Errors\n" );
-       else printf( "!! found %d errors\n", toterr );
-    }
-    if (toterr) {
-       printf( "!! found %d errors on processor %d\n", err, rank );
-    }
-
-    MPI_Finalize( );
-    return 0;
-}
-
-void SetupData( sbuf, n, tag )
-int *sbuf, n, tag;
-{
-    int i;
-
-    for (i=0; i<n; i++) 
-       sbuf[i] = i;
-}
-
-int CheckData( rbuf, n, tag, s )
-int *rbuf, n, tag;
-MPI_Status *s;
-{
-    int act_n, i;
-
-    MPI_Get_count( s, MPI_INT, &act_n );
-    if (act_n != n) {
-       printf( "Received %d instead of %d ints\n", act_n, n );
-       return 1;
-    }
-    for (i=0; i<n; i++) {
-       if (rbuf[i] != i) {
-           printf( "rbuf[%d] is %d, should be %d\n", i, rbuf[i], i );
-           return 1;
-       }
-    }
-    return 0;
-}
-
-void SetupRdata( rbuf, n )
-int *rbuf, n;
-{
-    int i;
-    
-    for (i=0; i<n; i++) rbuf[i] = -(i+1);
-}