source: CPL/oasis3-mct/branches/OASIS3-MCT_2.0_branch/lib/mct/mpi-serial/README @ 4775

Last change on this file since 4775 was 4775, checked in by aclsce, 5 years ago
  • Imported oasis3-mct from Cerfacs svn server (not suppotred anymore).

The version has been extracted from https://oasis3mct.cerfacs.fr/svn/branches/OASIS3-MCT_2.0_branch/oasis3-mct@1818

File size: 3.3 KB
Line 
1
2######################################################################
3
4mpi-serial
5
6   Ray Loy (rloy@mcs.anl.gov)
7
8######################################################################
9
10
11This library provides a one-processor version of MPI.  Most common MPI
12calls, including all that are necessary for MCT, are supported.  This
13includes sends and receives (which cannot be simply stubbed out).  See
14below for a complete list.
15
16
17---------------
18Configuration
19---------------
20
21During the MCT configure, specify the option:
22
23   --enable-mpiserial
24
25
26This will cause the main MCT 'make' to compile mpi-serial and use it.
27
28IMPORTANT:
29
30By default, it is assumed that Fortran programs linked with mpi-serial
31(e.g. MCT) will be using REAL variables of size 4 bytes, and DOUBLE
32PRECISION variables of size 8 bytes.  If this is not the case
33(e.g. due to hardware sizes or Fortran compiler options), you must
34specify a value for FORT_SIZE, e.g.:
35
36   --enable-mpiserial FORT_SIZE=real8double8
37
38
39The built-in choices for FORT_SIZE are:
40
41   real4double8       (default)
42   real8double8       (use when only REALs are auto-promoted)
43   real8double16      (use when REALs and DOUBLEs are auto-promoted)
44
45
46How to configure for other Fortran data sizes:
47----------------------------------------------
48
49The setting for FORT_SIZE is actually just a name used to choose a
50pre-made mpif.h file, mpif.$(FORT_SIZE).h, whose contents set the
51sizes of Fortran data types.  If you need a different set of sizes,
52you can copy one of these files and edit it to reflect the desired
53sizes.  E.g. Copy mpif.real4double8.h to mpif.mysize.h and edit these
54lines:
55
56        PARAMETER (MPI_REAL=4)                 ! 4 is number of bytes
57       
58        PARAMETER (MPI_DOUBLE_PRECISION=8)     ! 8 is number of bytes
59
60then configure MCT using:
61
62   --enable-mpiserial FORT_SIZE=mysize
63
64
65
66At runtime (within MPI_Init), there is a consistancy check of Fortran
67data type sizes.  If any sizes conflict with the config, there will be
68an error message.
69
70
71Advanced: The sizes of other types can be set in the same manner.
72However, note that the size of a Fortran "INTEGER" must be the same as
73C type specified for MPI_Status_int in mpi.h.  Consult the author for
74further advice.
75
76
77
78--------------------------------
79Manual make targets
80--------------------------------
81
82Note: Normally this is handled by the main MCT 'make'.
83      See "Configuration" above.
84
85
86'make'  - compile the mpi-serial library
87
88'make examples'  - compile mpi-serial and its example programs
89
90'make clean'  - get rid of all objects and executables
91
92
93
94----------------------------------
95List of MPI calls supported
96----------------------------------
97
98    general ops
99      mpi_init
100      mpi_finalize
101      mpi_abort
102      mpi_error_string
103      mpi_initialized
104
105    comm and group ops
106      mpi_comm_free
107      mpi_comm_size
108      mpi_comm_rank
109      mpi_comm_dup
110      mpi_comm_create
111      mpi_comm_split
112      mpi_comm_group
113      mpi_group_incl
114      mpi_group_free
115
116    send/receive ops
117      mpi_irecv
118      mpi_recv
119      mpi_test
120      mpi_wait
121      mpi_waitany
122      mpi_waitall
123      mpi_isend
124      mpi_send
125
126    collective operations
127      mpi_barrier
128      mpi_bcast
129      mpi_gather
130      mpi_gatherv
131      mpi_allgather
132      mpi_scatterv
133      mpi_reduce
134      mpi_allreduce
135
136
137
138-----
139EOF
Note: See TracBrowser for help on using the repository browser.