configury: remove the --enable-mpi-profiling option
and directly call the PMPI_* symbols from C and Fortran bindings
Этот коммит содержится в:
родитель
40b57ff347
Коммит
291a464efb
@ -166,27 +166,6 @@ case "x$enable_mpi_fortran" in
|
||||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
# MPI profiling
|
||||
#
|
||||
|
||||
AC_MSG_CHECKING([if want PMPI])
|
||||
AC_ARG_ENABLE(mpi-profile,
|
||||
AC_HELP_STRING([--enable-mpi-profile],
|
||||
[enable MPI profiling (default: enabled)]))
|
||||
if test "$enable_mpi_profile" != "no"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
WANT_MPI_PROFILING=1
|
||||
MPIF_H_PMPI_W_FUNCS=", PMPI_WTICK, PMPI_WTIME"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
WANT_MPI_PROFILING=0
|
||||
MPIF_H_PMPI_W_FUNCS=
|
||||
fi
|
||||
AC_SUBST(MPIF_H_PMPI_W_FUNCS)
|
||||
AM_CONDITIONAL(WANT_MPI_PROFILING, test "$WANT_MPI_PROFILING" = 1)
|
||||
|
||||
|
||||
#
|
||||
# C++
|
||||
#
|
||||
|
@ -374,15 +374,6 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
|
||||
OMPI_FORTRAN_F08_TYPE=$OMPI_FORTRAN_IGNORE_TKR_TYPE
|
||||
])
|
||||
|
||||
AS_IF([test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \
|
||||
test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS],
|
||||
[ # If we don't have PMPI, we won't build mpi_f08 at all
|
||||
AC_MSG_CHECKING([whether PMPI is enabled (needed for mpi_f08)])
|
||||
AS_IF([test $WANT_MPI_PROFILING -eq 1],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS
|
||||
AC_MSG_RESULT([no (cannot build mpi_f08)])])])
|
||||
|
||||
# The overall "_BIND_C" variable will be set to 1 if we have all
|
||||
# the necessary forms of BIND(C)
|
||||
OMPI_FORTRAN_HAVE_BIND_C=0
|
||||
@ -656,11 +647,10 @@ end type test_mpi_handle],
|
||||
# these layers need to be built or NOT
|
||||
|
||||
AM_CONDITIONAL(BUILD_MPI_FORTRAN_MPIFH_BINDINGS_LAYER,
|
||||
[( test $WANT_MPI_PROFILING -eq 0 || test $OMPI_PROFILING_COMPILE_SEPARATELY -eq 1 ) && \
|
||||
[test $OMPI_PROFILING_COMPILE_SEPARATELY -eq 1 && \
|
||||
test $OMPI_BUILD_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS])
|
||||
AM_CONDITIONAL(BUILD_PMPI_FORTRAN_MPIFH_BINDINGS_LAYER,
|
||||
[test $OMPI_BUILD_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS && \
|
||||
test $WANT_MPI_PROFILING -eq 1])
|
||||
[test $OMPI_BUILD_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS])
|
||||
AM_CONDITIONAL(OMPI_BUILD_FORTRAN_MPIFH_BINDINGS,
|
||||
[test $OMPI_BUILD_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS])
|
||||
|
||||
|
@ -15,6 +15,8 @@
|
||||
# Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights
|
||||
# reserved.
|
||||
# Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
||||
# Copyright (c) 2015 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
@ -39,14 +41,10 @@ AC_DEFUN([OMPI_SETUP_MPI_PROFILING],[
|
||||
#
|
||||
|
||||
AM_CONDITIONAL(BUILD_MPI_BINDINGS_LAYER,
|
||||
test "$WANT_MPI_PROFILING" = 0 -o "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1)
|
||||
test "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1)
|
||||
|
||||
AM_CONDITIONAL(BUILD_PMPI_BINDINGS_LAYER,
|
||||
test "$WANT_MPI_PROFILING" = 1)
|
||||
AM_CONDITIONAL(COMPILE_PROFILING_SEPARATELY,
|
||||
test "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1)
|
||||
AC_DEFINE_UNQUOTED(OMPI_ENABLE_MPI_PROFILING, $WANT_MPI_PROFILING,
|
||||
[Whether we want MPI profiling or not])
|
||||
AC_DEFINE_UNQUOTED(OPAL_HAVE_WEAK_SYMBOLS, $OPAL_C_HAVE_WEAK_SYMBOLS,
|
||||
[Whether we have weak symbols or not])
|
||||
])
|
||||
|
18
configure.ac
18
configure.ac
@ -480,14 +480,10 @@ fi
|
||||
if test "$WANT_WEAK_SYMBOLS" = "0"; then
|
||||
OPAL_C_HAVE_WEAK_SYMBOLS=0
|
||||
fi
|
||||
if test "$WANT_MPI_PROFILING" = "1"; then
|
||||
if test "$OPAL_C_HAVE_WEAK_SYMBOLS" = "1"; then
|
||||
OMPI_PROFILING_COMPILE_SEPARATELY=0
|
||||
else
|
||||
OMPI_PROFILING_COMPILE_SEPARATELY=1
|
||||
fi
|
||||
else
|
||||
if test "$OPAL_C_HAVE_WEAK_SYMBOLS" = "1"; then
|
||||
OMPI_PROFILING_COMPILE_SEPARATELY=0
|
||||
else
|
||||
OMPI_PROFILING_COMPILE_SEPARATELY=1
|
||||
fi
|
||||
|
||||
# Check if we support the offsetof compiler directive
|
||||
@ -533,13 +529,7 @@ m4_ifdef([project_oshmem], [OSHMEM_SETUP_JAVA_BINDINGS])
|
||||
##################################
|
||||
|
||||
# Setup profiling bindings (if we're building the relevant projects).
|
||||
# Note that opal_wrapper.c has a hard-coded use of the
|
||||
# OMPI_ENABLE_MPI_PROFILING macro, so we need to define it (to 0) even
|
||||
# if we're not building the OMPI project.
|
||||
|
||||
m4_ifdef([project_ompi], [OMPI_SETUP_MPI_PROFILING],
|
||||
[AC_DEFINE([OMPI_ENABLE_MPI_PROFILING], [0],
|
||||
[We are not building OMPI, so no profiling])])
|
||||
m4_ifdef([project_ompi], [OMPI_SETUP_MPI_PROFILING])
|
||||
m4_ifdef([project_oshmem], [OSHMEM_SETUP_PROFILING])
|
||||
|
||||
|
||||
|
@ -15,6 +15,8 @@
|
||||
# Copyright (c) 2013-2015 Los Alamos National Security, LLC. All rights
|
||||
# reserved.
|
||||
# Copyright (c) 2015 Intel, Inc. All rights reserved.
|
||||
# Copyright (c) 2015 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
@ -29,11 +31,7 @@ c_mpi_lib = mpi/c/libmpi_c_mpi.la mpi/tool/libmpi_mpit.la
|
||||
else
|
||||
c_mpi_lib =
|
||||
endif
|
||||
if BUILD_PMPI_BINDINGS_LAYER
|
||||
c_pmpi_lib = mpi/c/profile/libmpi_c_pmpi.la mpi/tool/profile/libmpi_pmpit.la
|
||||
else
|
||||
c_pmpi_lib =
|
||||
endif
|
||||
|
||||
# See if we have Fortran mpif.h MPI bindings
|
||||
|
||||
|
@ -31,10 +31,6 @@
|
||||
#define MPI_Errhandler_create PMPI_Errhandler_create
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_create_errhandler PMPI_Comm_create_errhandler
|
||||
#endif
|
||||
|
||||
int MPI_Errhandler_create(MPI_Handler_function *function,
|
||||
MPI_Errhandler *errhandler)
|
||||
{
|
||||
@ -42,5 +38,5 @@ int MPI_Errhandler_create(MPI_Handler_function *function,
|
||||
/* This is a deprecated -- just turn around and call the real
|
||||
function */
|
||||
|
||||
return MPI_Comm_create_errhandler(function, errhandler);
|
||||
return PMPI_Comm_create_errhandler(function, errhandler);
|
||||
}
|
||||
|
@ -33,10 +33,6 @@
|
||||
#define MPI_Errhandler_get PMPI_Errhandler_get
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_get_errhandler PMPI_Comm_get_errhandler
|
||||
#endif
|
||||
|
||||
static const char FUNC_NAME[] = "MPI_Errhandler_get";
|
||||
|
||||
|
||||
@ -55,5 +51,5 @@ int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler)
|
||||
/* This is a deprecated -- just turn around and call the real
|
||||
function */
|
||||
|
||||
return MPI_Comm_get_errhandler(comm, errhandler);
|
||||
return PMPI_Comm_get_errhandler(comm, errhandler);
|
||||
}
|
||||
|
@ -33,10 +33,6 @@
|
||||
#define MPI_Errhandler_set PMPI_Errhandler_set
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_set_errhandler PMPI_Comm_set_errhandler
|
||||
#endif
|
||||
|
||||
static const char FUNC_NAME[] = "MPI_Errhandler_set";
|
||||
|
||||
|
||||
@ -55,5 +51,5 @@ int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)
|
||||
/* This is a deprecated -- just turn around and call the real
|
||||
function */
|
||||
|
||||
return MPI_Comm_set_errhandler(comm, errhandler);
|
||||
return PMPI_Comm_set_errhandler(comm, errhandler);
|
||||
}
|
||||
|
@ -38,10 +38,7 @@ AM_CPPFLAGS = -DOMPI_BUILD_MPI_PROFILING=1
|
||||
# Further, this build HAS to go through if profiling is required.
|
||||
#
|
||||
|
||||
noinst_LTLIBRARIES =
|
||||
if BUILD_PMPI_BINDINGS_LAYER
|
||||
noinst_LTLIBRARIES += libmpi_c_pmpi.la
|
||||
endif
|
||||
noinst_LTLIBRARIES = libmpi_c_pmpi.la
|
||||
|
||||
nodist_libmpi_c_pmpi_la_SOURCES = \
|
||||
pabort.c \
|
||||
|
@ -37,12 +37,6 @@
|
||||
#define MPI_Sendrecv_replace PMPI_Sendrecv_replace
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Alloc_mem PMPI_Alloc_mem
|
||||
#define MPI_Free_mem PMPI_Free_mem
|
||||
#define MPI_Sendrecv PMPI_Sendrecv
|
||||
#endif
|
||||
|
||||
static const char FUNC_NAME[] = "MPI_Sendrecv_replace";
|
||||
|
||||
|
||||
@ -82,7 +76,7 @@ int MPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype,
|
||||
|
||||
/* simple case */
|
||||
if ( source == MPI_PROC_NULL || dest == MPI_PROC_NULL || count == 0 ) {
|
||||
rc = MPI_Sendrecv(buf,count,datatype,dest,sendtag,buf,count,datatype,source,recvtag,comm,status);
|
||||
rc = PMPI_Sendrecv(buf,count,datatype,dest,sendtag,buf,count,datatype,source,recvtag,comm,status);
|
||||
|
||||
OPAL_CR_EXIT_LIBRARY();
|
||||
return rc;
|
||||
@ -108,7 +102,7 @@ int MPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype,
|
||||
/* setup a buffer for recv */
|
||||
opal_convertor_get_packed_size( &convertor, &packed_size );
|
||||
if( packed_size > sizeof(recv_data) ) {
|
||||
rc = MPI_Alloc_mem(packed_size, MPI_INFO_NULL, &iov.iov_base);
|
||||
rc = PMPI_Alloc_mem(packed_size, MPI_INFO_NULL, &iov.iov_base);
|
||||
if(OMPI_SUCCESS != rc) {
|
||||
OMPI_ERRHANDLER_RETURN(OMPI_ERR_OUT_OF_RESOURCE, comm, MPI_ERR_BUFFER, FUNC_NAME);
|
||||
}
|
||||
@ -117,11 +111,11 @@ int MPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype,
|
||||
}
|
||||
|
||||
/* recv into temporary buffer */
|
||||
rc = MPI_Sendrecv( buf, count, datatype, dest, sendtag, iov.iov_base, packed_size,
|
||||
rc = PMPI_Sendrecv( buf, count, datatype, dest, sendtag, iov.iov_base, packed_size,
|
||||
MPI_BYTE, source, recvtag, comm, &recv_status );
|
||||
if (rc != MPI_SUCCESS) {
|
||||
if(packed_size > sizeof(recv_data))
|
||||
MPI_Free_mem(iov.iov_base);
|
||||
PMPI_Free_mem(iov.iov_base);
|
||||
OBJ_DESTRUCT(&convertor);
|
||||
OMPI_ERRHANDLER_RETURN(rc, comm, rc, FUNC_NAME);
|
||||
}
|
||||
@ -139,7 +133,7 @@ int MPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype,
|
||||
|
||||
/* release resources */
|
||||
if(packed_size > sizeof(recv_data)) {
|
||||
MPI_Free_mem(iov.iov_base);
|
||||
PMPI_Free_mem(iov.iov_base);
|
||||
}
|
||||
OBJ_DESTRUCT(&convertor);
|
||||
|
||||
|
@ -33,10 +33,6 @@
|
||||
#define MPI_Type_hindexed PMPI_Type_hindexed
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Type_create_hindexed PMPI_Type_create_hindexed
|
||||
#endif
|
||||
|
||||
static const char FUNC_NAME[] = "MPI_Type_hindexed";
|
||||
|
||||
|
||||
@ -74,7 +70,7 @@ int MPI_Type_hindexed(int count,
|
||||
}
|
||||
}
|
||||
|
||||
return MPI_Type_create_hindexed(count,
|
||||
return PMPI_Type_create_hindexed(count,
|
||||
array_of_blocklengths,
|
||||
array_of_displacements,
|
||||
oldtype,
|
||||
|
@ -33,10 +33,6 @@
|
||||
#define MPI_Type_hvector PMPI_Type_hvector
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Type_create_hvector PMPI_Type_create_hvector
|
||||
#endif
|
||||
|
||||
static const char FUNC_NAME[] = "MPI_Type_hvector";
|
||||
|
||||
|
||||
@ -65,7 +61,7 @@ int MPI_Type_hvector(int count,
|
||||
}
|
||||
}
|
||||
|
||||
return MPI_Type_create_hvector(count,
|
||||
return PMPI_Type_create_hvector(count,
|
||||
blocklength,
|
||||
stride,
|
||||
oldtype,
|
||||
|
@ -29,10 +29,6 @@
|
||||
#define MPI_Type_struct PMPI_Type_struct
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Type_create_struct PMPI_Type_create_struct
|
||||
#endif
|
||||
|
||||
int MPI_Type_struct(int count,
|
||||
int array_of_blocklengths[],
|
||||
MPI_Aint array_of_displacements[],
|
||||
@ -40,7 +36,7 @@ int MPI_Type_struct(int count,
|
||||
MPI_Datatype *newtype)
|
||||
{
|
||||
/* the param check will be done if necessary on the MPI_Type_create_struct */
|
||||
return MPI_Type_create_struct(count,
|
||||
return PMPI_Type_create_struct(count,
|
||||
array_of_blocklengths,
|
||||
array_of_displacements,
|
||||
array_of_types,
|
||||
|
@ -65,16 +65,13 @@ OMPI_GENERATE_F77_BINDINGS(MPI_ABORT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Abort PMPI_Abort
|
||||
#endif
|
||||
|
||||
|
||||
void ompi_abort_f(MPI_Fint *comm, MPI_Fint *errorcode, MPI_Fint *ierr)
|
||||
{
|
||||
int ierr_c;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
ierr_c = MPI_Abort(c_comm, OMPI_FINT_2_INT(*errorcode));
|
||||
ierr_c = PMPI_Abort(c_comm, OMPI_FINT_2_INT(*errorcode));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||
}
|
||||
|
@ -67,9 +67,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ACCUMULATE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Accumulate PMPI_Accumulate
|
||||
#endif
|
||||
|
||||
void ompi_accumulate_f(char *origin_addr, MPI_Fint *origin_count,
|
||||
MPI_Fint *origin_datatype, MPI_Fint *target_rank,
|
||||
@ -79,18 +76,18 @@ void ompi_accumulate_f(char *origin_addr, MPI_Fint *origin_count,
|
||||
{
|
||||
int ierr_c;
|
||||
|
||||
MPI_Datatype c_origin_datatype = MPI_Type_f2c(*origin_datatype);
|
||||
MPI_Datatype c_target_datatype = MPI_Type_f2c(*target_datatype);
|
||||
MPI_Win c_win = MPI_Win_f2c(*win);
|
||||
MPI_Op c_op = MPI_Op_f2c(*op);
|
||||
MPI_Datatype c_origin_datatype = PMPI_Type_f2c(*origin_datatype);
|
||||
MPI_Datatype c_target_datatype = PMPI_Type_f2c(*target_datatype);
|
||||
MPI_Win c_win = PMPI_Win_f2c(*win);
|
||||
MPI_Op c_op = PMPI_Op_f2c(*op);
|
||||
|
||||
ierr_c = MPI_Accumulate(OMPI_F2C_BOTTOM(origin_addr),
|
||||
OMPI_FINT_2_INT(*origin_count),
|
||||
c_origin_datatype,
|
||||
OMPI_FINT_2_INT(*target_rank),
|
||||
*target_disp,
|
||||
OMPI_FINT_2_INT(*target_count),
|
||||
c_target_datatype, c_op, c_win);
|
||||
ierr_c = PMPI_Accumulate(OMPI_F2C_BOTTOM(origin_addr),
|
||||
OMPI_FINT_2_INT(*origin_count),
|
||||
c_origin_datatype,
|
||||
OMPI_FINT_2_INT(*target_rank),
|
||||
*target_disp,
|
||||
OMPI_FINT_2_INT(*target_count),
|
||||
c_target_datatype, c_op, c_win);
|
||||
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||
}
|
||||
|
@ -65,16 +65,13 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ADD_ERROR_CLASS,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Add_error_class PMPI_Add_error_class
|
||||
#endif
|
||||
|
||||
void ompi_add_error_class_f(MPI_Fint *errorclass, MPI_Fint *ierr)
|
||||
{
|
||||
int ierr_c;
|
||||
OMPI_SINGLE_NAME_DECL(errorclass);
|
||||
|
||||
ierr_c = MPI_Add_error_class(OMPI_SINGLE_NAME_CONVERT(errorclass));
|
||||
ierr_c = PMPI_Add_error_class(OMPI_SINGLE_NAME_CONVERT(errorclass));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||
|
||||
if (MPI_SUCCESS == ierr_c) {
|
||||
|
@ -65,18 +65,15 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ADD_ERROR_CODE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Add_error_code PMPI_Add_error_code
|
||||
#endif
|
||||
|
||||
void ompi_add_error_code_f(MPI_Fint *errorclass, MPI_Fint *errorcode, MPI_Fint *ierr)
|
||||
{
|
||||
int ierr_c;
|
||||
OMPI_SINGLE_NAME_DECL(errorcode);
|
||||
|
||||
ierr_c = MPI_Add_error_code(OMPI_FINT_2_INT(*errorclass),
|
||||
OMPI_SINGLE_NAME_CONVERT(errorcode)
|
||||
);
|
||||
ierr_c = PMPI_Add_error_code(OMPI_FINT_2_INT(*errorclass),
|
||||
OMPI_SINGLE_NAME_CONVERT(errorcode)
|
||||
);
|
||||
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||
if (MPI_SUCCESS == ierr_c) {
|
||||
|
@ -68,9 +68,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ADD_ERROR_STRING,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Add_error_string PMPI_Add_error_string
|
||||
#endif
|
||||
|
||||
void ompi_add_error_string_f(MPI_Fint *errorcode, char *string,
|
||||
MPI_Fint *ierr, int len)
|
||||
@ -86,7 +83,7 @@ void ompi_add_error_string_f(MPI_Fint *errorcode, char *string,
|
||||
}
|
||||
|
||||
ompi_fortran_string_f2c(string, len, &c_string);
|
||||
ierr_c = MPI_Add_error_string(OMPI_FINT_2_INT(*errorcode), c_string);
|
||||
ierr_c = PMPI_Add_error_string(OMPI_FINT_2_INT(*errorcode), c_string);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||
free(c_string);
|
||||
}
|
||||
|
@ -65,16 +65,13 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ADDRESS,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Address PMPI_Address
|
||||
#endif
|
||||
|
||||
void ompi_address_f(char *location, MPI_Fint *address, MPI_Fint *ierr)
|
||||
{
|
||||
int ierr_c;
|
||||
MPI_Aint addr;
|
||||
|
||||
ierr_c = MPI_Address(location, &addr);
|
||||
ierr_c = PMPI_Address(location, &addr);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||
|
||||
if (MPI_SUCCESS == ierr_c) {
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ALLGATHER,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Allgather PMPI_Allgather
|
||||
#endif
|
||||
|
||||
void ompi_allgather_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
|
||||
char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype,
|
||||
@ -78,20 +75,20 @@ void ompi_allgather_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
|
||||
MPI_Comm c_comm;
|
||||
MPI_Datatype c_sendtype, c_recvtype;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_sendtype = MPI_Type_f2c(*sendtype);
|
||||
c_recvtype = MPI_Type_f2c(*recvtype);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_sendtype = PMPI_Type_f2c(*sendtype);
|
||||
c_recvtype = PMPI_Type_f2c(*recvtype);
|
||||
|
||||
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
|
||||
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
|
||||
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
|
||||
|
||||
ierr_c = MPI_Allgather(sendbuf,
|
||||
OMPI_FINT_2_INT(*sendcount),
|
||||
c_sendtype,
|
||||
recvbuf,
|
||||
OMPI_FINT_2_INT(*recvcount),
|
||||
c_recvtype, c_comm);
|
||||
ierr_c = PMPI_Allgather(sendbuf,
|
||||
OMPI_FINT_2_INT(*sendcount),
|
||||
c_sendtype,
|
||||
recvbuf,
|
||||
OMPI_FINT_2_INT(*recvcount),
|
||||
c_recvtype, c_comm);
|
||||
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||
}
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ALLGATHERV,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Allgatherv PMPI_Allgatherv
|
||||
#endif
|
||||
|
||||
void ompi_allgatherv_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
|
||||
char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs,
|
||||
@ -80,11 +77,11 @@ void ompi_allgatherv_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
|
||||
OMPI_ARRAY_NAME_DECL(recvcounts);
|
||||
OMPI_ARRAY_NAME_DECL(displs);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_sendtype = MPI_Type_f2c(*sendtype);
|
||||
c_recvtype = MPI_Type_f2c(*recvtype);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_sendtype = PMPI_Type_f2c(*sendtype);
|
||||
c_recvtype = PMPI_Type_f2c(*recvtype);
|
||||
|
||||
MPI_Comm_size(c_comm, &size);
|
||||
PMPI_Comm_size(c_comm, &size);
|
||||
OMPI_ARRAY_FINT_2_INT(recvcounts, size);
|
||||
OMPI_ARRAY_FINT_2_INT(displs, size);
|
||||
|
||||
@ -92,13 +89,13 @@ void ompi_allgatherv_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
|
||||
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
|
||||
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
|
||||
|
||||
ierr_c = MPI_Allgatherv(sendbuf,
|
||||
OMPI_FINT_2_INT(*sendcount),
|
||||
c_sendtype,
|
||||
recvbuf,
|
||||
OMPI_ARRAY_NAME_CONVERT(recvcounts),
|
||||
OMPI_ARRAY_NAME_CONVERT(displs),
|
||||
c_recvtype, c_comm);
|
||||
ierr_c = PMPI_Allgatherv(sendbuf,
|
||||
OMPI_FINT_2_INT(*sendcount),
|
||||
c_sendtype,
|
||||
recvbuf,
|
||||
OMPI_ARRAY_NAME_CONVERT(recvcounts),
|
||||
OMPI_ARRAY_NAME_CONVERT(displs),
|
||||
c_recvtype, c_comm);
|
||||
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||
|
||||
|
@ -93,15 +93,12 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ALLOC_MEM_CPTR,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Alloc_mem PMPI_Alloc_mem
|
||||
#endif
|
||||
|
||||
void ompi_alloc_mem_f(MPI_Aint *size, MPI_Fint *info, char *baseptr, MPI_Fint *ierr)
|
||||
{
|
||||
int ierr_c;
|
||||
MPI_Info c_info = MPI_Info_f2c(*info);
|
||||
MPI_Info c_info = PMPI_Info_f2c(*info);
|
||||
|
||||
ierr_c = MPI_Alloc_mem(*size, c_info, baseptr);
|
||||
ierr_c = PMPI_Alloc_mem(*size, c_info, baseptr);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||
}
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ALLREDUCE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Allreduce PMPI_Allreduce
|
||||
#endif
|
||||
|
||||
void ompi_allreduce_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
|
||||
MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm,
|
||||
@ -79,16 +76,16 @@ void ompi_allreduce_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
|
||||
MPI_Datatype c_type;
|
||||
MPI_Op c_op;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_type = MPI_Type_f2c(*datatype);
|
||||
c_op = MPI_Op_f2c(*op);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_type = PMPI_Type_f2c(*datatype);
|
||||
c_op = PMPI_Op_f2c(*op);
|
||||
|
||||
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
|
||||
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
|
||||
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
|
||||
|
||||
ierr_c = MPI_Allreduce(sendbuf, recvbuf,
|
||||
OMPI_FINT_2_INT(*count),
|
||||
c_type, c_op, c_comm);
|
||||
ierr_c = PMPI_Allreduce(sendbuf, recvbuf,
|
||||
OMPI_FINT_2_INT(*count),
|
||||
c_type, c_op, c_comm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||
}
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ALLTOALL,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Alltoall PMPI_Alltoall
|
||||
#endif
|
||||
|
||||
void ompi_alltoall_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
|
||||
char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype,
|
||||
@ -78,15 +75,15 @@ void ompi_alltoall_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
|
||||
MPI_Comm c_comm;
|
||||
MPI_Datatype c_sendtype, c_recvtype;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_sendtype = MPI_Type_f2c(*sendtype);
|
||||
c_recvtype = MPI_Type_f2c(*recvtype);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_sendtype = PMPI_Type_f2c(*sendtype);
|
||||
c_recvtype = PMPI_Type_f2c(*recvtype);
|
||||
|
||||
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
|
||||
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
|
||||
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
|
||||
|
||||
c_ierr = MPI_Alltoall(sendbuf,
|
||||
c_ierr = PMPI_Alltoall(sendbuf,
|
||||
OMPI_FINT_2_INT(*sendcount),
|
||||
c_sendtype,
|
||||
recvbuf,
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ALLTOALLV,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Alltoallv PMPI_Alltoallv
|
||||
#endif
|
||||
|
||||
void ompi_alltoallv_f(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls,
|
||||
MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts,
|
||||
@ -83,11 +80,11 @@ void ompi_alltoallv_f(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls,
|
||||
OMPI_ARRAY_NAME_DECL(recvcounts);
|
||||
OMPI_ARRAY_NAME_DECL(rdispls);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_sendtype = MPI_Type_f2c(*sendtype);
|
||||
c_recvtype = MPI_Type_f2c(*recvtype);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_sendtype = PMPI_Type_f2c(*sendtype);
|
||||
c_recvtype = PMPI_Type_f2c(*recvtype);
|
||||
|
||||
MPI_Comm_size(c_comm, &size);
|
||||
PMPI_Comm_size(c_comm, &size);
|
||||
OMPI_ARRAY_FINT_2_INT(sendcounts, size);
|
||||
OMPI_ARRAY_FINT_2_INT(sdispls, size);
|
||||
OMPI_ARRAY_FINT_2_INT(recvcounts, size);
|
||||
@ -97,7 +94,7 @@ void ompi_alltoallv_f(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls,
|
||||
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
|
||||
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
|
||||
|
||||
c_ierr = MPI_Alltoallv(sendbuf,
|
||||
c_ierr = PMPI_Alltoallv(sendbuf,
|
||||
OMPI_ARRAY_NAME_CONVERT(sendcounts),
|
||||
OMPI_ARRAY_NAME_CONVERT(sdispls),
|
||||
c_sendtype,
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ALLTOALLW,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Alltoallw PMPI_Alltoallw
|
||||
#endif
|
||||
|
||||
void ompi_alltoallw_f(char *sendbuf, MPI_Fint *sendcounts,
|
||||
MPI_Fint *sdispls, MPI_Fint *sendtypes,
|
||||
@ -84,8 +81,8 @@ void ompi_alltoallw_f(char *sendbuf, MPI_Fint *sendcounts,
|
||||
OMPI_ARRAY_NAME_DECL(recvcounts);
|
||||
OMPI_ARRAY_NAME_DECL(rdispls);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm_size(c_comm, &size);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
PMPI_Comm_size(c_comm, &size);
|
||||
|
||||
c_sendtypes = (MPI_Datatype *) malloc(size * sizeof(MPI_Datatype));
|
||||
c_recvtypes = (MPI_Datatype *) malloc(size * sizeof(MPI_Datatype));
|
||||
@ -96,8 +93,8 @@ void ompi_alltoallw_f(char *sendbuf, MPI_Fint *sendcounts,
|
||||
OMPI_ARRAY_FINT_2_INT(rdispls, size);
|
||||
|
||||
while (size > 0) {
|
||||
c_sendtypes[size - 1] = MPI_Type_f2c(sendtypes[size - 1]);
|
||||
c_recvtypes[size - 1] = MPI_Type_f2c(recvtypes[size - 1]);
|
||||
c_sendtypes[size - 1] = PMPI_Type_f2c(sendtypes[size - 1]);
|
||||
c_recvtypes[size - 1] = PMPI_Type_f2c(recvtypes[size - 1]);
|
||||
--size;
|
||||
}
|
||||
|
||||
@ -105,7 +102,7 @@ void ompi_alltoallw_f(char *sendbuf, MPI_Fint *sendcounts,
|
||||
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
|
||||
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
|
||||
|
||||
c_ierr = MPI_Alltoallw(sendbuf,
|
||||
c_ierr = PMPI_Alltoallw(sendbuf,
|
||||
OMPI_ARRAY_NAME_CONVERT(sendcounts),
|
||||
OMPI_ARRAY_NAME_CONVERT(sdispls),
|
||||
c_sendtypes,
|
||||
|
@ -65,16 +65,13 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ATTR_DELETE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Attr_delete PMPI_Attr_delete
|
||||
#endif
|
||||
|
||||
void ompi_attr_delete_f(MPI_Fint *comm, MPI_Fint *keyval, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm;
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
c_ierr = MPI_Attr_delete(c_comm, OMPI_FINT_2_INT(*keyval));
|
||||
c_ierr = PMPI_Attr_delete(c_comm, OMPI_FINT_2_INT(*keyval));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
}
|
||||
|
@ -67,15 +67,11 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ATTR_GET,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Attr_get PMPI_Attr_get
|
||||
#endif
|
||||
|
||||
void ompi_attr_get_f(MPI_Fint *comm, MPI_Fint *keyval,
|
||||
MPI_Fint *attribute_val, ompi_fortran_logical_t *flag, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
OMPI_LOGICAL_NAME_DECL(flag);
|
||||
|
||||
/* This stuff is very confusing. Be sure to see the comment at
|
||||
|
@ -67,15 +67,11 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ATTR_PUT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Attr_put PMPI_Attr_put
|
||||
#endif
|
||||
|
||||
void ompi_attr_put_f(MPI_Fint *comm, MPI_Fint *keyval, MPI_Fint *attribute_val,
|
||||
MPI_Fint *ierr)
|
||||
{
|
||||
int c_err;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
/* This stuff is very confusing. Be sure to see the comment at
|
||||
the top of src/attributes/attributes.c. */
|
||||
|
@ -65,17 +65,14 @@ OMPI_GENERATE_F77_BINDINGS (MPI_BARRIER,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Barrier PMPI_Barrier
|
||||
#endif
|
||||
|
||||
void ompi_barrier_f(MPI_Fint *comm, MPI_Fint *ierr)
|
||||
{
|
||||
int ierr_c;
|
||||
MPI_Comm c_comm;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
ierr_c = MPI_Barrier(c_comm);
|
||||
ierr_c = PMPI_Barrier(c_comm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
|
||||
}
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_BCAST,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Bcast PMPI_Bcast
|
||||
#endif
|
||||
|
||||
void ompi_bcast_f(char *buffer, MPI_Fint *count, MPI_Fint *datatype,
|
||||
MPI_Fint *root, MPI_Fint *comm, MPI_Fint *ierr)
|
||||
@ -77,10 +74,10 @@ void ompi_bcast_f(char *buffer, MPI_Fint *count, MPI_Fint *datatype,
|
||||
MPI_Comm c_comm;
|
||||
MPI_Datatype c_type;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_type = MPI_Type_f2c(*datatype);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_type = PMPI_Type_f2c(*datatype);
|
||||
|
||||
c_ierr = MPI_Bcast(OMPI_F2C_BOTTOM(buffer),
|
||||
c_ierr = PMPI_Bcast(OMPI_F2C_BOTTOM(buffer),
|
||||
OMPI_FINT_2_INT(*count),
|
||||
c_type,
|
||||
OMPI_FINT_2_INT(*root),
|
||||
|
@ -66,19 +66,16 @@ OMPI_GENERATE_F77_BINDINGS (MPI_BSEND,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Bsend PMPI_Bsend
|
||||
#endif
|
||||
|
||||
void ompi_bsend_f(char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm;
|
||||
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
|
||||
MPI_Datatype c_type = PMPI_Type_f2c(*datatype);
|
||||
|
||||
c_comm = MPI_Comm_f2c (*comm);
|
||||
c_comm = PMPI_Comm_f2c (*comm);
|
||||
|
||||
c_ierr = MPI_Bsend(OMPI_F2C_BOTTOM(buf), OMPI_FINT_2_INT(*count),
|
||||
c_ierr = PMPI_Bsend(OMPI_F2C_BOTTOM(buf), OMPI_FINT_2_INT(*count),
|
||||
c_type, OMPI_FINT_2_INT(*dest),
|
||||
OMPI_FINT_2_INT(*tag), c_comm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
@ -66,20 +66,17 @@ OMPI_GENERATE_F77_BINDINGS (MPI_BSEND_INIT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Bsend_init PMPI_Bsend_init
|
||||
#endif
|
||||
|
||||
void ompi_bsend_init_f(char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *request, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
|
||||
MPI_Datatype c_type = PMPI_Type_f2c(*datatype);
|
||||
MPI_Request c_req;
|
||||
MPI_Comm c_comm;
|
||||
|
||||
c_comm = MPI_Comm_f2c (*comm);
|
||||
c_comm = PMPI_Comm_f2c (*comm);
|
||||
|
||||
c_ierr = MPI_Bsend_init(OMPI_F2C_BOTTOM(buf), OMPI_FINT_2_INT(*count),
|
||||
c_ierr = PMPI_Bsend_init(OMPI_F2C_BOTTOM(buf), OMPI_FINT_2_INT(*count),
|
||||
c_type,
|
||||
OMPI_FINT_2_INT(*dest),
|
||||
OMPI_FINT_2_INT(*tag),
|
||||
@ -87,6 +84,6 @@ void ompi_bsend_init_f(char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*request = MPI_Request_c2f(c_req);
|
||||
*request = PMPI_Request_c2f(c_req);
|
||||
}
|
||||
}
|
||||
|
@ -65,12 +65,9 @@ OMPI_GENERATE_F77_BINDINGS (MPI_BUFFER_ATTACH,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Buffer_attach PMPI_Buffer_attach
|
||||
#endif
|
||||
|
||||
void ompi_buffer_attach_f(char *buffer, MPI_Fint *size, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr = MPI_Buffer_attach(buffer, OMPI_FINT_2_INT(*size));
|
||||
int c_ierr = PMPI_Buffer_attach(buffer, OMPI_FINT_2_INT(*size));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
}
|
||||
|
@ -64,9 +64,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_BUFFER_DETACH,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Buffer_detach PMPI_Buffer_detach
|
||||
#endif
|
||||
|
||||
/* (this comment is repeated in ompi/mpi/fortran/use-mpi-f08/buffer_detach.c)
|
||||
*
|
||||
@ -87,7 +84,7 @@ void ompi_buffer_detach_f(char *buffer, MPI_Fint *size, MPI_Fint *ierr)
|
||||
void *dummy;
|
||||
OMPI_SINGLE_NAME_DECL(size);
|
||||
|
||||
c_ierr = MPI_Buffer_detach(&dummy, OMPI_SINGLE_NAME_CONVERT(size));
|
||||
c_ierr = PMPI_Buffer_detach(&dummy, OMPI_SINGLE_NAME_CONVERT(size));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
|
@ -67,15 +67,12 @@ OMPI_GENERATE_F77_BINDINGS (MPI_CANCEL,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Cancel PMPI_Cancel
|
||||
#endif
|
||||
|
||||
void ompi_cancel_f(MPI_Fint *request, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Request c_req = MPI_Request_f2c(*request);
|
||||
MPI_Request c_req = PMPI_Request_f2c(*request);
|
||||
|
||||
c_ierr = MPI_Cancel(&c_req);
|
||||
c_ierr = PMPI_Cancel(&c_req);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
}
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_CART_COORDS,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Cart_coords PMPI_Cart_coords
|
||||
#endif
|
||||
|
||||
void ompi_cart_coords_f(MPI_Fint *comm, MPI_Fint *rank, MPI_Fint *maxdims,
|
||||
MPI_Fint *coords, MPI_Fint *ierr)
|
||||
@ -76,10 +73,10 @@ void ompi_cart_coords_f(MPI_Fint *comm, MPI_Fint *rank, MPI_Fint *maxdims,
|
||||
MPI_Comm c_comm;
|
||||
OMPI_ARRAY_NAME_DECL(coords);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
OMPI_ARRAY_FINT_2_INT_ALLOC(coords, OMPI_FINT_2_INT(*maxdims));
|
||||
c_ierr = MPI_Cart_coords(c_comm,
|
||||
c_ierr = PMPI_Cart_coords(c_comm,
|
||||
OMPI_FINT_2_INT(*rank),
|
||||
OMPI_FINT_2_INT(*maxdims),
|
||||
OMPI_ARRAY_NAME_CONVERT(coords));
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_CART_CREATE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Cart_create PMPI_Cart_create
|
||||
#endif
|
||||
|
||||
void ompi_cart_create_f(MPI_Fint *old_comm, MPI_Fint *ndims, MPI_Fint *dims,
|
||||
ompi_fortran_logical_t *periods, ompi_fortran_logical_t *reorder,
|
||||
@ -78,13 +75,13 @@ void ompi_cart_create_f(MPI_Fint *old_comm, MPI_Fint *ndims, MPI_Fint *dims,
|
||||
OMPI_ARRAY_NAME_DECL(dims);
|
||||
OMPI_LOGICAL_ARRAY_NAME_DECL(periods);
|
||||
|
||||
c_comm1 = MPI_Comm_f2c(*old_comm);
|
||||
c_comm1 = PMPI_Comm_f2c(*old_comm);
|
||||
|
||||
size = OMPI_FINT_2_INT(*ndims);
|
||||
OMPI_ARRAY_FINT_2_INT(dims, size);
|
||||
OMPI_ARRAY_LOGICAL_2_INT(periods, size);
|
||||
|
||||
c_ierr = MPI_Cart_create(c_comm1, size,
|
||||
c_ierr = PMPI_Cart_create(c_comm1, size,
|
||||
OMPI_ARRAY_NAME_CONVERT(dims),
|
||||
OMPI_LOGICAL_ARRAY_NAME_CONVERT(periods),
|
||||
OMPI_LOGICAL_2_INT(*reorder),
|
||||
@ -92,7 +89,7 @@ void ompi_cart_create_f(MPI_Fint *old_comm, MPI_Fint *ndims, MPI_Fint *dims,
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*comm_cart = MPI_Comm_c2f(c_comm2);
|
||||
*comm_cart = PMPI_Comm_c2f(c_comm2);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_CART_GET,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Cart_get PMPI_Cart_get
|
||||
#endif
|
||||
|
||||
void ompi_cart_get_f(MPI_Fint *comm, MPI_Fint *maxdims, MPI_Fint *dims,
|
||||
ompi_fortran_logical_t *periods, MPI_Fint *coords, MPI_Fint *ierr)
|
||||
@ -78,14 +75,14 @@ void ompi_cart_get_f(MPI_Fint *comm, MPI_Fint *maxdims, MPI_Fint *dims,
|
||||
OMPI_ARRAY_NAME_DECL(coords);
|
||||
OMPI_LOGICAL_ARRAY_NAME_DECL(periods);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
size = OMPI_FINT_2_INT(*maxdims);
|
||||
OMPI_ARRAY_FINT_2_INT_ALLOC(dims, size);
|
||||
OMPI_ARRAY_FINT_2_INT_ALLOC(coords, size);
|
||||
OMPI_ARRAY_LOGICAL_2_INT_ALLOC(periods, size);
|
||||
|
||||
c_ierr = MPI_Cart_get(c_comm,
|
||||
c_ierr = PMPI_Cart_get(c_comm,
|
||||
size,
|
||||
OMPI_ARRAY_NAME_CONVERT(dims),
|
||||
OMPI_LOGICAL_ARRAY_NAME_CONVERT(periods),
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_CART_MAP,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Cart_map PMPI_Cart_map
|
||||
#endif
|
||||
|
||||
void ompi_cart_map_f(MPI_Fint *comm, MPI_Fint *ndims, MPI_Fint *dims,
|
||||
ompi_fortran_logical_t *periods, MPI_Fint *newrank, MPI_Fint *ierr)
|
||||
@ -78,13 +75,13 @@ void ompi_cart_map_f(MPI_Fint *comm, MPI_Fint *ndims, MPI_Fint *dims,
|
||||
OMPI_LOGICAL_ARRAY_NAME_DECL(periods);
|
||||
OMPI_SINGLE_NAME_DECL(newrank);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
size = OMPI_FINT_2_INT(*ndims);
|
||||
OMPI_ARRAY_FINT_2_INT(dims, size);
|
||||
OMPI_ARRAY_LOGICAL_2_INT(periods, size);
|
||||
|
||||
c_ierr = MPI_Cart_map(c_comm,
|
||||
c_ierr = PMPI_Cart_map(c_comm,
|
||||
size,
|
||||
OMPI_ARRAY_NAME_CONVERT(dims),
|
||||
OMPI_LOGICAL_ARRAY_NAME_CONVERT(periods),
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_CART_RANK,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Cart_rank PMPI_Cart_rank
|
||||
#endif
|
||||
|
||||
void ompi_cart_rank_f(MPI_Fint *comm, MPI_Fint *coords, MPI_Fint *rank,
|
||||
MPI_Fint *ierr)
|
||||
@ -77,16 +74,16 @@ void ompi_cart_rank_f(MPI_Fint *comm, MPI_Fint *coords, MPI_Fint *rank,
|
||||
OMPI_ARRAY_NAME_DECL(coords);
|
||||
OMPI_SINGLE_NAME_DECL(rank);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
c_ierr = MPI_Cartdim_get(c_comm, &ndims);
|
||||
c_ierr = PMPI_Cartdim_get(c_comm, &ndims);
|
||||
if (MPI_SUCCESS != c_ierr) {
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
return;
|
||||
}
|
||||
OMPI_ARRAY_FINT_2_INT(coords, ndims);
|
||||
|
||||
c_ierr = MPI_Cart_rank(c_comm,
|
||||
c_ierr = PMPI_Cart_rank(c_comm,
|
||||
OMPI_ARRAY_NAME_CONVERT(coords),
|
||||
OMPI_SINGLE_NAME_CONVERT(rank));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_CART_SHIFT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Cart_shift PMPI_Cart_shift
|
||||
#endif
|
||||
|
||||
void ompi_cart_shift_f(MPI_Fint *comm, MPI_Fint *direction, MPI_Fint *disp,
|
||||
MPI_Fint *rank_source, MPI_Fint *rank_dest,
|
||||
@ -78,9 +75,9 @@ void ompi_cart_shift_f(MPI_Fint *comm, MPI_Fint *direction, MPI_Fint *disp,
|
||||
OMPI_SINGLE_NAME_DECL(rank_source);
|
||||
OMPI_SINGLE_NAME_DECL(rank_dest);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
c_ierr = MPI_Cart_shift(c_comm,
|
||||
c_ierr = PMPI_Cart_shift(c_comm,
|
||||
OMPI_FINT_2_INT(*direction),
|
||||
OMPI_FINT_2_INT(*disp),
|
||||
OMPI_SINGLE_NAME_CONVERT(rank_source),
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_CART_SUB,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Cart_sub PMPI_Cart_sub
|
||||
#endif
|
||||
|
||||
void ompi_cart_sub_f(MPI_Fint *comm, ompi_fortran_logical_t *remain_dims,
|
||||
MPI_Fint *new_comm, MPI_Fint *ierr)
|
||||
@ -84,8 +81,8 @@ void ompi_cart_sub_f(MPI_Fint *comm, ompi_fortran_logical_t *remain_dims,
|
||||
#endif
|
||||
OMPI_LOGICAL_ARRAY_NAME_DECL(remain_dims);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_new_comm = MPI_Comm_f2c(*new_comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_new_comm = PMPI_Comm_f2c(*new_comm);
|
||||
|
||||
#if OMPI_FORTRAN_MUST_CONVERT_LOGICAL_2_INT == 1
|
||||
*ierr = OMPI_INT_2_FINT(MPI_Cartdim_get(c_comm, &ndims));
|
||||
@ -95,13 +92,13 @@ void ompi_cart_sub_f(MPI_Fint *comm, ompi_fortran_logical_t *remain_dims,
|
||||
#endif
|
||||
OMPI_ARRAY_LOGICAL_2_INT(remain_dims, ndims);
|
||||
|
||||
c_ierr = MPI_Cart_sub(c_comm,
|
||||
c_ierr = PMPI_Cart_sub(c_comm,
|
||||
OMPI_LOGICAL_ARRAY_NAME_CONVERT(remain_dims),
|
||||
&c_new_comm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*new_comm = MPI_Comm_c2f(c_new_comm);
|
||||
*new_comm = PMPI_Comm_c2f(c_new_comm);
|
||||
}
|
||||
|
||||
OMPI_ARRAY_INT_2_LOGICAL(remain_dims, ndims);
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_CARTDIM_GET,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Cartdim_get PMPI_Cartdim_get
|
||||
#endif
|
||||
|
||||
void ompi_cartdim_get_f(MPI_Fint *comm, MPI_Fint *ndims, MPI_Fint *ierr)
|
||||
{
|
||||
@ -75,9 +72,9 @@ void ompi_cartdim_get_f(MPI_Fint *comm, MPI_Fint *ndims, MPI_Fint *ierr)
|
||||
MPI_Comm c_comm;
|
||||
OMPI_SINGLE_NAME_DECL(ndims);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
c_ierr = MPI_Cartdim_get(c_comm, OMPI_SINGLE_NAME_CONVERT(ndims));
|
||||
c_ierr = PMPI_Cartdim_get(c_comm, OMPI_SINGLE_NAME_CONVERT(ndims));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_CLOSE_PORT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Close_port PMPI_Close_port
|
||||
#endif
|
||||
|
||||
void ompi_close_port_f(char *port_name, MPI_Fint *ierr, int port_name_len)
|
||||
{
|
||||
@ -76,7 +73,7 @@ void ompi_close_port_f(char *port_name, MPI_Fint *ierr, int port_name_len)
|
||||
char *c_port_name;
|
||||
|
||||
ompi_fortran_string_f2c(port_name, port_name_len, &c_port_name);
|
||||
c_ierr = MPI_Close_port(c_port_name);
|
||||
c_ierr = PMPI_Close_port(c_port_name);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
free ( c_port_name);
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_ACCEPT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_accept PMPI_Comm_accept
|
||||
#endif
|
||||
|
||||
void ompi_comm_accept_f(char *port_name, MPI_Fint *info, MPI_Fint *root,
|
||||
MPI_Fint *comm, MPI_Fint *newcomm, MPI_Fint *ierr,
|
||||
@ -79,18 +76,18 @@ void ompi_comm_accept_f(char *port_name, MPI_Fint *info, MPI_Fint *root,
|
||||
MPI_Info c_info;
|
||||
char *c_port_name;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_info = MPI_Info_f2c(*info);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_info = PMPI_Info_f2c(*info);
|
||||
ompi_fortran_string_f2c(port_name, port_name_len, &c_port_name);
|
||||
|
||||
|
||||
c_ierr = MPI_Comm_accept(c_port_name, c_info,
|
||||
c_ierr = PMPI_Comm_accept(c_port_name, c_info,
|
||||
OMPI_FINT_2_INT(*root),
|
||||
c_comm, &c_new_comm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*newcomm = MPI_Comm_c2f(c_new_comm);
|
||||
*newcomm = PMPI_Comm_c2f(c_new_comm);
|
||||
}
|
||||
free ( c_port_name );
|
||||
}
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_COMM_CALL_ERRHANDLER,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_call_errhandler PMPI_Comm_call_errhandler
|
||||
#endif
|
||||
|
||||
void ompi_comm_call_errhandler_f(MPI_Fint *comm, MPI_Fint *errorcode,
|
||||
MPI_Fint *ierr)
|
||||
@ -75,8 +72,8 @@ void ompi_comm_call_errhandler_f(MPI_Fint *comm, MPI_Fint *errorcode,
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
c_ierr = MPI_Comm_call_errhandler(c_comm, OMPI_FINT_2_INT(*errorcode));
|
||||
c_ierr = PMPI_Comm_call_errhandler(c_comm, OMPI_FINT_2_INT(*errorcode));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
}
|
||||
|
@ -65,18 +65,15 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_COMPARE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_compare PMPI_Comm_compare
|
||||
#endif
|
||||
|
||||
void ompi_comm_compare_f(MPI_Fint *comm1, MPI_Fint *comm2, MPI_Fint *result, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm1 = MPI_Comm_f2c(*comm1);
|
||||
MPI_Comm c_comm2 = MPI_Comm_f2c(*comm2);
|
||||
MPI_Comm c_comm1 = PMPI_Comm_f2c(*comm1);
|
||||
MPI_Comm c_comm2 = PMPI_Comm_f2c(*comm2);
|
||||
OMPI_SINGLE_NAME_DECL(result);
|
||||
|
||||
c_ierr = MPI_Comm_compare(c_comm1, c_comm2,
|
||||
c_ierr = PMPI_Comm_compare(c_comm1, c_comm2,
|
||||
OMPI_SINGLE_NAME_CONVERT(result));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_CONNECT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_connect PMPI_Comm_connect
|
||||
#endif
|
||||
|
||||
void ompi_comm_connect_f(char *port_name, MPI_Fint *info,
|
||||
MPI_Fint *root, MPI_Fint *comm,
|
||||
@ -80,17 +77,17 @@ void ompi_comm_connect_f(char *port_name, MPI_Fint *info,
|
||||
MPI_Info c_info;
|
||||
char *c_port_name;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_info = MPI_Info_f2c(*info);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_info = PMPI_Info_f2c(*info);
|
||||
ompi_fortran_string_f2c(port_name, port_name_len, &c_port_name);
|
||||
|
||||
c_ierr = MPI_Comm_connect(c_port_name, c_info,
|
||||
c_ierr = PMPI_Comm_connect(c_port_name, c_info,
|
||||
OMPI_FINT_2_INT(*root),
|
||||
c_comm, &c_new_comm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*newcomm = MPI_Comm_c2f(c_new_comm);
|
||||
*newcomm = PMPI_Comm_c2f(c_new_comm);
|
||||
}
|
||||
free ( c_port_name );
|
||||
}
|
||||
|
@ -67,10 +67,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_CREATE_ERRHANDLER,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_create_errhandler PMPI_Comm_create_errhandler
|
||||
#endif
|
||||
|
||||
static const char FUNC_NAME[] = "MPI_COMM_CREATE_ERRHANDLER";
|
||||
|
||||
|
||||
@ -83,7 +79,7 @@ void ompi_comm_create_errhandler_f(ompi_errhandler_fortran_handler_fn_t *functio
|
||||
(ompi_errhandler_generic_handler_fn_t*) function,
|
||||
OMPI_ERRHANDLER_LANG_FORTRAN);
|
||||
if (MPI_ERRHANDLER_NULL != c_errhandler) {
|
||||
*errhandler = MPI_Errhandler_c2f(c_errhandler);
|
||||
*errhandler = PMPI_Errhandler_c2f(c_errhandler);
|
||||
c_ierr = MPI_SUCCESS;
|
||||
} else {
|
||||
c_ierr = MPI_ERR_INTERN;
|
||||
|
@ -65,21 +65,17 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_CREATE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_create PMPI_Comm_create
|
||||
#endif
|
||||
|
||||
void ompi_comm_create_f(MPI_Fint *comm, MPI_Fint *group, MPI_Fint *newcomm, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_newcomm;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c (*comm);
|
||||
MPI_Group c_group = MPI_Group_f2c(*group);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c (*comm);
|
||||
MPI_Group c_group = PMPI_Group_f2c(*group);
|
||||
|
||||
c_ierr = MPI_Comm_create (c_comm, c_group, &c_newcomm);
|
||||
c_ierr = PMPI_Comm_create(c_comm, c_group, &c_newcomm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*newcomm = MPI_Comm_c2f (c_newcomm);
|
||||
*newcomm = PMPI_Comm_c2f (c_newcomm);
|
||||
}
|
||||
}
|
||||
|
@ -68,21 +68,17 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_CREATE_GROUP,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_create_group PMPI_Comm_create_group
|
||||
#endif
|
||||
|
||||
void ompi_comm_create_group_f(MPI_Fint *comm, MPI_Fint *group, MPI_Fint *tag, MPI_Fint *newcomm, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_newcomm;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c (*comm);
|
||||
MPI_Group c_group = MPI_Group_f2c(*group);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c (*comm);
|
||||
MPI_Group c_group = PMPI_Group_f2c(*group);
|
||||
|
||||
c_ierr = MPI_Comm_create_group (c_comm, c_group, OMPI_FINT_2_INT(*tag), &c_newcomm);
|
||||
c_ierr = PMPI_Comm_create_group (c_comm, c_group, OMPI_FINT_2_INT(*tag), &c_newcomm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*newcomm = MPI_Comm_c2f (c_newcomm);
|
||||
*newcomm = PMPI_Comm_c2f (c_newcomm);
|
||||
}
|
||||
}
|
||||
|
@ -66,11 +66,8 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_CREATE_KEYVAL,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_create_keyval PMPI_Comm_create_keyval
|
||||
#endif
|
||||
static const char FUNC_NAME[] = "MPI_Comm_create_keyval_f";
|
||||
|
||||
static const char FUNC_NAME[] = "MPI_Comm_create_keyval_f";
|
||||
|
||||
void ompi_comm_create_keyval_f(ompi_mpi2_fortran_copy_attr_function* comm_copy_attr_fn,
|
||||
ompi_mpi2_fortran_delete_attr_function* comm_delete_attr_fn,
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_DELETE_ATTR,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_delete_attr PMPI_Comm_delete_attr
|
||||
#endif
|
||||
|
||||
void ompi_comm_delete_attr_f(MPI_Fint *comm, MPI_Fint *comm_keyval,
|
||||
MPI_Fint *ierr)
|
||||
@ -75,8 +72,8 @@ void ompi_comm_delete_attr_f(MPI_Fint *comm, MPI_Fint *comm_keyval,
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
c_ierr = MPI_Comm_delete_attr(c_comm, OMPI_FINT_2_INT(*comm_keyval));
|
||||
c_ierr = PMPI_Comm_delete_attr(c_comm, OMPI_FINT_2_INT(*comm_keyval));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
}
|
||||
|
@ -65,21 +65,18 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_DISCONNECT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_disconnect PMPI_Comm_disconnect
|
||||
#endif
|
||||
|
||||
void ompi_comm_disconnect_f(MPI_Fint *comm, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
c_ierr = MPI_Comm_disconnect(&c_comm);
|
||||
c_ierr = PMPI_Comm_disconnect(&c_comm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*comm = MPI_Comm_c2f(c_comm);
|
||||
*comm = PMPI_Comm_c2f(c_comm);
|
||||
}
|
||||
}
|
||||
|
@ -65,20 +65,17 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_DUP,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_dup PMPI_Comm_dup
|
||||
#endif
|
||||
|
||||
void ompi_comm_dup_f(MPI_Fint *comm, MPI_Fint *newcomm, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_newcomm;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
c_ierr = MPI_Comm_dup(c_comm, &c_newcomm);
|
||||
c_ierr = PMPI_Comm_dup(c_comm, &c_newcomm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*newcomm = MPI_Comm_c2f(c_newcomm);
|
||||
*newcomm = PMPI_Comm_c2f(c_newcomm);
|
||||
}
|
||||
}
|
||||
|
@ -68,23 +68,20 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_DUP_WITH_INFO,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_dup_with_info PMPI_Comm_dup_with_info
|
||||
#endif
|
||||
|
||||
void ompi_comm_dup_with_info_f(MPI_Fint *comm, MPI_Fint *info, MPI_Fint *newcomm, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_newcomm;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
MPI_Info c_info;
|
||||
|
||||
c_info = MPI_Info_f2c(*info);
|
||||
c_info = PMPI_Info_f2c(*info);
|
||||
|
||||
c_ierr = MPI_Comm_dup_with_info(c_comm, c_info, &c_newcomm);
|
||||
c_ierr = PMPI_Comm_dup_with_info(c_comm, c_info, &c_newcomm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*newcomm = MPI_Comm_c2f(c_newcomm);
|
||||
*newcomm = PMPI_Comm_c2f(c_newcomm);
|
||||
}
|
||||
}
|
||||
|
@ -65,19 +65,16 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_FREE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_free PMPI_Comm_free
|
||||
#endif
|
||||
|
||||
void ompi_comm_free_f(MPI_Fint *comm, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
c_ierr = MPI_Comm_free(&c_comm);
|
||||
c_ierr = PMPI_Comm_free(&c_comm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*comm = MPI_Comm_c2f(c_comm);
|
||||
*comm = PMPI_Comm_c2f(c_comm);
|
||||
}
|
||||
}
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_FREE_KEYVAL,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_free_keyval PMPI_Comm_free_keyval
|
||||
#endif
|
||||
|
||||
void ompi_comm_free_keyval_f(MPI_Fint *comm_keyval, MPI_Fint *ierr)
|
||||
{
|
||||
@ -76,7 +73,7 @@ void ompi_comm_free_keyval_f(MPI_Fint *comm_keyval, MPI_Fint *ierr)
|
||||
|
||||
OMPI_SINGLE_FINT_2_INT(comm_keyval);
|
||||
|
||||
c_ierr = MPI_Comm_free_keyval(OMPI_SINGLE_NAME_CONVERT(comm_keyval));
|
||||
c_ierr = PMPI_Comm_free_keyval(OMPI_SINGLE_NAME_CONVERT(comm_keyval));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
|
@ -67,16 +67,12 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_GET_ATTR,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_get_attr PMPI_Comm_get_attr
|
||||
#endif
|
||||
|
||||
void ompi_comm_get_attr_f(MPI_Fint *comm, MPI_Fint *comm_keyval,
|
||||
MPI_Aint *attribute_val, ompi_fortran_logical_t *flag,
|
||||
MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
OMPI_LOGICAL_NAME_DECL(flag);
|
||||
|
||||
/* This stuff is very confusing. Be sure to see the comment at
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_GET_ERRHANDLER,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_get_errhandler PMPI_Comm_get_errhandler
|
||||
#endif
|
||||
|
||||
void ompi_comm_get_errhandler_f(MPI_Fint *comm, MPI_Fint *errhandler,
|
||||
MPI_Fint *ierr)
|
||||
@ -76,12 +73,12 @@ void ompi_comm_get_errhandler_f(MPI_Fint *comm, MPI_Fint *errhandler,
|
||||
MPI_Comm c_comm;
|
||||
MPI_Errhandler c_errhandler;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
c_ierr = MPI_Comm_get_errhandler(c_comm, &c_errhandler);
|
||||
c_ierr = PMPI_Comm_get_errhandler(c_comm, &c_errhandler);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*errhandler = MPI_Errhandler_c2f(c_errhandler);
|
||||
*errhandler = PMPI_Errhandler_c2f(c_errhandler);
|
||||
}
|
||||
}
|
||||
|
@ -57,20 +57,17 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_GET_INFO,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_get_info PMPI_Comm_get_info
|
||||
#endif
|
||||
|
||||
void ompi_comm_get_info_f(MPI_Fint *comm, MPI_Fint *info_used, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
MPI_Info c_info;
|
||||
|
||||
c_ierr = MPI_Comm_get_info(c_comm, &c_info);
|
||||
c_ierr = PMPI_Comm_get_info(c_comm, &c_info);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*info_used = MPI_Info_c2f(c_info);
|
||||
*info_used = PMPI_Info_c2f(c_info);
|
||||
}
|
||||
}
|
||||
|
@ -68,19 +68,16 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_GET_NAME,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_get_name PMPI_Comm_get_name
|
||||
#endif
|
||||
|
||||
void ompi_comm_get_name_f(MPI_Fint *comm, char *comm_name,
|
||||
MPI_Fint *resultlen, MPI_Fint *ierr,
|
||||
int name_len)
|
||||
{
|
||||
int c_ierr, c_len;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
char c_name[MPI_MAX_OBJECT_NAME];
|
||||
|
||||
c_ierr = MPI_Comm_get_name(c_comm, c_name, &c_len);
|
||||
c_ierr = PMPI_Comm_get_name(c_comm, c_name, &c_len);
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
ompi_fortran_string_c2f(c_name, comm_name, name_len);
|
||||
*resultlen = OMPI_INT_2_FINT(c_len);
|
||||
|
@ -65,19 +65,16 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_GET_PARENT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_get_parent PMPI_Comm_get_parent
|
||||
#endif
|
||||
|
||||
void ompi_comm_get_parent_f(MPI_Fint *parent, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_parent;
|
||||
|
||||
c_ierr = MPI_Comm_get_parent(&c_parent);
|
||||
c_ierr = PMPI_Comm_get_parent(&c_parent);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*parent = MPI_Comm_c2f(c_parent);
|
||||
*parent = PMPI_Comm_c2f(c_parent);
|
||||
}
|
||||
}
|
||||
|
@ -65,20 +65,17 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_GROUP,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_group PMPI_Comm_group
|
||||
#endif
|
||||
|
||||
void ompi_comm_group_f(MPI_Fint *comm, MPI_Fint *group, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Group c_group;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c( *comm );
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c( *comm );
|
||||
|
||||
c_ierr = MPI_Comm_group( c_comm, &c_group);
|
||||
c_ierr = PMPI_Comm_group( c_comm, &c_group);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*group = MPI_Group_c2f (c_group);
|
||||
*group = PMPI_Group_c2f (c_group);
|
||||
}
|
||||
}
|
||||
|
@ -68,22 +68,19 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_IDUP,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_idup PMPI_Comm_idup
|
||||
#endif
|
||||
|
||||
void ompi_comm_idup_f(MPI_Fint *comm, MPI_Fint *newcomm, MPI_Fint *request, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_newcomm;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
MPI_Request c_req;
|
||||
|
||||
c_ierr = MPI_Comm_idup(c_comm, &c_newcomm, &c_req);
|
||||
c_ierr = PMPI_Comm_idup(c_comm, &c_newcomm, &c_req);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*newcomm = MPI_Comm_c2f(c_newcomm);
|
||||
*request = MPI_Request_c2f(c_req);
|
||||
*newcomm = PMPI_Comm_c2f(c_newcomm);
|
||||
*request = PMPI_Request_c2f(c_req);
|
||||
}
|
||||
}
|
||||
|
@ -65,19 +65,16 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_JOIN,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_join PMPI_Comm_join
|
||||
#endif
|
||||
|
||||
void ompi_comm_join_f(MPI_Fint *fd, MPI_Fint *intercomm, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_intercomm;
|
||||
|
||||
c_ierr = MPI_Comm_join(OMPI_FINT_2_INT(*fd), &c_intercomm);
|
||||
c_ierr = PMPI_Comm_join(OMPI_FINT_2_INT(*fd), &c_intercomm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*intercomm = MPI_Comm_c2f(c_intercomm);
|
||||
*intercomm = PMPI_Comm_c2f(c_intercomm);
|
||||
}
|
||||
}
|
||||
|
@ -65,17 +65,14 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_RANK,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_rank PMPI_Comm_rank
|
||||
#endif
|
||||
|
||||
void ompi_comm_rank_f(MPI_Fint *comm, MPI_Fint *rank, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c( *comm );
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c( *comm );
|
||||
OMPI_SINGLE_NAME_DECL(rank);
|
||||
|
||||
c_ierr = MPI_Comm_rank( c_comm, OMPI_SINGLE_NAME_CONVERT(rank));
|
||||
c_ierr = PMPI_Comm_rank( c_comm, OMPI_SINGLE_NAME_CONVERT(rank));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
|
@ -65,20 +65,16 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_REMOTE_GROUP,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_remote_group PMPI_Comm_remote_group
|
||||
#endif
|
||||
|
||||
void ompi_comm_remote_group_f(MPI_Fint *comm, MPI_Fint *group, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Group c_group;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c ( *comm );
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c ( *comm );
|
||||
|
||||
c_ierr = MPI_Comm_remote_group ( c_comm, &c_group );
|
||||
c_ierr = PMPI_Comm_remote_group(c_comm, &c_group);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*group = MPI_Group_c2f (c_group);
|
||||
*group = PMPI_Group_c2f (c_group);
|
||||
}
|
||||
}
|
||||
|
@ -65,17 +65,13 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_REMOTE_SIZE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_remote_size PMPI_Comm_remote_size
|
||||
#endif
|
||||
|
||||
void ompi_comm_remote_size_f(MPI_Fint *comm, MPI_Fint *size, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c ( *comm );
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c ( *comm );
|
||||
OMPI_SINGLE_NAME_DECL(size);
|
||||
|
||||
c_ierr = MPI_Comm_remote_size ( c_comm, OMPI_SINGLE_NAME_CONVERT(size ));
|
||||
c_ierr = PMPI_Comm_remote_size(c_comm, OMPI_SINGLE_NAME_CONVERT(size ));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
|
@ -67,15 +67,11 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_SET_ATTR,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_set_attr PMPI_Comm_set_attr
|
||||
#endif
|
||||
|
||||
void ompi_comm_set_attr_f(MPI_Fint *comm, MPI_Fint *comm_keyval,
|
||||
MPI_Aint *attribute_val, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
/* This stuff is very confusing. Be sure to see the comment at
|
||||
the top of src/attributes/attributes.c. */
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_SET_ERRHANDLER,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_set_errhandler PMPI_Comm_set_errhandler
|
||||
#endif
|
||||
|
||||
void ompi_comm_set_errhandler_f(MPI_Fint *comm, MPI_Fint *errhandler,
|
||||
MPI_Fint *ierr)
|
||||
@ -77,9 +74,9 @@ void ompi_comm_set_errhandler_f(MPI_Fint *comm, MPI_Fint *errhandler,
|
||||
MPI_Comm c_comm;
|
||||
MPI_Errhandler c_errhandler;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_errhandler = MPI_Errhandler_f2c(*errhandler);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_errhandler = PMPI_Errhandler_f2c(*errhandler);
|
||||
|
||||
c_ierr = MPI_Comm_set_errhandler(c_comm, c_errhandler);
|
||||
c_ierr = PMPI_Comm_set_errhandler(c_comm, c_errhandler);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
}
|
||||
|
@ -57,16 +57,13 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_SET_INFO,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_set_info PMPI_Comm_set_info
|
||||
#endif
|
||||
|
||||
void ompi_comm_set_info_f(MPI_Fint *comm, MPI_Fint *info, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Info c_info = MPI_Info_f2c(*info);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
MPI_Info c_info = PMPI_Info_f2c(*info);
|
||||
|
||||
c_ierr = MPI_Comm_set_info(c_comm, c_info);
|
||||
c_ierr = PMPI_Comm_set_info(c_comm, c_info);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
}
|
||||
|
@ -68,16 +68,13 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_SET_NAME,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_set_name PMPI_Comm_set_name
|
||||
#endif
|
||||
|
||||
void ompi_comm_set_name_f(MPI_Fint *comm, char *comm_name, MPI_Fint *ierr,
|
||||
int name_len)
|
||||
{
|
||||
int ret, c_ierr;
|
||||
char *c_name;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c(*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
/* Convert the fortran string */
|
||||
|
||||
@ -91,7 +88,7 @@ void ompi_comm_set_name_f(MPI_Fint *comm, char *comm_name, MPI_Fint *ierr,
|
||||
|
||||
/* Call the C function */
|
||||
|
||||
c_ierr = MPI_Comm_set_name(c_comm, c_name);
|
||||
c_ierr = PMPI_Comm_set_name(c_comm, c_name);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
/* Free the C name */
|
||||
|
@ -65,19 +65,16 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_SIZE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_size PMPI_Comm_size
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
void ompi_comm_size_f(MPI_Fint *comm, MPI_Fint *size, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c( *comm );
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c( *comm );
|
||||
OMPI_SINGLE_NAME_DECL(size);
|
||||
|
||||
c_ierr = MPI_Comm_size( c_comm, OMPI_SINGLE_NAME_CONVERT(size) );
|
||||
c_ierr = PMPI_Comm_size( c_comm, OMPI_SINGLE_NAME_CONVERT(size) );
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
|
@ -68,9 +68,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_SPAWN,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_spawn PMPI_Comm_spawn
|
||||
#endif
|
||||
|
||||
void ompi_comm_spawn_f(char *command, char *argv, MPI_Fint *maxprocs,
|
||||
MPI_Fint *info, MPI_Fint *root, MPI_Fint *comm,
|
||||
@ -85,9 +82,9 @@ void ompi_comm_spawn_f(char *command, char *argv, MPI_Fint *maxprocs,
|
||||
char *c_command;
|
||||
OMPI_ARRAY_NAME_DECL(array_of_errcodes);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_info = MPI_Info_f2c(*info);
|
||||
MPI_Comm_size(c_comm, &size);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_info = PMPI_Info_f2c(*info);
|
||||
PMPI_Comm_size(c_comm, &size);
|
||||
ompi_fortran_string_f2c(command, cmd_len, &c_command);
|
||||
|
||||
/* It's allowed to ignore the errcodes */
|
||||
@ -107,7 +104,7 @@ void ompi_comm_spawn_f(char *command, char *argv, MPI_Fint *maxprocs,
|
||||
ompi_fortran_argv_f2c(argv, string_len, string_len, &c_argv);
|
||||
}
|
||||
|
||||
c_ierr = MPI_Comm_spawn(c_command, c_argv,
|
||||
c_ierr = PMPI_Comm_spawn(c_command, c_argv,
|
||||
OMPI_FINT_2_INT(*maxprocs),
|
||||
c_info,
|
||||
OMPI_FINT_2_INT(*root),
|
||||
@ -115,7 +112,7 @@ void ompi_comm_spawn_f(char *command, char *argv, MPI_Fint *maxprocs,
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*intercomm = MPI_Comm_c2f(c_new_comm);
|
||||
*intercomm = PMPI_Comm_c2f(c_new_comm);
|
||||
}
|
||||
free(c_command);
|
||||
if (MPI_ARGV_NULL != c_argv && NULL != c_argv) {
|
||||
|
@ -69,9 +69,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_SPAWN_MULTIPLE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_spawn_multiple PMPI_Comm_spawn_multiple
|
||||
#endif
|
||||
|
||||
void ompi_comm_spawn_multiple_f(MPI_Fint *count, char *array_commands,
|
||||
char *array_argv,
|
||||
@ -90,9 +87,9 @@ void ompi_comm_spawn_multiple_f(MPI_Fint *count, char *array_commands,
|
||||
OMPI_ARRAY_NAME_DECL(array_maxprocs);
|
||||
OMPI_ARRAY_NAME_DECL(array_errcds);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
MPI_Comm_size(c_comm, &size);
|
||||
PMPI_Comm_size(c_comm, &size);
|
||||
|
||||
array_size = OMPI_FINT_2_INT(*count);
|
||||
|
||||
@ -121,10 +118,10 @@ void ompi_comm_spawn_multiple_f(MPI_Fint *count, char *array_commands,
|
||||
|
||||
c_info = (MPI_Info *) malloc (array_size * sizeof(MPI_Info));
|
||||
for (i = 0; i < array_size; ++i) {
|
||||
c_info[i] = MPI_Info_f2c(array_info[i]);
|
||||
c_info[i] = PMPI_Info_f2c(array_info[i]);
|
||||
}
|
||||
|
||||
c_ierr = MPI_Comm_spawn_multiple(OMPI_FINT_2_INT(*count),
|
||||
c_ierr = PMPI_Comm_spawn_multiple(OMPI_FINT_2_INT(*count),
|
||||
c_array_commands,
|
||||
c_array_argv,
|
||||
OMPI_ARRAY_NAME_CONVERT(array_maxprocs),
|
||||
@ -135,7 +132,7 @@ void ompi_comm_spawn_multiple_f(MPI_Fint *count, char *array_commands,
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*intercomm = MPI_Comm_c2f(c_new_comm);
|
||||
*intercomm = PMPI_Comm_c2f(c_new_comm);
|
||||
}
|
||||
|
||||
if (!OMPI_IS_FORTRAN_ERRCODES_IGNORE(array_errcds)) {
|
||||
|
@ -65,24 +65,21 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_SPLIT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_split PMPI_Comm_split
|
||||
#endif
|
||||
|
||||
void ompi_comm_split_f(MPI_Fint *comm, MPI_Fint *color, MPI_Fint *key,
|
||||
MPI_Fint *newcomm, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_newcomm;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c ( *comm );
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c ( *comm );
|
||||
|
||||
c_ierr = MPI_Comm_split(c_comm,
|
||||
c_ierr = PMPI_Comm_split(c_comm,
|
||||
OMPI_FINT_2_INT(*color),
|
||||
OMPI_FINT_2_INT(*key),
|
||||
&c_newcomm );
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*newcomm = MPI_Comm_c2f (c_newcomm);
|
||||
*newcomm = PMPI_Comm_c2f (c_newcomm);
|
||||
}
|
||||
}
|
||||
|
@ -66,28 +66,25 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_SPLIT_TYPE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_split_type PMPI_Comm_split_type
|
||||
#endif
|
||||
|
||||
void ompi_comm_split_type_f(MPI_Fint *comm, MPI_Fint *split_type, MPI_Fint *key,
|
||||
MPI_Fint *info, MPI_Fint *newcomm, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_newcomm;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c ( *comm );
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c ( *comm );
|
||||
MPI_Info c_info;
|
||||
|
||||
c_info = MPI_Info_f2c(*info);
|
||||
c_info = PMPI_Info_f2c(*info);
|
||||
|
||||
c_ierr = OMPI_INT_2_FINT(MPI_Comm_split_type(c_comm,
|
||||
OMPI_FINT_2_INT(*split_type),
|
||||
OMPI_FINT_2_INT(*key),
|
||||
c_info,
|
||||
&c_newcomm ));
|
||||
c_ierr = OMPI_INT_2_FINT(PMPI_Comm_split_type(c_comm,
|
||||
OMPI_FINT_2_INT(*split_type),
|
||||
OMPI_FINT_2_INT(*key),
|
||||
c_info,
|
||||
&c_newcomm ));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*newcomm = MPI_Comm_c2f (c_newcomm);
|
||||
*newcomm = PMPI_Comm_c2f (c_newcomm);
|
||||
}
|
||||
}
|
||||
|
@ -65,17 +65,14 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMM_TEST_INTER,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Comm_test_inter PMPI_Comm_test_inter
|
||||
#endif
|
||||
|
||||
void ompi_comm_test_inter_f(MPI_Fint *comm, ompi_fortran_logical_t *flag, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Comm c_comm = MPI_Comm_f2c (*comm);
|
||||
MPI_Comm c_comm = PMPI_Comm_f2c (*comm);
|
||||
OMPI_LOGICAL_NAME_DECL(flag);
|
||||
|
||||
c_ierr = MPI_Comm_test_inter(c_comm, OMPI_LOGICAL_SINGLE_NAME_CONVERT(flag));
|
||||
c_ierr = PMPI_Comm_test_inter(c_comm, OMPI_LOGICAL_SINGLE_NAME_CONVERT(flag));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
|
@ -70,19 +70,16 @@ OMPI_GENERATE_F77_BINDINGS (MPI_COMPARE_AND_SWAP,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Compare_and_swap PMPI_Compare_and_swap
|
||||
#endif
|
||||
|
||||
void ompi_compare_and_swap_f(char *origin_addr, char *compare_addr, char *result_addr,
|
||||
MPI_Fint *datatype, MPI_Fint *target_rank, MPI_Aint *target_disp,
|
||||
MPI_Fint *win, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Datatype c_datatype = MPI_Type_f2c(*datatype);
|
||||
MPI_Win c_win = MPI_Win_f2c(*win);
|
||||
MPI_Datatype c_datatype = PMPI_Type_f2c(*datatype);
|
||||
MPI_Win c_win = PMPI_Win_f2c(*win);
|
||||
|
||||
c_ierr = MPI_Compare_and_swap(OMPI_F2C_BOTTOM(origin_addr),
|
||||
c_ierr = PMPI_Compare_and_swap(OMPI_F2C_BOTTOM(origin_addr),
|
||||
OMPI_F2C_BOTTOM(compare_addr),
|
||||
OMPI_F2C_BOTTOM(result_addr),
|
||||
c_datatype,
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_DIMS_CREATE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Dims_create PMPI_Dims_create
|
||||
#endif
|
||||
|
||||
void ompi_dims_create_f(MPI_Fint *nnodes, MPI_Fint *ndims,
|
||||
MPI_Fint *dims, MPI_Fint *ierr)
|
||||
@ -77,7 +74,7 @@ void ompi_dims_create_f(MPI_Fint *nnodes, MPI_Fint *ndims,
|
||||
|
||||
OMPI_ARRAY_FINT_2_INT(dims, *ndims);
|
||||
|
||||
c_ierr = MPI_Dims_create(OMPI_FINT_2_INT(*nnodes),
|
||||
c_ierr = PMPI_Dims_create(OMPI_FINT_2_INT(*nnodes),
|
||||
OMPI_FINT_2_INT(*ndims),
|
||||
OMPI_ARRAY_NAME_CONVERT(dims));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_DIST_GRAPH_CREATE_ADJACENT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Dist_graph_create_adjacent PMPI_Dist_graph_create_adjacent
|
||||
#endif
|
||||
|
||||
|
||||
void ompi_dist_graph_create_adjacent_f(MPI_Fint *comm_old, MPI_Fint *indegree,
|
||||
@ -85,8 +82,8 @@ void ompi_dist_graph_create_adjacent_f(MPI_Fint *comm_old, MPI_Fint *indegree,
|
||||
OMPI_ARRAY_NAME_DECL(sources);
|
||||
OMPI_ARRAY_NAME_DECL(destinations);
|
||||
|
||||
c_comm_old = MPI_Comm_f2c(*comm_old);
|
||||
c_info = MPI_Info_f2c(*info);
|
||||
c_comm_old = PMPI_Comm_f2c(*comm_old);
|
||||
c_info = PMPI_Info_f2c(*info);
|
||||
|
||||
OMPI_ARRAY_FINT_2_INT(sources, *indegree);
|
||||
if (OMPI_IS_FORTRAN_UNWEIGHTED(sourceweights)) {
|
||||
@ -108,17 +105,17 @@ void ompi_dist_graph_create_adjacent_f(MPI_Fint *comm_old, MPI_Fint *indegree,
|
||||
c_destweights = OMPI_ARRAY_NAME_CONVERT(destweights);
|
||||
}
|
||||
|
||||
*ierr = OMPI_INT_2_FINT(MPI_Dist_graph_create_adjacent(c_comm_old, OMPI_FINT_2_INT(*indegree),
|
||||
OMPI_ARRAY_NAME_CONVERT(sources),
|
||||
c_sourceweights,
|
||||
OMPI_FINT_2_INT(*outdegree),
|
||||
OMPI_ARRAY_NAME_CONVERT(destinations),
|
||||
c_destweights,
|
||||
c_info,
|
||||
OMPI_LOGICAL_2_INT(*reorder),
|
||||
&c_comm_graph));
|
||||
*ierr = OMPI_INT_2_FINT(PMPI_Dist_graph_create_adjacent(c_comm_old, OMPI_FINT_2_INT(*indegree),
|
||||
OMPI_ARRAY_NAME_CONVERT(sources),
|
||||
c_sourceweights,
|
||||
OMPI_FINT_2_INT(*outdegree),
|
||||
OMPI_ARRAY_NAME_CONVERT(destinations),
|
||||
c_destweights,
|
||||
c_info,
|
||||
OMPI_LOGICAL_2_INT(*reorder),
|
||||
&c_comm_graph));
|
||||
if (OMPI_SUCCESS == OMPI_FINT_2_INT(*ierr)) {
|
||||
*comm_graph = MPI_Comm_c2f(c_comm_graph);
|
||||
*comm_graph = PMPI_Comm_c2f(c_comm_graph);
|
||||
}
|
||||
|
||||
OMPI_ARRAY_FINT_2_INT_CLEANUP(sources);
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_DIST_GRAPH_CREATE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Dist_graph_create PMPI_Dist_graph_create
|
||||
#endif
|
||||
|
||||
void ompi_dist_graph_create_f(MPI_Fint *comm_old, MPI_Fint *n, MPI_Fint *sources,
|
||||
MPI_Fint *degrees, MPI_Fint *destinations, MPI_Fint *weights,
|
||||
@ -83,8 +80,8 @@ void ompi_dist_graph_create_f(MPI_Fint *comm_old, MPI_Fint *n, MPI_Fint *sources
|
||||
OMPI_ARRAY_NAME_DECL(degrees);
|
||||
OMPI_ARRAY_NAME_DECL(destinations);
|
||||
|
||||
c_comm_old = MPI_Comm_f2c(*comm_old);
|
||||
c_info = MPI_Info_f2c(*info);
|
||||
c_comm_old = PMPI_Comm_f2c(*comm_old);
|
||||
c_info = PMPI_Info_f2c(*info);
|
||||
OMPI_ARRAY_FINT_2_INT(sources, *n);
|
||||
OMPI_ARRAY_FINT_2_INT(degrees, *n);
|
||||
for( i = 0; i < OMPI_FINT_2_INT(*n); i++ )
|
||||
@ -101,11 +98,11 @@ void ompi_dist_graph_create_f(MPI_Fint *comm_old, MPI_Fint *n, MPI_Fint *sources
|
||||
}
|
||||
|
||||
|
||||
*ierr = OMPI_INT_2_FINT(MPI_Dist_graph_create(c_comm_old, OMPI_FINT_2_INT(*n), OMPI_ARRAY_NAME_CONVERT(sources),
|
||||
OMPI_ARRAY_NAME_CONVERT(degrees), OMPI_ARRAY_NAME_CONVERT(destinations),
|
||||
c_weights, c_info, OMPI_LOGICAL_2_INT(*reorder), &c_comm_graph));
|
||||
*ierr = OMPI_INT_2_FINT(PMPI_Dist_graph_create(c_comm_old, OMPI_FINT_2_INT(*n), OMPI_ARRAY_NAME_CONVERT(sources),
|
||||
OMPI_ARRAY_NAME_CONVERT(degrees), OMPI_ARRAY_NAME_CONVERT(destinations),
|
||||
c_weights, c_info, OMPI_LOGICAL_2_INT(*reorder), &c_comm_graph));
|
||||
if (OMPI_SUCCESS == OMPI_FINT_2_INT(*ierr)) {
|
||||
*comm_graph = MPI_Comm_c2f(c_comm_graph);
|
||||
*comm_graph = PMPI_Comm_c2f(c_comm_graph);
|
||||
}
|
||||
|
||||
OMPI_ARRAY_FINT_2_INT_CLEANUP(sources);
|
||||
|
@ -60,9 +60,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_DIST_GRAPH_NEIGHBORS_COUNT,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Dist_graph_neighbors_count PMPI_Dist_graph_neighbors_count
|
||||
#endif
|
||||
|
||||
void ompi_dist_graph_neighbors_count_f(MPI_Fint *comm, MPI_Fint *inneighbors,
|
||||
MPI_Fint *outneighbors, ompi_fortran_logical_t *weighted,
|
||||
@ -73,12 +70,12 @@ void ompi_dist_graph_neighbors_count_f(MPI_Fint *comm, MPI_Fint *inneighbors,
|
||||
OMPI_SINGLE_NAME_DECL(outneighbors);
|
||||
OMPI_LOGICAL_NAME_DECL(weighted);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
*ierr = OMPI_INT_2_FINT(MPI_Dist_graph_neighbors_count(c_comm,
|
||||
OMPI_SINGLE_NAME_CONVERT(inneighbors),
|
||||
OMPI_SINGLE_NAME_CONVERT(outneighbors),
|
||||
OMPI_LOGICAL_SINGLE_NAME_CONVERT(weighted)));
|
||||
*ierr = OMPI_INT_2_FINT(PMPI_Dist_graph_neighbors_count(c_comm,
|
||||
OMPI_SINGLE_NAME_CONVERT(inneighbors),
|
||||
OMPI_SINGLE_NAME_CONVERT(outneighbors),
|
||||
OMPI_LOGICAL_SINGLE_NAME_CONVERT(weighted)));
|
||||
OMPI_SINGLE_INT_2_LOGICAL(weighted);
|
||||
if (OMPI_SUCCESS == OMPI_FINT_2_INT(*ierr)) {
|
||||
OMPI_SINGLE_INT_2_FINT(inneighbors);
|
||||
|
@ -62,9 +62,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_DIST_GRAPH_NEIGHBORS,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Dist_graph_neighbors PMPI_Dist_graph_neighbors
|
||||
#endif
|
||||
|
||||
void ompi_dist_graph_neighbors_f(MPI_Fint* comm, MPI_Fint* maxindegree,
|
||||
MPI_Fint* sources, MPI_Fint* sourceweights,
|
||||
@ -78,7 +75,7 @@ void ompi_dist_graph_neighbors_f(MPI_Fint* comm, MPI_Fint* maxindegree,
|
||||
OMPI_ARRAY_NAME_DECL(destinations);
|
||||
OMPI_ARRAY_NAME_DECL(destweights);
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
OMPI_ARRAY_FINT_2_INT_ALLOC(sources, *maxindegree);
|
||||
if( !OMPI_IS_FORTRAN_UNWEIGHTED(sourceweights) ) {
|
||||
@ -89,11 +86,11 @@ void ompi_dist_graph_neighbors_f(MPI_Fint* comm, MPI_Fint* maxindegree,
|
||||
OMPI_ARRAY_FINT_2_INT_ALLOC(destweights, *maxoutdegree);
|
||||
}
|
||||
|
||||
*ierr = OMPI_INT_2_FINT(MPI_Dist_graph_neighbors(c_comm, OMPI_FINT_2_INT(*maxindegree),
|
||||
OMPI_ARRAY_NAME_CONVERT(sources),
|
||||
OMPI_IS_FORTRAN_UNWEIGHTED(sourceweights) ? MPI_UNWEIGHTED : OMPI_ARRAY_NAME_CONVERT(sourceweights),
|
||||
OMPI_FINT_2_INT(*maxoutdegree), OMPI_ARRAY_NAME_CONVERT(destinations),
|
||||
OMPI_IS_FORTRAN_UNWEIGHTED(destweights) ? MPI_UNWEIGHTED : OMPI_ARRAY_NAME_CONVERT(destweights)));
|
||||
*ierr = OMPI_INT_2_FINT(PMPI_Dist_graph_neighbors(c_comm, OMPI_FINT_2_INT(*maxindegree),
|
||||
OMPI_ARRAY_NAME_CONVERT(sources),
|
||||
OMPI_IS_FORTRAN_UNWEIGHTED(sourceweights) ? MPI_UNWEIGHTED : OMPI_ARRAY_NAME_CONVERT(sourceweights),
|
||||
OMPI_FINT_2_INT(*maxoutdegree), OMPI_ARRAY_NAME_CONVERT(destinations),
|
||||
OMPI_IS_FORTRAN_UNWEIGHTED(destweights) ? MPI_UNWEIGHTED : OMPI_ARRAY_NAME_CONVERT(destweights)));
|
||||
if (OMPI_SUCCESS == OMPI_FINT_2_INT(*ierr)) {
|
||||
OMPI_ARRAY_INT_2_FINT(sources, *maxindegree);
|
||||
if( !OMPI_IS_FORTRAN_UNWEIGHTED(sourceweights) ) {
|
||||
|
@ -66,10 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ERRHANDLER_CREATE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Errhandler_create PMPI_Errhandler_create
|
||||
#endif
|
||||
|
||||
void ompi_errhandler_create_f(ompi_errhandler_fortran_handler_fn_t* function,
|
||||
MPI_Fint *errhandler, MPI_Fint *ierr)
|
||||
{
|
||||
|
@ -65,21 +65,18 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ERRHANDLER_FREE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Errhandler_free PMPI_Errhandler_free
|
||||
#endif
|
||||
|
||||
void ompi_errhandler_free_f(MPI_Fint *errhandler, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Errhandler c_errhandler;
|
||||
|
||||
c_errhandler = MPI_Errhandler_f2c(*errhandler);
|
||||
c_errhandler = PMPI_Errhandler_f2c(*errhandler);
|
||||
|
||||
c_ierr = MPI_Errhandler_free(&c_errhandler);
|
||||
c_ierr = PMPI_Errhandler_free(&c_errhandler);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*errhandler = MPI_Errhandler_c2f(c_errhandler);
|
||||
*errhandler = PMPI_Errhandler_c2f(c_errhandler);
|
||||
}
|
||||
}
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ERRHANDLER_GET,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Errhandler_get PMPI_Errhandler_get
|
||||
#endif
|
||||
|
||||
void ompi_errhandler_get_f(MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr)
|
||||
{
|
||||
@ -75,13 +72,13 @@ void ompi_errhandler_get_f(MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr)
|
||||
MPI_Comm c_comm;
|
||||
MPI_Errhandler c_errhandler;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
|
||||
c_ierr = MPI_Errhandler_get(c_comm, &c_errhandler);
|
||||
c_ierr = PMPI_Errhandler_get(c_comm, &c_errhandler);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*errhandler = MPI_Errhandler_c2f(c_errhandler);
|
||||
*errhandler = PMPI_Errhandler_c2f(c_errhandler);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ERRHANDLER_SET,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Errhandler_set PMPI_Errhandler_set
|
||||
#endif
|
||||
|
||||
void ompi_errhandler_set_f(MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr)
|
||||
{
|
||||
@ -76,9 +73,9 @@ void ompi_errhandler_set_f(MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr)
|
||||
MPI_Comm c_comm;
|
||||
MPI_Errhandler c_errhandler;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_errhandler = MPI_Errhandler_f2c(*errhandler);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_errhandler = PMPI_Errhandler_f2c(*errhandler);
|
||||
|
||||
c_ierr = MPI_Errhandler_set(c_comm, c_errhandler);
|
||||
c_ierr = PMPI_Errhandler_set(c_comm, c_errhandler);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
}
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ERROR_CLASS,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Error_class PMPI_Error_class
|
||||
#endif
|
||||
|
||||
void ompi_error_class_f(MPI_Fint *errorcode, MPI_Fint *errorclass,
|
||||
MPI_Fint *ierr)
|
||||
@ -75,7 +72,7 @@ void ompi_error_class_f(MPI_Fint *errorcode, MPI_Fint *errorclass,
|
||||
int c_ierr;
|
||||
OMPI_SINGLE_NAME_DECL(errorclass);
|
||||
|
||||
c_ierr = MPI_Error_class(OMPI_FINT_2_INT(*errorcode),
|
||||
c_ierr = PMPI_Error_class(OMPI_FINT_2_INT(*errorcode),
|
||||
OMPI_SINGLE_NAME_CONVERT(errorclass));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
|
@ -68,9 +68,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_ERROR_STRING,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Error_string PMPI_Error_string
|
||||
#endif
|
||||
|
||||
static const char FUNC_NAME[] = "MPI_ERROR_STRING";
|
||||
|
||||
@ -86,7 +83,7 @@ void ompi_error_string_f(MPI_Fint *errorcode, char *string,
|
||||
char c_string[MPI_MAX_ERROR_STRING + 1];
|
||||
OMPI_SINGLE_NAME_DECL(resultlen);
|
||||
|
||||
c_ierr = MPI_Error_string(OMPI_FINT_2_INT(*errorcode),
|
||||
c_ierr = PMPI_Error_string(OMPI_FINT_2_INT(*errorcode),
|
||||
c_string,
|
||||
OMPI_SINGLE_NAME_CONVERT(resultlen)
|
||||
);
|
||||
|
@ -66,9 +66,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_EXSCAN,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Exscan PMPI_Exscan
|
||||
#endif
|
||||
|
||||
void ompi_exscan_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
|
||||
MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm,
|
||||
@ -79,15 +76,15 @@ void ompi_exscan_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
|
||||
MPI_Datatype c_type;
|
||||
MPI_Op c_op;
|
||||
|
||||
c_comm = MPI_Comm_f2c(*comm);
|
||||
c_type = MPI_Type_f2c(*datatype);
|
||||
c_op = MPI_Op_f2c(*op);
|
||||
c_comm = PMPI_Comm_f2c(*comm);
|
||||
c_type = PMPI_Type_f2c(*datatype);
|
||||
c_op = PMPI_Op_f2c(*op);
|
||||
|
||||
/* MPI_IN_PLACE is not supported */
|
||||
sendbuf = (char *) OMPI_F2C_BOTTOM (sendbuf);
|
||||
recvbuf = (char *) OMPI_F2C_BOTTOM (recvbuf);
|
||||
|
||||
c_ierr = MPI_Exscan(sendbuf, recvbuf,
|
||||
c_ierr = PMPI_Exscan(sendbuf, recvbuf,
|
||||
OMPI_FINT_2_INT(*count),
|
||||
c_type, c_op, c_comm);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
@ -67,10 +67,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_F_SYNC_REG,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_F_sync_reg PMPI_F_sync_reg
|
||||
#endif
|
||||
|
||||
void ompi_f_sync_reg_f(char *buf)
|
||||
{
|
||||
/* This is a noop in C to disable potential Fortran optimizations. */
|
||||
|
@ -70,20 +70,17 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FETCH_AND_OP,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_Fetch_and_op PMPI_Fetch_and_op
|
||||
#endif
|
||||
|
||||
void ompi_fetch_and_op_f(char *origin_addr, char *result_addr, MPI_Fint *datatype,
|
||||
MPI_Fint *target_rank, MPI_Aint *target_disp,
|
||||
MPI_Fint *op, MPI_Fint *win, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_Datatype c_datatype = MPI_Type_f2c(*datatype);
|
||||
MPI_Win c_win = MPI_Win_f2c(*win);
|
||||
MPI_Op c_op = MPI_Op_f2c(*op);
|
||||
MPI_Datatype c_datatype = PMPI_Type_f2c(*datatype);
|
||||
MPI_Win c_win = PMPI_Win_f2c(*win);
|
||||
MPI_Op c_op = PMPI_Op_f2c(*op);
|
||||
|
||||
c_ierr = MPI_Fetch_and_op(OMPI_F2C_BOTTOM(origin_addr),
|
||||
c_ierr = PMPI_Fetch_and_op(OMPI_F2C_BOTTOM(origin_addr),
|
||||
OMPI_F2C_BOTTOM(result_addr),
|
||||
c_datatype,
|
||||
OMPI_FINT_2_INT(*target_rank),
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_CALL_ERRHANDLER,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_File_call_errhandler PMPI_File_call_errhandler
|
||||
#endif
|
||||
|
||||
void ompi_file_call_errhandler_f(MPI_Fint *fh, MPI_Fint *errorcode,
|
||||
MPI_Fint *ierr)
|
||||
@ -75,8 +72,8 @@ void ompi_file_call_errhandler_f(MPI_Fint *fh, MPI_Fint *errorcode,
|
||||
int c_ierr;
|
||||
MPI_File c_fh;
|
||||
|
||||
c_fh = MPI_File_f2c(*fh);
|
||||
c_fh = PMPI_File_f2c(*fh);
|
||||
|
||||
c_ierr = MPI_File_call_errhandler(c_fh, OMPI_FINT_2_INT(*errorcode));
|
||||
c_ierr = PMPI_File_call_errhandler(c_fh, OMPI_FINT_2_INT(*errorcode));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
}
|
||||
|
@ -65,21 +65,18 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_CLOSE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_File_close PMPI_File_close
|
||||
#endif
|
||||
|
||||
void ompi_file_close_f(MPI_Fint *fh, MPI_Fint *ierr)
|
||||
{
|
||||
int c_ierr;
|
||||
MPI_File c_fh;
|
||||
|
||||
c_fh = MPI_File_f2c(*fh);
|
||||
c_fh = PMPI_File_f2c(*fh);
|
||||
|
||||
c_ierr = MPI_File_close(&c_fh);
|
||||
c_ierr = PMPI_File_close(&c_fh);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
*fh = MPI_File_c2f(c_fh);
|
||||
*fh = PMPI_File_c2f(c_fh);
|
||||
}
|
||||
}
|
||||
|
@ -67,10 +67,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_CREATE_ERRHANDLER,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_File_create_errhandler PMPI_File_create_errhandler
|
||||
#endif
|
||||
|
||||
static const char FUNC_NAME[] = "MPI_FILE_CREATE_ERRHANDLER";
|
||||
|
||||
|
||||
@ -83,7 +79,7 @@ void ompi_file_create_errhandler_f(ompi_errhandler_fortran_handler_fn_t* functio
|
||||
(ompi_errhandler_generic_handler_fn_t*) function,
|
||||
OMPI_ERRHANDLER_LANG_FORTRAN);
|
||||
if (MPI_ERRHANDLER_NULL != c_errhandler) {
|
||||
*errhandler = MPI_Errhandler_c2f(c_errhandler);
|
||||
*errhandler = PMPI_Errhandler_c2f(c_errhandler);
|
||||
c_ierr = MPI_SUCCESS;
|
||||
} else {
|
||||
c_ierr = MPI_ERR_INTERN;
|
||||
|
@ -67,9 +67,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_DELETE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_File_delete PMPI_File_delete
|
||||
#endif
|
||||
|
||||
void ompi_file_delete_f(char *filename, MPI_Fint *info, MPI_Fint *ierr, int filename_len)
|
||||
{
|
||||
@ -77,7 +74,7 @@ void ompi_file_delete_f(char *filename, MPI_Fint *info, MPI_Fint *ierr, int file
|
||||
char *c_filename;
|
||||
int c_ierr, ret;
|
||||
|
||||
c_info = MPI_Info_f2c(*info);
|
||||
c_info = PMPI_Info_f2c(*info);
|
||||
|
||||
/* Convert the fortran string */
|
||||
if (OMPI_SUCCESS != (ret = ompi_fortran_string_f2c(filename, filename_len,
|
||||
@ -87,7 +84,7 @@ void ompi_file_delete_f(char *filename, MPI_Fint *info, MPI_Fint *ierr, int file
|
||||
return;
|
||||
}
|
||||
|
||||
c_ierr = MPI_File_delete(c_filename, c_info);
|
||||
c_ierr = PMPI_File_delete(c_filename, c_info);
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
free(c_filename);
|
||||
|
@ -65,9 +65,6 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_GET_AMODE,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if OMPI_ENABLE_MPI_PROFILING
|
||||
#define MPI_File_get_amode PMPI_File_get_amode
|
||||
#endif
|
||||
|
||||
void ompi_file_get_amode_f(MPI_Fint *fh, MPI_Fint *amode, MPI_Fint *ierr)
|
||||
{
|
||||
@ -75,8 +72,8 @@ void ompi_file_get_amode_f(MPI_Fint *fh, MPI_Fint *amode, MPI_Fint *ierr)
|
||||
MPI_File c_fh;
|
||||
OMPI_SINGLE_NAME_DECL(amode);
|
||||
|
||||
c_fh = MPI_File_f2c(*fh);
|
||||
c_ierr = MPI_File_get_amode(c_fh, OMPI_SINGLE_NAME_CONVERT(amode));
|
||||
c_fh = PMPI_File_f2c(*fh);
|
||||
c_ierr = PMPI_File_get_amode(c_fh, OMPI_SINGLE_NAME_CONVERT(amode));
|
||||
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
|
||||
|
||||
if (MPI_SUCCESS == c_ierr) {
|
||||
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
x
Ссылка в новой задаче
Block a user