Skip to content

Commit 22bc7d2

Browse files
authored
Merge pull request #9707 from hppritcha/topic/comm_idup_with_info
MPI4:implement MPI_Comm_idup_with_info
2 parents 053ce66 + 169f3f9 commit 22bc7d2

19 files changed

+363
-0
lines changed

ompi/include/mpi.h.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1426,6 +1426,8 @@ OMPI_DECLSPEC int MPI_Comm_disconnect(MPI_Comm *comm);
14261426
OMPI_DECLSPEC int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm);
14271427
OMPI_DECLSPEC int MPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request);
14281428
OMPI_DECLSPEC int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm);
1429+
OMPI_DECLSPEC int MPI_Comm_idup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm,
1430+
MPI_Request *request);
14291431
OMPI_DECLSPEC MPI_Comm MPI_Comm_f2c(MPI_Fint comm);
14301432
OMPI_DECLSPEC int MPI_Comm_free_keyval(int *comm_keyval);
14311433
OMPI_DECLSPEC int MPI_Comm_free(MPI_Comm *comm);
@@ -2179,6 +2181,8 @@ OMPI_DECLSPEC int PMPI_Comm_disconnect(MPI_Comm *comm);
21792181
OMPI_DECLSPEC int PMPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm);
21802182
OMPI_DECLSPEC int PMPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request);
21812183
OMPI_DECLSPEC int PMPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm);
2184+
OMPI_DECLSPEC int PMPI_Comm_idup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm,
2185+
MPI_Request *request);
21822186
OMPI_DECLSPEC MPI_Comm PMPI_Comm_f2c(MPI_Fint comm);
21832187
OMPI_DECLSPEC int PMPI_Comm_free_keyval(int *comm_keyval);
21842188
OMPI_DECLSPEC int PMPI_Comm_free(MPI_Comm *comm);

ompi/mpi/c/Makefile.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ interface_profile_sources = \
120120
comm_dup.c \
121121
comm_dup_with_info.c \
122122
comm_idup.c \
123+
comm_idup_with_info.c \
123124
comm_f2c.c \
124125
comm_free.c \
125126
comm_free_keyval.c \

ompi/mpi/c/comm_idup_with_info.c

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
2+
/*
3+
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
4+
* University Research and Technology
5+
* Corporation. All rights reserved.
6+
* Copyright (c) 2004-2020 The University of Tennessee and The University
7+
* of Tennessee Research Foundation. All rights
8+
* reserved.
9+
* Copyright (c) 2004-2008 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 Cisco Systems, Inc. All rights reserved.
14+
* Copyright (c) 2006-2008 University of Houston. All rights reserved.
15+
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights
16+
* reserved.
17+
* Copyright (c) 2015 Research Organization for Information Science
18+
* and Technology (RIST). All rights reserved.
19+
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
20+
* Copyright (c) 2021 Triad National Security, LLC. All rights
21+
* reserved.
22+
*
23+
* $COPYRIGHT$
24+
*
25+
* Additional copyrights may follow
26+
*
27+
* $HEADER$
28+
*/
29+
#include "ompi_config.h"
30+
#include <stdio.h>
31+
32+
#include "ompi/mpi/c/bindings.h"
33+
#include "ompi/runtime/params.h"
34+
#include "ompi/communicator/communicator.h"
35+
#include "ompi/errhandler/errhandler.h"
36+
#include "ompi/memchecker.h"
37+
38+
#if OMPI_BUILD_MPI_PROFILING
39+
#if OPAL_HAVE_WEAK_SYMBOLS
40+
#pragma weak MPI_Comm_idup_with_info = PMPI_Comm_idup_with_info
41+
#endif
42+
#define MPI_Comm_idup_with_info PMPI_Comm_idup_with_info
43+
#endif
44+
45+
static const char FUNC_NAME[] = "MPI_Comm_idup_with_info";
46+
47+
int MPI_Comm_idup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm, MPI_Request *request)
48+
{
49+
int rc;
50+
51+
MEMCHECKER(
52+
memchecker_comm(comm);
53+
);
54+
55+
/* argument checking */
56+
if ( MPI_PARAM_CHECK ) {
57+
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
58+
59+
if (ompi_comm_invalid (comm))
60+
return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_COMM,
61+
FUNC_NAME);
62+
if (NULL == info || ompi_info_is_freed(info)) {
63+
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_INFO,
64+
FUNC_NAME);
65+
}
66+
67+
if ( NULL == newcomm )
68+
return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_ARG,
69+
FUNC_NAME);
70+
}
71+
72+
#if OPAL_ENABLE_FT_MPI
73+
/*
74+
* An early check, so as to return early if we are using a broken
75+
* communicator. This is not absolutely necessary since we will
76+
* check for this, and other, error conditions during the operation.
77+
*/
78+
if( OPAL_UNLIKELY(!ompi_comm_iface_create_check(comm, &rc)) ) {
79+
OMPI_ERRHANDLER_RETURN(rc, comm, rc, FUNC_NAME);
80+
}
81+
#endif
82+
83+
rc = ompi_comm_idup_with_info (comm, &info->super, newcomm, request);
84+
OMPI_ERRHANDLER_RETURN(rc, comm, rc, FUNC_NAME);
85+
}
86+

