M3_mpi.h

Go to the documentation of this file.
00001 
00010 /*******************************************************************************
00011 *   M3:  M3_mpi.h                                             *
00012 *                                                                              *
00013 *   Version 1.0 May 2004                                                       *
00014 *                                                                              *
00015 *   Copyright (C) 2004  C.M. Cantalupo                                         *
00016 *                                                                              *
00017 *   This program is free software; you can redistribute it and/or modify       *
00018 *   it under the terms of the GNU General Public License as published by       *
00019 *   the Free Software Foundation; either version 2 of the License, or          *
00020 *   (at your option) any later version.                                        *
00021 *                                                                              *
00022 *   This program is distributed in the hope that it will be useful,            *
00023 *   but WITHOUT ANY WARRANTY; without even the implied warranty of             *
00024 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              *
00025 *   GNU General Public License for more details.                               *
00026 *                                                                              *
00027 *   You should have received a copy of the GNU General Public License          *
00028 *   along with this program; if not, write to the Free Software                *
00029 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  *
00030 *                                                                              *
00031 *******************************************************************************/
00032 
00033 
00034 #ifndef _H_M3_mpi
00035 #define _H_M3_mpi
00036 
00037 #include "mpi.h"
00038 #ifdef MACH_MPI_FORCEBLOCK
00039 #define MPI_Bcast(a,b,c,d,comm)              MPI_Bcast_blocking(a,b,c,d,comm)
00040 #define MPI_Gather(a,b,c,d,e,f,g,comm)       MPI_Gather_blocking(a,b,c,d,e,f,g,comm)
00041 #define MPI_Gatherv(a,b,c,d,e,f,g,h,comm)    MPI_Gatherv_blocking(a,b,c,d,e,f,g,h,comm) 
00042 #define MPI_Scatter(a,b,c,d,e,f,g,comm)      MPI_Scatter_blocking(a,b,c,d,e,f,g,comm)
00043 #define MPI_Scatterv(a,b,c,d,e,f,g,h,comm)   MPI_Scatterv_blocking(a,b,c,d,e,f,g,h,comm)
00044 #define MPI_Allgather(a,b,c,d,e,f,comm)      MPI_Allgather_blocking(a,b,c,d,e,f,comm)
00045 #define MPI_Allgatherv(a,b,c,d,e,f,g,comm)   MPI_Allgatherv_blocking(a,b,c,d,e,f,g,comm)
00046 #define MPI_Alltoall(a,b,c,d,e,f,comm)       MPI_Alltoall_blocking(a,b,c,d,e,f,comm)
00047 #define MPI_Alltoallv(a,b,c,d,e,f,g,h,comm)  MPI_Alltoallv_blocking(a,b,c,d,e,f,g,h,comm) 
00048 #define MPI_Reduce(a,b,c,d,e,f,comm)         MPI_Reduce_blocking(a,b,c,d,e,f,comm)
00049 #define MPI_Allreduce(a,b,c,d,e,comm)        MPI_Allreduce_blocking(a,b,c,d,e,comm)
00050 #define MPI_Reduce_scatter(a,b,c,d,e,comm)   MPI_Reduce_scatter_blocking(a,b,c,d,e,comm)
00051 #endif
00052 #include "M3.h"
00053 
00054 
00055 
00056 
00057 void M3_RunConfigStruct_ReadMPI( 
00058   M3_RunConfigStruct **runConfig, 
00059   char *runConfigFileName, 
00060   int runType,  
00061   MPI_Comm theComm );
00062 
00063 void M3_RunConfigStruct_ReadBinMPI( 
00064   M3_RunConfigStruct **runConfigOut, 
00065   char *runConfigFileName, 
00066   int runType, 
00067   MPI_Comm theComm );
00068 
00069 void M3_RunConfigStruct_Bcast( 
00070   M3_RunConfigStruct **runConfig, 
00071   int root, 
00072   MPI_Comm theComm );
00073 
00074 void M3_File_ReadHeaderMPI( 
00075   M3_File *theFile, 
00076   void *header, 
00077   MPI_Comm theComm );
00078 
00079 void M3_File_ReadDataMPI( 
00080   M3_File *theFile, 
00081   void *readArg, 
00082   void *data, 
00083   MPI_Comm theComm );
00084 
00085 
00086 #endif

Generated on Mon Nov 24 10:05:12 2008 for M3 by  doxygen 1.5.3-20071008