1
1

configury: remove the --enable-mpi-profiling option

and directly call the PMPI_* symbols from C and Fortran bindings
Этот коммит содержится в:
Gilles Gouaillardet 2015-10-13 08:52:35 +09:00
родитель 40b57ff347
Коммит 291a464efb
386 изменённых файлов: 1188 добавлений и 2410 удалений

Просмотреть файл

@ -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])
])

Просмотреть файл

@ -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) {

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше