Diana
0.8.3
|
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