3! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
 
    4!                         University Research and Technology
 
    5!                         Corporation.  All rights reserved.
 
    6! Copyright (c) 2004-2005 The University of Tennessee and The University
 
    7!                         of Tennessee Research Foundation.  All rights
 
    9! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
 
   10!                         University of Stuttgart.  All rights reserved.
 
   11! Copyright (c) 2004-2005 The Regents of the University of California.
 
   13! Copyright (c) 2006-2007 Cisco Systems, Inc.  All rights reserved.
 
   16! Additional copyrights may follow
 
   20!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
   21! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
 
   22!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
   24! Do ***not*** copy 
this file to the directory where your Fortran
 
   25! fortran application is compiled unless it is absolutely necessary!  Most
 
   26! modern Fortran compilers now support the -I command line 
flag, which
 
   27! tells the compiler where to find .h files (specifically, 
this one).  For
 
   30!      shell$ mpif77 foo.f -o foo -I$OMPI_HOME/include
 
   32! will probably 
do the trick (assuming that you have set OMPI_HOME
 
   35! That being said, OMPI
's "mpif77" wrapper compiler should 
   36! automatically include the -I option for you.  The following command 
   37! should be equivalent to the command listed above: 
   39!      shell$ mpif77 foo.f -o foo 
   41! You should not copy this file to your local directory because it is 
   42! possible that this file will be changed between versions of Open MPI. 
   43! Indeed, this mpif.h is incompatible with the mpif.f of other 
   44! implementations of MPI.  Using this mpif.h with other implementations 
   45! of MPI, or with other versions of Open MPI will result in undefined 
   46! behavior (to include incorrect results, segmentation faults, 
   47! unexplainable "hanging" in your application, etc.).  Always use the 
   48! -I command line option instead (or let mpif77 do it for you). 
   50!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
   51! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 
   52!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
   55!     Include the back-end file that has the bulk of the MPI Fortran 
   59      include 'mpif-common.h
' 
   62!     These "external" statements are specific to the MPI F77 interface 
   63!     (and are toxic to the MPI F90 interface), and are therefore in the 
   64!     MPI F77-specific header file (i.e., this one). 
   66      external MPI_NULL_COPY_FN, MPI_NULL_DELETE_FN 
   67      external MPI_COMM_NULL_COPY_FN, MPI_COMM_NULL_DELETE_FN 
   68      external MPI_TYPE_NULL_COPY_FN, MPI_TYPE_NULL_DELETE_FN 
   69      external MPI_DUP_FN, MPI_COMM_DUP_FN, MPI_TYPE_DUP_FN 
   70      external MPI_WIN_NULL_COPY_FN 
   71      external MPI_WIN_NULL_DELETE_FN 
   72      external MPI_WIN_DUP_FN 
   73!     Note that MPI_CONVERSION_FN_NULL is a "constant" (it is only ever 
   74!     checked for comparison; it is never invoked), but it is passed as 
   75!     a function pointer (to MPI_REGISTER_DATAREP) and therefore must be 
   76!     the same size/type.  It is therefore external'ed here, and not
 
   77!     defined with an integer value in mpif-common.h.
 
   78      external MPI_CONVERSION_FN_NULL
 
   81!     
double precision functions
 
   83      external MPI_WTIME, MPI_WTICK , PMPI_WTICK, PMPI_WTIME
 
   84      double precision MPI_WTIME, MPI_WTICK , PMPI_WTICK, PMPI_WTIME
 
*fortran !University of Stuttgart All rights reserved Inc All rights reserved ! $COPYRIGHT$ !Additional copyrights may follow ! $HEADER$ !WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING !Do ***not ***copy this file to the directory where your Fortran !fortran application is compiled unless it is absolutely necessary !Most !modern Fortran compilers now support the I command line flag