Skip to content

Commit 08e257c

Browse files
committed
Revert "checkpoint"
This reverts commit b2331a2.
1 parent 8d77a83 commit 08e257c

31 files changed

+375
-670
lines changed

ompi/mpi/fortran/base/fint_2_int.h

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,9 @@
4747
#define OMPI_SINGLE_FINT_2_INT(in)
4848
#define OMPI_SINGLE_INT_2_FINT(in)
4949
#define OMPI_ARRAY_INT_2_FINT(in, n)
50-
#define OMPI_COND_STATEMENT(a)
5150

5251
#elif OMPI_SIZEOF_FORTRAN_INTEGER > SIZEOF_INT
53-
#define OMPI_ARRAY_NAME_DECL(a) int *c_##a = NULL
52+
#define OMPI_ARRAY_NAME_DECL(a) int *c_##a
5453
#define OMPI_2_DIM_ARRAY_NAME_DECL(a, dim2) int (*c_##a)[dim2], dim2_index
5554
#define OMPI_SINGLE_NAME_DECL(a) int c_##a
5655
#define OMPI_ARRAY_NAME_CONVERT(a) c_##a
@@ -87,8 +86,7 @@
8786

8887
/* This is for IN parameters. Does only free */
8988
#define OMPI_ARRAY_FINT_2_INT_CLEANUP(in) \
90-
if (NULL != OMPI_ARRAY_NAME_CONVERT(in)) \
91-
free(OMPI_ARRAY_NAME_CONVERT(in))
89+
free(OMPI_ARRAY_NAME_CONVERT(in))
9290

9391
/* This is for single IN parameter */
9492
#define OMPI_SINGLE_FINT_2_INT(in) \
@@ -107,10 +105,8 @@
107105
} \
108106
free(OMPI_ARRAY_NAME_CONVERT(in)); \
109107
} while (0)
110-
111-
#define OMPI_COND_STATEMENT(a) a
112108
#else /* int > MPI_Fint */
113-
#define OMPI_ARRAY_NAME_DECL(a) int *c_##a = NULL
109+
#define OMPI_ARRAY_NAME_DECL(a) int *c_##a
114110
#define OMPI_2_DIM_ARRAY_NAME_DECL(a, dim2) int (*c_##a)[dim2], dim2_index
115111
#define OMPI_SINGLE_NAME_DECL(a) int c_##a
116112
#define OMPI_ARRAY_NAME_CONVERT(a) c_##a
@@ -144,8 +140,7 @@
144140
} while (0)
145141

146142
#define OMPI_ARRAY_FINT_2_INT_CLEANUP(in) \
147-
if (NULL != OMPI_ARRAY_NAME_CONVERT(in)) \
148-
free(OMPI_ARRAY_NAME_CONVERT(in))
143+
free(OMPI_ARRAY_NAME_CONVERT(in))
149144

150145
#define OMPI_SINGLE_FINT_2_INT(in) \
151146
OMPI_ARRAY_NAME_CONVERT(in) = *(in)
@@ -162,7 +157,6 @@
162157
free(OMPI_ARRAY_NAME_CONVERT(in)); \
163158
} while (0)
164159

165-
#define OMPI_COND_STATEMENT(a) a
166160
#endif
167161

