Diana  0.8.3
mpi.h
00001 /* -----------------------------------------------------------------------------
00002  *  Diana process modelling, simulation and analysis software
00003  *  Copyright (c) 2005, Michael Krasnyk
00004  *  All rights reserved.
00005  *
00006  *  This file is a part of Diana process modelling, simulation and analysis software
00007  *
00008  *  Diana is free software; you can redistribute it and/or modify it
00009  *  under the terms of the GNU General Public License as published
00010  *  by the Free Software Foundation (see accompanying file LICENSE)
00011  * -----------------------------------------------------------------------------
00012  *  $Id$
00013  * -----------------------------------------------------------------------------
00014  *  Description:
00015  */
00016  
00017 
00018  
00027 #define __DISTRIBUTED_DIANA
00028 
00029 #ifdef __DISTRIBUTED_DIANA
00030 #include <mpi.h>
00031 #else
00032 
00033 
00034 
00035 #ifndef _MPI_DUMMY_HPP
00036 #define _MPI_DUMMY_HPP
00037 
00038 
00039 
00040 typedef int MPI_Datatype;
00041 #define MPI_CHAR           ((MPI_Datatype)0x4c000101)
00042 #define MPI_SIGNED_CHAR    ((MPI_Datatype)0x4c000118)
00043 #define MPI_UNSIGNED_CHAR  ((MPI_Datatype)0x4c000102)
00044 #define MPI_BYTE           ((MPI_Datatype)0x4c00010d)
00045 #define MPI_WCHAR          ((MPI_Datatype)0x4c00040e)
00046 #define MPI_SHORT          ((MPI_Datatype)0x4c000203)
00047 #define MPI_UNSIGNED_SHORT ((MPI_Datatype)0x4c000204)
00048 #define MPI_INT            ((MPI_Datatype)0x4c000405)
00049 #define MPI_UNSIGNED       ((MPI_Datatype)0x4c000406)
00050 #define MPI_LONG           ((MPI_Datatype)0x4c000407)
00051 #define MPI_UNSIGNED_LONG  ((MPI_Datatype)0x4c000408)
00052 #define MPI_FLOAT          ((MPI_Datatype)0x4c00040a)
00053 #define MPI_DOUBLE         ((MPI_Datatype)0x4c00080b)
00054 #define MPI_LONG_DOUBLE    ((MPI_Datatype)0x4c000c0c)
00055 #define MPI_LONG_LONG_INT  ((MPI_Datatype)0x4c000809)
00056 #define MPI_UNSIGNED_LONG_LONG ((MPI_Datatype)0x4c000819)
00057 #define MPI_LONG_LONG      MPI_LONG_LONG_INT
00058 
00059 
00060 typedef int MPI_Comm;
00061 #define MPI_COMM_WORLD ((MPI_Comm)0x44000000)
00062 #define MPI_MAX     (MPI_Op)(0x58000001)
00063 #define MPI_PROD    (MPI_Op)(0x58000004)
00064 
00065 typedef int MPI_Request;
00066 
00067 typedef struct MPI_Status {
00068     int count;
00069     int cancelled;
00070     int MPI_SOURCE;
00071     int MPI_TAG;
00072     int MPI_ERROR;
00073     
00074 } MPI_Status;
00075 
00076 #define MPI_SUCCESS          0      /* Successful return code */
00077 
00078 #define MPI_Send(buf,count,datatype,dest,tag,comm)
00079 #define MPI_Recv(buf,count,datatype,source,tag,comm,status)
00080 #define MPI_Isend(buf,count, datatype,dest,tag,comm,request)
00081 #define MPI_Irecv(buf,count, datatype,source,tag,comm,request)
00082 #define MPI_Wait(request,status)
00083 #define MPI_Test(request,flag,status)
00084 #define MPI_Finalize()
00085 #define MPI_Init( argc, argv )
00086 #define MPI_Initialized(count)
00087 #define MPI_Group_rank( comm, rank )
00088 #define MPI_Group_size( comm, quantity )
00089 #define MPI_Barrier( comm )
00090 #define MPI_Get_processor_name( m_szMyProcessorName, nTempValue )
00091 #define MPI_Allreduce( val1, val2, quantity, type, action, comm )
00092 #define MPI_Comm_rank( comm, rank )
00093 #define MPI_Comm_size( comm, size )
00094 
00095 
00096 #endif
00097  
00098 #endif