ompi/mpi/fortran/mpif-h/Makefile.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ lib@OMPI_LIBMPI_NAME@_mpifh_la_SOURCES += \
182182
comm_dup_f.c \
183183
comm_dup_with_info_f.c \
184184
comm_idup_f.c \
185+
comm_idup_with_info_f.c \
185186
comm_free_f.c \
186187
comm_free_keyval_f.c \
187188
comm_get_attr_f.c \
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
2+
/*
3+
* Copyright (c) 2004-2005 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) 2011-2013 Cisco Systems, Inc. All rights reserved.
14+
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights
15+
* reserved.
16+
* Copyright (c) 2015 Research Organization for Information Science
17+
* and Technology (RIST). All rights reserved.
18+
* Copyright (c) 2021 Triad National Security, LLC. All rights
19+
* reserved.
20+
*
21+
* $COPYRIGHT$
22+
*
23+
* Additional copyrights may follow
24+
*
25+
* $HEADER$
26+
*/
27+
28+
#include "ompi_config.h"
29+
30+
#include "ompi/mpi/fortran/mpif-h/bindings.h"
31+
32+
#if OMPI_BUILD_MPI_PROFILING
33+
#if OPAL_HAVE_WEAK_SYMBOLS
34+
#pragma weak PMPI_COMM_IDUP_WITH_INFO = ompi_comm_idup_with_info_f
35+
#pragma weak pmpi_comm_idup_with_info = ompi_comm_idup_with_info_f
36+
#pragma weak pmpi_comm_idup_with_info_ = ompi_comm_idup_with_info_f
37+
#pragma weak pmpi_comm_idup_with_info__ = ompi_comm_idup_with_info_f
38+
39+
#pragma weak PMPI_Comm_idup_with_info_f = ompi_comm_idup_with_info_f
40+
#pragma weak PMPI_Comm_idup_with_info_f08 = ompi_comm_idup_with_info_f
41+
#else
42+
OMPI_GENERATE_F77_BINDINGS (PMPI_COMM_IDUP_WITH_INFO,
43+
pmpi_comm_idup_with_info,
44+
pmpi_comm_idup_with_info_,
45+
pmpi_comm_idup_with_info__,
46+
pompi_comm_idup_with_info_f,
47+
(MPI_Fint *comm, MPI_Fint *info, MPI_Fint *newcomm, MPI_Fint *request, MPI_Fint *ierr),
48+
(comm, info, newcomm, request, ierr) )
49+
#endif
50+
#endif
51+
52+
#if OPAL_HAVE_WEAK_SYMBOLS
53+
#pragma weak MPI_COMM_IDUP_WITH_INFO = ompi_comm_idup_with_info_f
54+
#pragma weak mpi_comm_idup_with_info = ompi_comm_idup_with_info_f
55+
#pragma weak mpi_comm_idup_with_info_ = ompi_comm_idup_with_info_f
56+
#pragma weak mpi_comm_idup_with_info__ = ompi_comm_idup_with_info_f
57+
58+
#pragma weak MPI_Comm_idup_with_info_f = ompi_comm_idup_with_info_f
59+
#pragma weak MPI_Comm_idup_with_info_f08 = ompi_comm_idup_with_info_f
60+
#else
61+
#if ! OMPI_BUILD_MPI_PROFILING
62+
OMPI_GENERATE_F77_BINDINGS (MPI_COMM_IDUP_WITH_INFO,
63+
mpi_comm_idup_with_info,
64+
mpi_comm_idup_with_info_,
65+
mpi_comm_idup_with_info__,
66+
ompi_comm_idup_with_info_f,
67+
(MPI_Fint *comm, MPI_Fint *info, MPI_Fint *newcomm, MPI_Fint *request, MPI_Fint *ierr),
68+
(comm, info, newcomm, request, ierr) )
69+
#else
70+
#define ompi_comm_idup_with_info_f pompi_comm_idup_with_info_f
71+
#endif
72+
#endif
73+
74+
75+
void ompi_comm_idup_with_info_f(MPI_Fint *comm, MPI_Fint *info, MPI_Fint *newcomm, MPI_Fint *request, MPI_Fint *ierr)
76+
{
77+
int c_ierr;
78+
MPI_Comm c_newcomm;
79+
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
80+
MPI_Info c_info;
81+
MPI_Request c_req;
82+
83+
c_info = PMPI_Info_f2c(*info);
84+
85+
c_ierr = PMPI_Comm_idup_with_info(c_comm, c_info, &c_newcomm, &c_req);
86+
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
87+
88+
if (MPI_SUCCESS == c_ierr) {
89+
*newcomm = PMPI_Comm_c2f(c_newcomm);
90+
*request = PMPI_Request_c2f(c_req);
91+
}
92+
}