168162
/*

ompi/mpi/fortran/mpif-h/allgather_f.c

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
* Copyright (c) 2004-2005 The Regents of the University of California.
1111
* All rights reserved.
1212
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
13-
* Copyright (c) 2015-2019 Research Organization for Information Science
14-
* and Technology (RIST). All rights reserved.
13+
* Copyright (c) 2015 Research Organization for Information Science
14+
* and Technology (RIST). All rights reserved.
1515
* $COPYRIGHT$
1616
*
1717
* Additional copyrights may follow
@@ -23,7 +23,6 @@
2323

2424
#include "ompi/mpi/fortran/mpif-h/bindings.h"
2525
#include "ompi/mpi/fortran/base/constants.h"
26-
#include "ompi/communicator/communicator.h"
2726

2827
#if OMPI_BUILD_MPI_PROFILING
2928
#if OPAL_HAVE_WEAK_SYMBOLS
@@ -73,22 +72,19 @@ void ompi_allgather_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
7372
MPI_Fint *comm, MPI_Fint *ierr)
7473
{
7574
int ierr_c;
76-
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
77-
int c_sendcount = 0;
78-
MPI_Datatype c_sendtype = NULL, c_recvtype = PMPI_Type_f2c(*recvtype);
75+
MPI_Comm c_comm;
76+
MPI_Datatype c_sendtype, c_recvtype;
7977

80-
if (OMPI_COMM_IS_INTER(c_comm) || !OMPI_IS_FORTRAN_IN_PLACE(sendbuf)) {
81-
c_sendtype = PMPI_Type_f2c(*sendtype);
82-
c_sendcount = OMPI_FINT_2_INT(*sendcount);
83-
} else {
84-
sendbuf = MPI_IN_PLACE;
85-
}
78+
c_comm = PMPI_Comm_f2c(*comm);
79+
c_sendtype = PMPI_Type_f2c(*sendtype);
80+
c_recvtype = PMPI_Type_f2c(*recvtype);
8681

82+
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
8783
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
8884
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
8985

9086
ierr_c = PMPI_Allgather(sendbuf,
91-
c_sendcount,
87+
OMPI_FINT_2_INT(*sendcount),
9288
c_sendtype,
9389
recvbuf,
9490
OMPI_FINT_2_INT(*recvcount),

ompi/mpi/fortran/mpif-h/allgatherv_f.c

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
* Copyright (c) 2004-2005 The Regents of the University of California.
1111
* All rights reserved.
1212
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
13-
* Copyright (c) 2015-2019 Research Organization for Information Science
14-
* and Technology (RIST). All rights reserved.
13+
* Copyright (c) 2015 Research Organization for Information Science
14+
* and Technology (RIST). All rights reserved.
1515
* $COPYRIGHT$
1616
*
1717
* Additional copyrights may follow
@@ -23,7 +23,6 @@
2323

2424
#include "ompi/mpi/fortran/mpif-h/bindings.h"
2525
#include "ompi/mpi/fortran/base/constants.h"
26-
#include "ompi/communicator/communicator.h"
2726

2827
#if OMPI_BUILD_MPI_PROFILING
2928
#if OPAL_HAVE_WEAK_SYMBOLS
@@ -72,37 +71,26 @@ void ompi_allgatherv_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
7271
char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs,
7372
MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *ierr)
7473
{
75-
int ierr_c;
76-
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
77-
int c_sendcount = 0;
78-
MPI_Datatype c_sendtype = NULL, c_recvtype;
79-
OMPI_COND_STATEMENT(int size);
74+
MPI_Comm c_comm;
75+
MPI_Datatype c_sendtype, c_recvtype;
76+
int size, ierr_c;
8077
OMPI_ARRAY_NAME_DECL(recvcounts);
8178
OMPI_ARRAY_NAME_DECL(displs);
8279

83-
if (OMPI_COMM_IS_INTER(c_comm)) {
84-
OMPI_COND_STATEMENT(size = ompi_comm_remote_size(c_comm));
85-
c_sendtype = PMPI_Type_f2c(*sendtype);
86-
c_sendcount = OMPI_FINT_2_INT(*sendcount);
87-
} else {
88-
OMPI_COND_STATEMENT(size = ompi_comm_size(c_comm));
89-
if (OMPI_IS_FORTRAN_IN_PLACE(sendbuf)) {
90-
sendbuf = MPI_IN_PLACE;
91-
} else {
92-
c_sendtype = PMPI_Type_f2c(*sendtype);
93-
c_sendcount = OMPI_FINT_2_INT(*sendcount);
94-
}
95-
}
80+
c_comm = PMPI_Comm_f2c(*comm);
81+
c_sendtype = PMPI_Type_f2c(*sendtype);
9682
c_recvtype = PMPI_Type_f2c(*recvtype);
9783

84+
PMPI_Comm_size(c_comm, &size);
9885
OMPI_ARRAY_FINT_2_INT(recvcounts, size);
9986
OMPI_ARRAY_FINT_2_INT(displs, size);
10087

88+
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
10189
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
10290
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
10391

10492
ierr_c = PMPI_Allgatherv(sendbuf,
105-
c_sendcount,
93+
OMPI_FINT_2_INT(*sendcount),
10694
c_sendtype,
10795
recvbuf,
10896
OMPI_ARRAY_NAME_CONVERT(recvcounts),

ompi/mpi/fortran/mpif-h/alltoall_f.c

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
* Copyright (c) 2004-2005 The Regents of the University of California.
1111
* All rights reserved.
1212
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
13-
* Copyright (c) 2015-2019 Research Organization for Information Science
14-
* and Technology (RIST). All rights reserved.
13+
* Copyright (c) 2015 Research Organization for Information Science
14+
* and Technology (RIST). All rights reserved.
1515
* $COPYRIGHT$
1616
*
1717
* Additional copyrights may follow
@@ -23,7 +23,6 @@
2323

2424
#include "ompi/mpi/fortran/mpif-h/bindings.h"
2525
#include "ompi/mpi/fortran/base/constants.h"
26-
#include "ompi/communicator/communicator.h"
2726

2827
#if OMPI_BUILD_MPI_PROFILING
2928
#if OPAL_HAVE_WEAK_SYMBOLS
@@ -73,26 +72,22 @@ void ompi_alltoall_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
7372
MPI_Fint *comm, MPI_Fint *ierr)
7473
{
7574
int c_ierr;
76-
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
77-
int c_sendcount = 0;
78-
MPI_Datatype c_sendtype = NULL, c_recvtype = PMPI_Type_f2c(*recvtype);
75+
MPI_Comm c_comm;
76+
MPI_Datatype c_sendtype, c_recvtype;
7977

80-
if (OMPI_COMM_IS_INTER(c_comm) || !OMPI_IS_FORTRAN_IN_PLACE(sendbuf)) {
81-
c_sendtype = PMPI_Type_f2c(*sendtype);
82-
c_sendcount = OMPI_FINT_2_INT(*sendcount);
83-
} else {
84-
sendbuf = MPI_IN_PLACE;
85-
}
78+
c_comm = PMPI_Comm_f2c(*comm);
79+
c_sendtype = PMPI_Type_f2c(*sendtype);
80+
c_recvtype = PMPI_Type_f2c(*recvtype);
8681

82+
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
8783
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
8884
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
8985

9086
c_ierr = PMPI_Alltoall(sendbuf,
91-
c_sendcount,
92-
c_sendtype,
93-
recvbuf,
94-
OMPI_FINT_2_INT(*recvcount),
95-
c_recvtype, c_comm);
96-
87+
OMPI_FINT_2_INT(*sendcount),
88+
c_sendtype,
89+
recvbuf,
90+
OMPI_FINT_2_INT(*recvcount),
91+
c_recvtype, c_comm);
9792
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
9893
}

ompi/mpi/fortran/mpif-h/alltoallv_f.c

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
* Copyright (c) 2004-2005 The Regents of the University of California.
1111
* All rights reserved.
1212
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
13-
* Copyright (c) 2015-2019 Research Organization for Information Science
14-
* and Technology (RIST). All rights reserved.
13+
* Copyright (c) 2015 Research Organization for Information Science
14+
* and Technology (RIST). All rights reserved.
1515
* $COPYRIGHT$
1616
*
1717
* Additional copyrights may follow
@@ -23,7 +23,6 @@
2323

2424
#include "ompi/mpi/fortran/mpif-h/bindings.h"
2525
#include "ompi/mpi/fortran/base/constants.h"
26-
#include "ompi/communicator/communicator.h"
2726

2827
#if OMPI_BUILD_MPI_PROFILING
2928
#if OPAL_HAVE_WEAK_SYMBOLS
@@ -73,44 +72,40 @@ void ompi_alltoallv_f(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls,
7372
MPI_Fint *rdispls, MPI_Fint *recvtype,
7473
MPI_Fint *comm, MPI_Fint *ierr)
7574
{
76-
int c_ierr;
77-
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
78-
MPI_Datatype c_sendtype = NULL, c_recvtype = PMPI_Type_f2c(*recvtype);
79-
OMPI_COND_STATEMENT(int size = OMPI_COMM_IS_INTER(c_comm)?ompi_comm_remote_size(c_comm):ompi_comm_size(c_comm));
75+
MPI_Comm c_comm;
76+
MPI_Datatype c_sendtype, c_recvtype;
77+
int size, c_ierr;
8078
OMPI_ARRAY_NAME_DECL(sendcounts);
8179
OMPI_ARRAY_NAME_DECL(sdispls);
8280
OMPI_ARRAY_NAME_DECL(recvcounts);
8381
OMPI_ARRAY_NAME_DECL(rdispls);
8482

85-
if (OMPI_COMM_IS_INTER(c_comm) || !OMPI_IS_FORTRAN_IN_PLACE(sendbuf)) {
86-
c_sendtype = PMPI_Type_f2c(*sendtype);
87-
OMPI_ARRAY_FINT_2_INT(sendcounts, size);
88-
OMPI_ARRAY_FINT_2_INT(sdispls, size);
89-
} else {
90-
sendbuf = MPI_IN_PLACE;
91-
}
83+
c_comm = PMPI_Comm_f2c(*comm);
84+
c_sendtype = PMPI_Type_f2c(*sendtype);
85+
c_recvtype = PMPI_Type_f2c(*recvtype);
9286

87+
PMPI_Comm_size(c_comm, &size);
88+
OMPI_ARRAY_FINT_2_INT(sendcounts, size);
89+
OMPI_ARRAY_FINT_2_INT(sdispls, size);
9390
OMPI_ARRAY_FINT_2_INT(recvcounts, size);
9491
OMPI_ARRAY_FINT_2_INT(rdispls, size);
9592

93+
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
9694
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
9795
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
9896

9997
c_ierr = PMPI_Alltoallv(sendbuf,
100-
OMPI_ARRAY_NAME_CONVERT(sendcounts),
101-
OMPI_ARRAY_NAME_CONVERT(sdispls),
102-
c_sendtype,
103-
recvbuf,
104-
OMPI_ARRAY_NAME_CONVERT(recvcounts),
105-
OMPI_ARRAY_NAME_CONVERT(rdispls),
106-
c_recvtype, c_comm);
107-
98+
OMPI_ARRAY_NAME_CONVERT(sendcounts),
99+
OMPI_ARRAY_NAME_CONVERT(sdispls),
100+
c_sendtype,
101+
recvbuf,
102+
OMPI_ARRAY_NAME_CONVERT(recvcounts),
103+
OMPI_ARRAY_NAME_CONVERT(rdispls),
104+
c_recvtype, c_comm);
108105
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
109106

110-
if (MPI_IN_PLACE != sendbuf) {
111-
OMPI_ARRAY_FINT_2_INT_CLEANUP(sendcounts);
112-
OMPI_ARRAY_FINT_2_INT_CLEANUP(sdispls);
113-
}
107+
OMPI_ARRAY_FINT_2_INT_CLEANUP(sendcounts);
108+
OMPI_ARRAY_FINT_2_INT_CLEANUP(sdispls);
114109
OMPI_ARRAY_FINT_2_INT_CLEANUP(recvcounts);
115110
OMPI_ARRAY_FINT_2_INT_CLEANUP(rdispls);
116111
}

ompi/mpi/fortran/mpif-h/alltoallw_f.c

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* All rights reserved.
1212
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
1313
* Copyright (c) 2015-2019 Research Organization for Information Science
14-
* and Technology (RIST). All rights reserved.
14+
* and Technology (RIST). All rights reserved.
1515
* $COPYRIGHT$
1616
*
1717
* Additional copyrights may follow
@@ -74,62 +74,51 @@ void ompi_alltoallw_f(char *sendbuf, MPI_Fint *sendcounts,
7474
MPI_Fint *rdispls, MPI_Fint *recvtypes,
7575
MPI_Fint *comm, MPI_Fint *ierr)
7676
{
77-
int c_ierr;
78-
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
79-
MPI_Datatype *c_sendtypes = NULL, *c_recvtypes = NULL;
80-
int size = OMPI_COMM_IS_INTER(c_comm)?ompi_comm_remote_size(c_comm):ompi_comm_size(c_comm);
77+
MPI_Comm c_comm;
78+
MPI_Datatype *c_sendtypes = NULL, *c_recvtypes;
79+
int size, c_ierr;
8180
OMPI_ARRAY_NAME_DECL(sendcounts);
8281
OMPI_ARRAY_NAME_DECL(sdispls);
8382
OMPI_ARRAY_NAME_DECL(recvcounts);
8483
OMPI_ARRAY_NAME_DECL(rdispls);
8584

86-
c_recvtypes = (MPI_Datatype *) malloc(size * sizeof(MPI_Datatype));
87-
if (NULL == c_recvtypes) {
88-
if (NULL != ierr) *ierr = MPI_ERR_NO_MEM;
89-
return;
90-
}
85+
c_comm = PMPI_Comm_f2c(*comm);
86+
size = OMPI_COMM_IS_INTER(c_comm)?ompi_comm_remote_size(c_comm):ompi_comm_size(c_comm);
9187

92-
if (OMPI_COMM_IS_INTER(c_comm) || !OMPI_IS_FORTRAN_IN_PLACE(sendbuf)) {
88+
if (!OMPI_IS_FORTRAN_IN_PLACE(sendbuf)) {
9389
c_sendtypes = (MPI_Datatype *) malloc(size * sizeof(MPI_Datatype));
94-
if (NULL == c_sendtypes) {
95-
if (NULL != ierr) *ierr = MPI_ERR_NO_MEM;
96-
free(c_recvtypes);
97-
return;
98-
}
9990
OMPI_ARRAY_FINT_2_INT(sendcounts, size);
10091
OMPI_ARRAY_FINT_2_INT(sdispls, size);
10192
for (int i=0; i<size; i++) {
10293
c_sendtypes[i] = PMPI_Type_f2c(sendtypes[i]);
10394
}
104-
} else {
105-
sendbuf = MPI_IN_PLACE;
10695
}
10796

97+
c_recvtypes = (MPI_Datatype *) malloc(size * sizeof(MPI_Datatype));
10898
OMPI_ARRAY_FINT_2_INT(recvcounts, size);
10999
OMPI_ARRAY_FINT_2_INT(rdispls, size);
110100
for (int i=0; i<size; i++) {
111101
c_recvtypes[i] = PMPI_Type_f2c(recvtypes[i]);
112102
}
113103

104+
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
114105
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
115106
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
116107

117108
c_ierr = PMPI_Alltoallw(sendbuf,
118-
OMPI_ARRAY_NAME_CONVERT(sendcounts),
119-
OMPI_ARRAY_NAME_CONVERT(sdispls),
120-
c_sendtypes,
121-
recvbuf,
122-
OMPI_ARRAY_NAME_CONVERT(recvcounts),
123-
OMPI_ARRAY_NAME_CONVERT(rdispls),
124-
c_recvtypes, c_comm);
125-
109+
OMPI_ARRAY_NAME_CONVERT(sendcounts),
110+
OMPI_ARRAY_NAME_CONVERT(sdispls),
111+
c_sendtypes,
112+
recvbuf,
113+
OMPI_ARRAY_NAME_CONVERT(recvcounts),
114+
OMPI_ARRAY_NAME_CONVERT(rdispls),
115+
c_recvtypes, c_comm);
126116
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
127117

128118
OMPI_ARRAY_FINT_2_INT_CLEANUP(sendcounts);
129119
OMPI_ARRAY_FINT_2_INT_CLEANUP(sdispls);
130120
OMPI_ARRAY_FINT_2_INT_CLEANUP(recvcounts);
131121
OMPI_ARRAY_FINT_2_INT_CLEANUP(rdispls);
132-
133122
if (NULL != c_sendtypes) {
134123
free(c_sendtypes);
135124
}

0 commit comments

Comments
 (0)