OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

mpif.h
1 ! -*- fortran -*-
2 !
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
8 ! reserved.
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.
12 ! All rights reserved.
13 ! Copyright (c) 2006-2007 Cisco Systems, Inc. All rights reserved.
14 ! $COPYRIGHT$
15 !
16 ! Additional copyrights may follow
17 !
18 ! $HEADER$
19 !
20 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
21 ! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
22 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
23 !
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
28 ! example:
29 !
30 ! shell$ mpif77 foo.f -o foo -I$OMPI_HOME/include
31 !
32 ! will probably do the trick (assuming that you have set OMPI_HOME
33 ! properly).
34 !
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:
38 !
39 ! shell$ mpif77 foo.f -o foo
40 !
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).
49 !
50 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
51 ! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
52 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
53
54 !
55 ! Include the back-end file that has the bulk of the MPI Fortran
56 ! interface.
57 !
58
59 include 'mpif-common.h'
60
61 !
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).
65 !
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
79
80 !
81 ! double precision functions
82 !
83 external MPI_WTIME, MPI_WTICK , PMPI_WTICK, PMPI_WTIME
84 double precision MPI_WTIME, MPI_WTICK , PMPI_WTICK, PMPI_WTIME
85