1 | |
---|
2 | |
---|
3 | subroutine mpi_init(ierror) |
---|
4 | |
---|
5 | implicit none |
---|
6 | include "mpif.h" |
---|
7 | |
---|
8 | integer fint(2) |
---|
9 | logical flog(2) |
---|
10 | real freal(2) |
---|
11 | double precision fdub(2) |
---|
12 | complex fcomp(2) |
---|
13 | integer status(MPI_STATUS_SIZE) |
---|
14 | |
---|
15 | integer ierror |
---|
16 | |
---|
17 | |
---|
18 | !! |
---|
19 | !! Pass values from mpif.h to the C side |
---|
20 | !! to check for consistency mpi.h and hardware sizes. |
---|
21 | !! |
---|
22 | |
---|
23 | call mpi_init_fort( MPI_COMM_WORLD, & |
---|
24 | MPI_ANY_SOURCE, MPI_ANY_TAG, & |
---|
25 | MPI_PROC_NULL, MPI_ROOT, & |
---|
26 | MPI_COMM_NULL, MPI_REQUEST_NULL, & |
---|
27 | MPI_GROUP_NULL, MPI_GROUP_EMPTY, & |
---|
28 | MPI_UNDEFINED, & |
---|
29 | MPI_MAX_ERROR_STRING, & |
---|
30 | MPI_MAX_PROCESSOR_NAME, & |
---|
31 | MPI_STATUS_SIZE, & |
---|
32 | MPI_SOURCE, MPI_TAG, MPI_ERROR, & |
---|
33 | status, status(MPI_SOURCE), & |
---|
34 | status(MPI_TAG), status(MPI_ERROR), & |
---|
35 | MPI_INTEGER, fint(1), fint(2), & |
---|
36 | MPI_LOGICAL, flog(1), flog(2), & |
---|
37 | MPI_REAL, freal(1), freal(2), & |
---|
38 | MPI_DOUBLE_PRECISION, fdub(1), fdub(2), & |
---|
39 | MPI_COMPLEX, fcomp(1), fcomp(2), & |
---|
40 | IERROR ) |
---|
41 | |
---|
42 | |
---|
43 | return |
---|
44 | end |
---|
45 | |
---|
46 | |
---|
47 | |
---|
48 | |
---|
49 | |
---|