forked from ESMCI/mpi-serial
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
176 lines (144 loc) · 3.52 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
######################################################################
mpi-serial
Version 2.5.0
Jim Edwards (jedwards@ucar.edu)
Originally written by
Ray Loy
John Yackovich
plus contributions from:
Steve Goldhaber
Robert Jacob
Sean Patrick Santos
Katherine Thayer-Calder
######################################################################
This library provides a one-processor version of MPI. Most common MPI calls,
including all that are necessary for the Model Coupling Toolkit, are supported.
This includes sends and receives (which cannot be simply stubbed out). See
below for a complete list.
---------------
Quick Start
---------------
./configure
make
make tests
---------------
Configuration
---------------
There is now a dedicated configure for mpi-serial.
By default, it is assumed that Fortran programs linked with mpi-serial
(e.g. MCT) will be using REAL variables of size 4 bytes, and DOUBLE
PRECISION variables of size 8 bytes. If this is not the case
(e.g. due to hardware sizes or Fortran compiler options), you must
specify an option to the mpi-serial configure, e.g.:
./configure --enable-fort-real=16 --enable-fort-double=32
--------------------------------
Manual make targets
--------------------------------
'make' - compile the mpi-serial library
'make examples' - compile mpi-serial and its example programs
'make clean' - get rid of all objects and executables
----------------------------------
List of MPI calls supported
----------------------------------
general ops
mpi_init
mpi_init_thread
mpi_finalize
mpi_abort
mpi_error_string
mpi_errhandler_set
mpi_initialized
mpi_get_processor_name
mpi_get_library_version
mpi_wtime
comm and group ops
mpi_comm_free
mpi_comm_size
mpi_comm_rank
mpi_comm_dup
mpi_comm_create
mpi_comm_split
mpi_comm_group
mpi_comm_new
mpi_comm_f2c
mpi_comm_c2f
mpi_group_incl
mpi_group_range_incl
mpi_group_union
mpi_group_intersection
mpi_group_difference
mpi_group_translate_ranks
mpi_group_free
mpi_group_f2c
mpi_group_c2f
mpi_cart_create
mpi_cart_coords
mpi_dims_create
mpi_intercomm_create
mpi_intercomm_merge
mpi_op_create
mpi_op_free
mpi_op_f2c
mpi_op_c2f
send/receive ops
mpi_irecv
mpi_recv
mpi_test
mpi_testany
mpi_testall
mpi_testsome
mpi_wait
mpi_waitany
mpi_waitall
mpi_waitsome
mpi_isend
mpi_irecv
mpi_send
mpi_ssend
mpi_rsend
mpi_irsend
mpi_sendrecv
mpi_iprobe
mpi_probe
mpi_request_free
mpi_request_f2c
mpi_request_c2f
collective operations
mpi_barrier
mpi_bcast
mpi_gather
mpi_gatherv
mpi_allgather
mpi_scatter
mpi_scatterv
mpi_reduce
mpi_allreduce
mpi_reduce_scatter
mpi_scan
mpi_alltoall
mpi_alltoallv
mpi_alltoallw
data types and info objects
mpi_get_count
mpi_get_elements
mpi_pack
mpi_pack_size
mpi_unpack
mpi_info_create
mpi_info_set
mpi_info_free
mpi_type_contigious
mpi_type_vector
mpi_type_hvector
mpi_type_create_hvector
mpi_type_indexed
mpi_type_size
mpi_type_struct
mpi_type_dup
mpi_type_extent
mpi_type_commit
mpi_type_free
mpi_type_lb
mpi_type_ub
-----
EOF