blob: bec87497bd9e879e1fa29c85f9b32af8291f064c [file] [log] [blame]
#include "mpi.h"
#include "wtime.h"
#include <stdlib.h>
void mpi_error( void )
{
printf( "mpi_error called\n" );
abort();
}
int MPI_Irecv( void *buf,
int count,
MPI_Datatype datatype,
int source,
int tag,
MPI_Comm comm,
MPI_Request *request )
{
mpi_error();
return( MPI_ERR_OTHER );
}
int MPI_Recv( void *buf,
int count,
MPI_Datatype datatype,
int source,
int tag,
MPI_Comm comm,
MPI_Status *status )
{
mpi_error();
return( MPI_ERR_OTHER );
}
int MPI_Send( void *buf,
int count,
MPI_Datatype datatype,
int dest,
int tag,
MPI_Comm comm )
{
mpi_error();
return( MPI_ERR_OTHER );
}
int MPI_Wait( MPI_Request *request,
MPI_Status *status )
{
mpi_error();
return( MPI_ERR_OTHER );
}
int MPI_Init( int *argc,
char ***argv )
{
return( MPI_SUCCESS );
}
int MPI_Comm_rank( MPI_Comm comm,
int *rank )
{
*rank = 0;
return( MPI_SUCCESS );
}
int MPI_Comm_size( MPI_Comm comm,
int *size )
{
*size = 1;
return( MPI_SUCCESS );
}
double MPI_Wtime( void )
{
void wtime();
double t;
wtime( &t );
return( t );
}
int MPI_Barrier( MPI_Comm comm )
{
return( MPI_SUCCESS );
}
int MPI_Bcast( void *buf,
int count,
MPI_Datatype datatype,
int root,
MPI_Comm comm )
{
return( MPI_SUCCESS );
}
int MPI_Finalize( void )
{
return( MPI_SUCCESS );
}
int MPI_Allreduce( void *sendbuf,
void *recvbuf,
int nitems,
MPI_Datatype type,
MPI_Op op,
MPI_Comm comm )
{
int i;
if( type == MPI_INT )
{
int *pd_sendbuf, *pd_recvbuf;
pd_sendbuf = (int *) sendbuf;
pd_recvbuf = (int *) recvbuf;
for( i=0; i<nitems; i++ )
*(pd_recvbuf+i) = *(pd_sendbuf+i);
}
if( type == MPI_LONG )
{
long *pd_sendbuf, *pd_recvbuf;
pd_sendbuf = (long *) sendbuf;
pd_recvbuf = (long *) recvbuf;
for( i=0; i<nitems; i++ )
*(pd_recvbuf+i) = *(pd_sendbuf+i);
}
if( type == MPI_DOUBLE )
{
double *pd_sendbuf, *pd_recvbuf;
pd_sendbuf = (double *) sendbuf;
pd_recvbuf = (double *) recvbuf;
for( i=0; i<nitems; i++ )
*(pd_recvbuf+i) = *(pd_sendbuf+i);
}
return( MPI_SUCCESS );
}
int MPI_Reduce( void *sendbuf,
void *recvbuf,
int nitems,
MPI_Datatype type,
MPI_Op op,
int root,
MPI_Comm comm )
{
int i;
if( type == MPI_INT )
{
int *pi_sendbuf, *pi_recvbuf;
pi_sendbuf = (int *) sendbuf;
pi_recvbuf = (int *) recvbuf;
for( i=0; i<nitems; i++ )
*(pi_recvbuf+i) = *(pi_sendbuf+i);
}
if( type == MPI_LONG )
{
long *pi_sendbuf, *pi_recvbuf;
pi_sendbuf = (long *) sendbuf;
pi_recvbuf = (long *) recvbuf;
for( i=0; i<nitems; i++ )
*(pi_recvbuf+i) = *(pi_sendbuf+i);
}
if( type == MPI_DOUBLE )
{
double *pd_sendbuf, *pd_recvbuf;
pd_sendbuf = (double *) sendbuf;
pd_recvbuf = (double *) recvbuf;
for( i=0; i<nitems; i++ )
*(pd_recvbuf+i) = *(pd_sendbuf+i);
}
return( MPI_SUCCESS );
}
int MPI_Alltoall( void *sendbuf,
int sendcount,
MPI_Datatype sendtype,
void *recvbuf,
int recvcount,
MPI_Datatype recvtype,
MPI_Comm comm )
{
int i;
if( recvtype == MPI_INT )
{
int *pd_sendbuf, *pd_recvbuf;
pd_sendbuf = (int *) sendbuf;
pd_recvbuf = (int *) recvbuf;
for( i=0; i<sendcount; i++ )
*(pd_recvbuf+i) = *(pd_sendbuf+i);
}
if( recvtype == MPI_LONG )
{
long *pd_sendbuf, *pd_recvbuf;
pd_sendbuf = (long *) sendbuf;
pd_recvbuf = (long *) recvbuf;
for( i=0; i<sendcount; i++ )
*(pd_recvbuf+i) = *(pd_sendbuf+i);
}
return( MPI_SUCCESS );
}
int MPI_Alltoallv( void *sendbuf,
int *sendcounts,
int *senddispl,
MPI_Datatype sendtype,
void *recvbuf,
int *recvcounts,
int *recvdispl,
MPI_Datatype recvtype,
MPI_Comm comm )
{
int i;
if( recvtype == MPI_INT )
{
int *pd_sendbuf, *pd_recvbuf;
pd_sendbuf = (int *) sendbuf;
pd_recvbuf = (int *) recvbuf;
for( i=0; i<sendcounts[0]; i++ )
*(pd_recvbuf+i+recvdispl[0]) = *(pd_sendbuf+i+senddispl[0]);
}
if( recvtype == MPI_LONG )
{
long *pd_sendbuf, *pd_recvbuf;
pd_sendbuf = (long *) sendbuf;
pd_recvbuf = (long *) recvbuf;
for( i=0; i<sendcounts[0]; i++ )
*(pd_recvbuf+i+recvdispl[0]) = *(pd_sendbuf+i+senddispl[0]);
}
return( MPI_SUCCESS );
}