ompi/mpi/fortran/mpif-h/profile/Makefile.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ linked_files = \
9595
pcomm_dup_f.c \
9696
pcomm_dup_with_info_f.c \
9797
pcomm_idup_f.c \
98+
pcomm_idup_with_info_f.c \
9899
pcomm_free_f.c \
99100
pcomm_free_keyval_f.c \
100101
pcomm_get_attr_f.c \

ompi/mpi/fortran/mpif-h/prototypes_mpi.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ PN2(void, MPI_Comm_disconnect, mpi_comm_disconnect, MPI_COMM_DISCONNECT, (MPI_Fi
139139
PN2(void, MPI_Comm_dup, mpi_comm_dup, MPI_COMM_DUP, (MPI_Fint *comm, MPI_Fint *newcomm, MPI_Fint *ierr));
140140
PN2(void, MPI_Comm_dup_with_info, mpi_comm_dup_with_info, MPI_COMM_DUP_WITH_INFO, (MPI_Fint *comm, MPI_Fint *info, MPI_Fint *newcomm, MPI_Fint *ierr));
141141
PN2(void, MPI_Comm_idup, mpi_comm_idup, MPI_COMM_IDUP, (MPI_Fint *comm, MPI_Fint *newcomm, MPI_Fint *request, MPI_Fint *ierr));
142+
PN2(void, MPI_Comm_idup_with_info, mpi_comm_idup_with_info, MPI_COMM_IDUP_WITH_INFO, (MPI_Fint *comm, MPI_Fint *info, MPI_Fint *newcomm, MPI_Fint *request, MPI_Fint *ierr));
142143
PN2(void, MPI_Comm_free_keyval, mpi_comm_free_keyval, MPI_COMM_FREE_KEYVAL, (MPI_Fint *comm_keyval, MPI_Fint *ierr));
143144
PN2(void, MPI_Comm_free, mpi_comm_free, MPI_COMM_FREE, (MPI_Fint *comm, MPI_Fint *ierr));
144145
PN2(void, MPI_Comm_get_attr, mpi_comm_get_attr, MPI_COMM_GET_ATTR, (MPI_Fint *comm, MPI_Fint *comm_keyval, MPI_Aint *attribute_val, ompi_fortran_logical_t *flag, MPI_Fint *ierr));

ompi/mpi/fortran/use-mpi-f08/Makefile.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ mpi_api_files = \
161161
comm_dup_f08.F90 \
162162
comm_dup_with_info_f08.F90 \
163163
comm_idup_f08.F90 \
164+
comm_idup_with_info_f08.F90 \
164165
comm_free_f08.F90 \
165166
comm_free_keyval_f08.F90 \
166167
comm_get_attr_f08.F90 \

ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
! Copyright (c) 2015-2020 Research Organization for Information Science
1111
! and Technology (RIST). All rights reserved.
1212
! Copyright (c) 2021 Bull S.A.S. All rights reserved.
13+
! Copyright (c) 2021 Triad National Security, LLC. All rights
14+
! reserved.
1315
! $COPYRIGHT$
1416
!
1517
! This file provides the interface specifications for the MPI Fortran
@@ -1618,6 +1620,16 @@ subroutine ompi_comm_dup_with_info_f(comm, info, newcomm, ierror) &
16181620
integer, intent(out) :: ierror
16191621
end subroutine ompi_comm_dup_with_info_f
16201622

1623+
subroutine ompi_comm_idup_with_info_f(comm, info, newcomm, request, ierror) &
1624+
BIND(C, name="ompi_comm_idup_with_info_f")
1625+
implicit none
1626+
integer, intent(in) :: comm
1627+
integer, intent(in) :: info
1628+
integer, intent(out) :: newcomm
1629+
integer, intent(out) :: request
1630+
integer, intent(out) :: ierror
1631+
end subroutine ompi_comm_idup_with_info_f
1632+
16211633
subroutine ompi_comm_free_f(comm,ierror) &
16221634
BIND(C, name="ompi_comm_free_f")
16231635
implicit none
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
! -*- f90 -*-
2+
!
3+
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
4+
! Copyright (c) 2009-2013 Los Alamos National Security, LLC.
5+
! All rights reserved.
6+
! Copyright (c) 2018-2020 Research Organization for Information Science
7+
! and Technology (RIST). All rights reserved.
8+
! Copyright (c) 2021 Triad National Security, LLC. All rights
9+
! reserved.
10+
! $COPYRIGHT$
11+
12+
#include "mpi-f08-rename.h"
13+
14+
subroutine MPI_Comm_idup_with_info_f08(comm,info,newcomm,request,ierror)
15+
use :: mpi_f08_types, only : MPI_Comm, MPI_Info, MPI_Request
16+
use :: ompi_mpifh_bindings, only : ompi_comm_idup_with_info_f
17+
implicit none
18+
TYPE(MPI_Comm), INTENT(IN) :: comm
19+
TYPE(MPI_Info), INTENT(IN) :: info
20+
TYPE(MPI_Comm), INTENT(OUT) :: newcomm
21+
TYPE(MPI_Request), INTENT(OUT) :: request
22+
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
23+
integer :: c_ierror
24+
25+
call ompi_comm_idup_with_info_f(comm%MPI_VAL,info%MPI_VAL,newcomm%MPI_VAL,request%MPI_VAL,c_ierror)
26+
if (present(ierror)) ierror = c_ierror
27+
28+
end subroutine MPI_Comm_idup_with_info_f08
29+
30+

ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-interfaces.h.in

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
! Copyright (c) 2015-2020 Research Organization for Information Science
1111
! and Technology (RIST). All rights reserved.
1212
! Copyright (c) 2017-2018 FUJITSU LIMITED. All rights reserved.
13+
! Copyright (c) 2021 Triad National Security, LLC. All rights
14+
! reserved.
1315
! $COPYRIGHT$
1416
!
1517
! This file provides the interface specifications for the MPI Fortran
@@ -1861,6 +1863,19 @@ subroutine MPI_Comm_idup_f08(comm,newcomm,request,ierror)
18611863
end subroutine MPI_Comm_idup_f08
18621864
end interface MPI_Comm_idup
18631865

1866+
interface MPI_Comm_idup_with_info
1867+
subroutine MPI_Comm_idup_with_info_f08(comm,info,newcomm,request,ierror)
1868+
use :: mpi_f08_types, only : MPI_Comm, MPI_Request, MPI_info
1869+
implicit none
1870+
TYPE(MPI_Comm), INTENT(IN) :: comm
1871+
TYPE(MPI_Info), INTENT(IN) :: info
1872+
TYPE(MPI_Comm), INTENT(OUT) :: newcomm
1873+
TYPE(MPI_Request), INTENT(OUT) :: request
1874+
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
1875+
end subroutine MPI_Comm_idup_with_info_f08
1876+
end interface MPI_Comm_idup_with_info
1877+
1878+
18641879
interface MPI_Comm_free
18651880
subroutine MPI_Comm_free_f08(comm,ierror)
18661881
use :: mpi_f08_types, only : MPI_Comm

ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-rename.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,8 @@
277277
#define MPI_Comm_dup_with_info_f08 PMPI_Comm_dup_with_info_f08
278278
#define MPI_Comm_idup PMPI_Comm_idup
279279
#define MPI_Comm_idup_f08 PMPI_Comm_idup_f08
280+
#define MPI_Comm_idup_with_info PMPI_Comm_idup_with_info
281+
#define MPI_Comm_idup_with_info_f08 PMPI_Comm_idup_with_info_f08
280282
#define MPI_Comm_free PMPI_Comm_free
281283
#define MPI_Comm_free_f08 PMPI_Comm_free_f08
282284
#define MPI_Comm_free_keyval PMPI_Comm_free_keyval

ompi/mpi/fortran/use-mpi-f08/profile/Makefile.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ pmpi_api_files = \
104104
pcomm_dup_f08.F90 \
105105
pcomm_dup_with_info_f08.F90 \
106106
pcomm_idup_f08.F90 \
107+
pcomm_idup_with_info_f08.F90 \
107108
pcomm_free_f08.F90 \
108109
pcomm_free_keyval_f08.F90 \
109110
pcomm_get_attr_f08.F90 \

ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-interfaces.h.in

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -871,6 +871,17 @@ end subroutine MPI_Comm_idup
871871

872872
end interface
873873

874+
interface
875+
876+
subroutine MPI_Comm_idup_with_info(comm, info, newcomm, request, ierror)
877+
integer, intent(in) :: comm
878+
integer, intent(in) :: info
879+
integer, intent(out) :: newcomm
880+
integer, intent(out) :: request
881+
integer, intent(out) :: ierror
882+
end subroutine MPI_Comm_idup_with_info
883+
884+
end interface
874885

875886
interface
876887

ompi/mpi/fortran/use-mpi-ignore-tkr/pmpi-ignore-tkr-interfaces.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
#define MPI_Comm_get_parent PMPI_Comm_get_parent
6969
#define MPI_Comm_group PMPI_Comm_group
7070
#define MPI_Comm_idup PMPI_Comm_idup
71+
#define MPI_Comm_idup_with_info PMPI_Comm_idup_with_info
7172
#define MPI_Comm_join PMPI_Comm_join
7273
#define MPI_Comm_rank PMPI_Comm_rank
7374
#define MPI_Comm_remote_group PMPI_Comm_remote_group

ompi/mpi/fortran/use-mpi-tkr/mpi-f90-interfaces.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,17 @@ end subroutine MPI_Comm_idup
363363

364364
end interface
365365

366+
interface
367+
368+
subroutine MPI_Comm_idup_with_info(comm, info, newcomm, request, ierror)
369+
integer, intent(in) :: comm
370+
integer, intent(in) :: info
371+
integer, intent(out) :: newcomm
372+
integer, intent(out) :: request
373+
integer, intent(out) :: ierror
374+
end subroutine MPI_Comm_idup_with_info
375+
376+
end interface
366377

367378
interface
368379

ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-interfaces.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#define MPI_Comm_dup PMPI_Comm_dup
3838
#define MPI_Comm_dup_with_info PMPI_Comm_dup_with_info
3939
#define MPI_Comm_idup PMPI_Comm_idup
40+
#define MPI_Comm_idup_with_info PMPI_Comm_idup_with_info
4041
#define MPI_Comm_free PMPI_Comm_free
4142
#define MPI_Comm_free_keyval PMPI_Comm_free_keyval
4243
#define MPI_Comm_get_info PMPI_Comm_get_info

0 commit comments

Comments
 (0)