1
1

Merge pull request #5430 from ggouaillardet/pr/pcollreq-fort

mpiext/pcollreq: add Fortran bindings
Этот коммит содержится в:
Gilles Gouaillardet 2018-07-18 09:52:59 +09:00 коммит произвёл GitHub
родитель 9ac84a92a2 47351b7fac
Коммит fed1e7766e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
80 изменённых файлов: 6412 добавлений и 5 удалений

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

@ -168,6 +168,8 @@ EOF
! *** THIS FILE IS AUTOMATICALLY GENERATED!
! *** Any manual edits will be lost!
!
#include "ompi/mpi/fortran/configure-fortran-output.h"
module mpi_ext
! Even though this is not a useful parameter (cannot be used as a
! preprocessor catch) define it to keep the linker from complaining
@ -208,6 +210,8 @@ EOF
! *** THIS FILE IS AUTOMATICALLY GENERATED!
! *** Any manual edits will be lost!
!
#include "ompi/mpi/fortran/configure-fortran-output.h"
module mpi_f08_ext
! Even though this is not a useful parameter (cannot be used as a
! preprocessor catch) define it to keep the linker from complaining
@ -569,7 +573,7 @@ EOF
fi
cat >> $mpiusempi_ext_h <<EOF
include '${srcdir}/ompi/mpiext/$component/use-mpi/$component_header'
#include "${srcdir}/ompi/mpiext/$component/use-mpi/$component_header"
EOF
else
@ -622,7 +626,7 @@ EOF
fi
cat >> $mpiusempif08_ext_h <<EOF
include '${srcdir}/ompi/mpiext/$component/use-mpi-f08/$component_header'
#include "${srcdir}/ompi/mpiext/$component/use-mpi-f08/$component_header"
EOF
else

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

@ -1,5 +1,5 @@
#
# Copyright (c) 2017 FUJITSU LIMITED. All rights reserved.
# Copyright (c) 2017-2018 FUJITSU LIMITED. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -7,4 +7,4 @@
# $HEADER$
#
SUBDIRS = c
SUBDIRS = c mpif-h use-mpi use-mpi-f08

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

@ -62,6 +62,9 @@ libmpiext_pcollreq_c_la_SOURCES += \
neighbor_alltoallw_init.c
endif
libmpiext_pcollreq_c_la_LIBADD = \
profile/libpmpiext_pcollreq_c.la
# Man page installation
nodist_man_MANS = \
MPIX_Allgather_init.3 \

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

@ -1,6 +1,6 @@
# -*- shell-script -*-
#
# Copyright (c) 2017 FUJITSU LIMITED. All rights reserved.
# Copyright (c) 2017-2018 FUJITSU LIMITED. All rights reserved.
# Copyright (c) 2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
@ -17,6 +17,10 @@ AC_DEFUN([OMPI_MPIEXT_pcollreq_CONFIG],[
ompi/mpiext/pcollreq/Makefile
ompi/mpiext/pcollreq/c/Makefile
ompi/mpiext/pcollreq/c/profile/Makefile
ompi/mpiext/pcollreq/mpif-h/Makefile
ompi/mpiext/pcollreq/mpif-h/profile/Makefile
ompi/mpiext/pcollreq/use-mpi/Makefile
ompi/mpiext/pcollreq/use-mpi-f08/Makefile
])
AS_IF([test "$ENABLE_pcollreq" = "1" || \

88
ompi/mpiext/pcollreq/mpif-h/Makefile.am Обычный файл
Просмотреть файл

@ -0,0 +1,88 @@
#
# Copyright (c) 2004-2009 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
# Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
# Copyright (c) 2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
SUBDIRS = profile
# This file builds the mpif.h-based bindings for MPI extensions. It
# is optional in MPI extensions.
# We must set these #defines so that the inner OMPI MPI prototype
# header files do the Right Thing.
AM_CPPFLAGS = -DOMPI_BUILD_MPI_PROFILING=0 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1
# Note that the mpif.h-based bindings are optional -- they can only be
# built if OMPI is also building the Fortran-based bindings. So we
# initially set some Makefile macros to empty, and then conditionally
# add to them later.
noinst_LTLIBRARIES =
# Directory where the header file to be included in mpif-ext.h must be
# installed.
ompidir = $(ompiincludedir)/ompi/mpiext/pcollreq/mpif-h
# Just like noinst_LTLIBRARIES, set this macro to empty and
# conditionally add to it later.
ompi_HEADERS =
# Use the Automake conditional to know if we're building the mpif.h
# bindings.
if OMPI_BUILD_FORTRAN_MPIFH_BINDINGS
# If we are, build the convenience libtool library that will be
# slurped up into libmpi_mpifh.la.
noinst_LTLIBRARIES += libmpiext_pcollreq_mpifh.la
# This is the header file that is installed.
ompi_HEADERS += mpiext_pcollreq_mpifh.h
noinst_HEADERS = mpiext_pcollreq_prototypes.h
# Sources for the convenience libtool library.
libmpiext_pcollreq_mpifh_la_SOURCES = \
$(ompi_HEADERS) \
mpiext_pcollreq_mpifh.c
if BUILD_MPI_BINDINGS_LAYER
libmpiext_pcollreq_mpifh_la_SOURCES += \
allgather_init_f.c \
allgatherv_init_f.c \
allreduce_init_f.c \
alltoall_init_f.c \
alltoallv_init_f.c \
alltoallw_init_f.c \
barrier_init_f.c \
bcast_init_f.c \
exscan_init_f.c \
gather_init_f.c \
gatherv_init_f.c \
reduce_init_f.c \
reduce_scatter_init_f.c \
reduce_scatter_block_init_f.c \
scan_init_f.c \
scatter_init_f.c \
scatterv_init_f.c \
\
neighbor_allgather_init_f.c \
neighbor_allgatherv_init_f.c \
neighbor_alltoall_init_f.c \
neighbor_alltoallv_init_f.c \
neighbor_alltoallw_init_f.c
endif
libmpiext_pcollreq_mpifh_la_LIBADD = \
profile/libpmpiext_pcollreq_mpifh.la
endif

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

@ -0,0 +1,100 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_ALLGATHER_INIT = ompix_allgather_init_f
#pragma weak pmpix_allgather_init = ompix_allgather_init_f
#pragma weak pmpix_allgather_init_ = ompix_allgather_init_f
#pragma weak pmpix_allgather_init__ = ompix_allgather_init_f
#pragma weak PMPIX_Allgather_init_f = ompix_allgather_init_f
#pragma weak PMPIX_Allgather_init_f08 = ompix_allgather_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_ALLGATHER_INIT,
pmpix_allgather_init,
pmpix_allgather_init_,
pmpix_allgather_init__,
pompix_allgather_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_ALLGATHER_INIT = ompix_allgather_init_f
#pragma weak mpix_allgather_init = ompix_allgather_init_f
#pragma weak mpix_allgather_init_ = ompix_allgather_init_f
#pragma weak mpix_allgather_init__ = ompix_allgather_init_f
#pragma weak MPIX_Allgather_init_f = ompix_allgather_init_f
#pragma weak MPIX_Allgather_init_f08 = ompix_allgather_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_ALLGATHER_INIT,
mpix_allgather_init,
mpix_allgather_init_,
mpix_allgather_init__,
ompix_allgather_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request, ierr) )
#else
#define ompix_allgather_init_f pompix_allgather_init_f
#endif
#endif
void ompix_allgather_init_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype,
MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
int ierr_c;
MPI_Comm c_comm;
MPI_Request c_req;
MPI_Datatype c_sendtype, c_recvtype;
MPI_Info c_info;
c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
ierr_c = PMPIX_Allgather_init(sendbuf,
OMPI_FINT_2_INT(*sendcount),
c_sendtype,
recvbuf,
OMPI_FINT_2_INT(*recvcount),
c_recvtype, c_comm, c_info, &c_req);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
if (MPI_SUCCESS == ierr_c) *request = PMPI_Request_c2f(c_req);
}

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

@ -0,0 +1,110 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_ALLGATHERV_INIT = ompix_allgatherv_init_f
#pragma weak pmpix_allgatherv_init = ompix_allgatherv_init_f
#pragma weak pmpix_allgatherv_init_ = ompix_allgatherv_init_f
#pragma weak pmpix_allgatherv_init__ = ompix_allgatherv_init_f
#pragma weak PMPIX_Allgatherv_init_f = ompix_allgatherv_init_f
#pragma weak PMPIX_Allgatherv_init_f08 = ompix_allgatherv_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_ALLGATHERV_INIT,
pmpix_allgatherv_init,
pmpix_allgatherv_init_,
pmpix_allgatherv_init__,
pompix_allgatherv_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_ALLGATHERV_INIT = ompix_allgatherv_init_f
#pragma weak mpix_allgatherv_init = ompix_allgatherv_init_f
#pragma weak mpix_allgatherv_init_ = ompix_allgatherv_init_f
#pragma weak mpix_allgatherv_init__ = ompix_allgatherv_init_f
#pragma weak MPIX_Allgatherv_init_f = ompix_allgatherv_init_f
#pragma weak MPIX_Allgatherv_init_f08 = ompix_allgatherv_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_ALLGATHERV_INIT,
mpix_allgatherv_init,
mpix_allgatherv_init_,
mpix_allgatherv_init__,
ompix_allgatherv_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request, ierr) )
#else
#define ompix_allgatherv_init_f pompix_allgatherv_init_f
#endif
#endif
void ompix_allgatherv_init_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs,
MPI_Fint *recvtype, MPI_Fint *comm,
MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
MPI_Comm c_comm;
MPI_Datatype c_sendtype, c_recvtype;
MPI_Request c_request;
MPI_Info c_info;
int size, ierr_c;
OMPI_ARRAY_NAME_DECL(recvcounts);
OMPI_ARRAY_NAME_DECL(displs);
c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
PMPI_Comm_size(c_comm, &size);
OMPI_ARRAY_FINT_2_INT(recvcounts, size);
OMPI_ARRAY_FINT_2_INT(displs, size);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
ierr_c = PMPIX_Allgatherv_init(sendbuf,
OMPI_FINT_2_INT(*sendcount),
c_sendtype,
recvbuf,
OMPI_ARRAY_NAME_CONVERT(recvcounts),
OMPI_ARRAY_NAME_CONVERT(displs),
c_recvtype, c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
if (MPI_SUCCESS == ierr_c) *request = PMPI_Request_c2f(c_request);
OMPI_ARRAY_FINT_2_INT_CLEANUP(recvcounts);
OMPI_ARRAY_FINT_2_INT_CLEANUP(displs);
}

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

@ -0,0 +1,96 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_ALLREDUCE_INIT = ompix_allreduce_init_f
#pragma weak pmpix_allreduce_init = ompix_allreduce_init_f
#pragma weak pmpix_allreduce_init_ = ompix_allreduce_init_f
#pragma weak pmpix_allreduce_init__ = ompix_allreduce_init_f
#pragma weak PMPIX_Allreduce_init_f = ompix_allreduce_init_f
#pragma weak PMPIX_Allreduce_init_f08 = ompix_allreduce_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_ALLREDUCE_INIT,
pmpix_allreduce_init,
pmpix_allreduce_init_,
pmpix_allreduce_init__,
pompix_allreduce_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, count, datatype, op, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_ALLREDUCE_INIT = ompix_allreduce_init_f
#pragma weak mpix_allreduce_init = ompix_allreduce_init_f
#pragma weak mpix_allreduce_init_ = ompix_allreduce_init_f
#pragma weak mpix_allreduce_init__ = ompix_allreduce_init_f
#pragma weak MPIX_Allreduce_init_f = ompix_allreduce_init_f
#pragma weak MPIX_Allreduce_init_f08 = ompix_allreduce_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_ALLREDUCE_INIT,
mpix_allreduce_init,
mpix_allreduce_init_,
mpix_allreduce_init__,
ompix_allreduce_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, count, datatype, op, comm, info, request, ierr) )
#else
#define ompix_allreduce_init_f pompix_allreduce_init_f
#endif
#endif
void ompix_allreduce_init_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm,
MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
int ierr_c;
MPI_Comm c_comm;
MPI_Datatype c_type;
MPI_Info c_info;
MPI_Request c_request;
MPI_Op c_op;
c_comm = PMPI_Comm_f2c(*comm);
c_type = PMPI_Type_f2c(*datatype);
c_op = PMPI_Op_f2c(*op);
c_info = PMPI_Info_f2c(*info);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
ierr_c = PMPIX_Allreduce_init(sendbuf, recvbuf,
OMPI_FINT_2_INT(*count),
c_type, c_op, c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
if (MPI_SUCCESS == ierr_c) *request = PMPI_Request_c2f(c_request);
}

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

@ -0,0 +1,99 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_ALLTOALL_INIT = ompix_alltoall_init_f
#pragma weak pmpix_alltoall_init = ompix_alltoall_init_f
#pragma weak pmpix_alltoall_init_ = ompix_alltoall_init_f
#pragma weak pmpix_alltoall_init__ = ompix_alltoall_init_f
#pragma weak PMPIX_Alltoall_init_f = ompix_alltoall_init_f
#pragma weak PMPIX_Alltoall_init_f08 = ompix_alltoall_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_ALLTOALL_INIT,
pmpix_alltoall_init,
pmpix_alltoall_init_,
pmpix_alltoall_init__,
pompix_alltoall_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_ALLTOALL_INIT = ompix_alltoall_init_f
#pragma weak mpix_alltoall_init = ompix_alltoall_init_f
#pragma weak mpix_alltoall_init_ = ompix_alltoall_init_f
#pragma weak mpix_alltoall_init__ = ompix_alltoall_init_f
#pragma weak MPIX_Alltoall_init_f = ompix_alltoall_init_f
#pragma weak MPIX_Alltoall_init_f08 = ompix_alltoall_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_ALLTOALL_INIT,
mpix_alltoall_init,
mpix_alltoall_init_,
mpix_alltoall_init__,
ompix_alltoall_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request, ierr) )
#else
#define ompix_alltoall_init_f pompix_alltoall_init_f
#endif
#endif
void ompix_alltoall_init_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype,
MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
int c_ierr;
MPI_Comm c_comm;
MPI_Request c_req;
MPI_Datatype c_sendtype, c_recvtype;
MPI_Info c_info;
c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Alltoall_init(sendbuf,
OMPI_FINT_2_INT(*sendcount),
c_sendtype,
recvbuf,
OMPI_FINT_2_INT(*recvcount),
c_recvtype, c_comm, c_info, &c_req);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_req);
}

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

@ -0,0 +1,116 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_ALLTOALLV_INIT = ompix_alltoallv_init_f
#pragma weak pmpix_alltoallv_init = ompix_alltoallv_init_f
#pragma weak pmpix_alltoallv_init_ = ompix_alltoallv_init_f
#pragma weak pmpix_alltoallv_init__ = ompix_alltoallv_init_f
#pragma weak PMPIX_Alltoallv_init_f = ompix_alltoallv_init_f
#pragma weak PMPIX_Alltoallv_init_f08 = ompix_alltoallv_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_ALLTOALLV_INIT,
pmpix_alltoallv_init,
pmpix_alltoallv_init_,
pmpix_alltoallv_init__,
pompix_alltoallv_init_f,
(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *rdispls, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_ALLTOALLV_INIT = ompix_alltoallv_init_f
#pragma weak mpix_alltoallv_init = ompix_alltoallv_init_f
#pragma weak mpix_alltoallv_init_ = ompix_alltoallv_init_f
#pragma weak mpix_alltoallv_init__ = ompix_alltoallv_init_f
#pragma weak MPIX_Alltoallv_init_f = ompix_alltoallv_init_f
#pragma weak MPIX_Alltoallv_init_f08 = ompix_alltoallv_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_ALLTOALLV_INIT,
mpix_alltoallv_init,
mpix_alltoallv_init_,
mpix_alltoallv_init__,
ompix_alltoallv_init_f,
(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *rdispls, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request, ierr) )
#else
#define ompix_alltoallv_init_f pompix_alltoallv_init_f
#endif
#endif
void ompix_alltoallv_init_f(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls,
MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts,
MPI_Fint *rdispls, MPI_Fint *recvtype,
MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
MPI_Comm c_comm;
MPI_Datatype c_sendtype, c_recvtype;
MPI_Info c_info;
MPI_Request c_request;
int size, c_ierr;
OMPI_ARRAY_NAME_DECL(sendcounts);
OMPI_ARRAY_NAME_DECL(sdispls);
OMPI_ARRAY_NAME_DECL(recvcounts);
OMPI_ARRAY_NAME_DECL(rdispls);
c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
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);
OMPI_ARRAY_FINT_2_INT(rdispls, size);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Alltoallv_init(sendbuf,
OMPI_ARRAY_NAME_CONVERT(sendcounts),
OMPI_ARRAY_NAME_CONVERT(sdispls),
c_sendtype,
recvbuf,
OMPI_ARRAY_NAME_CONVERT(recvcounts),
OMPI_ARRAY_NAME_CONVERT(rdispls),
c_recvtype, c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
OMPI_ARRAY_FINT_2_INT_CLEANUP(sendcounts);
OMPI_ARRAY_FINT_2_INT_CLEANUP(sdispls);
OMPI_ARRAY_FINT_2_INT_CLEANUP(recvcounts);
OMPI_ARRAY_FINT_2_INT_CLEANUP(rdispls);
}

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

@ -0,0 +1,127 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_ALLTOALLW_INIT = ompix_alltoallw_init_f
#pragma weak pmpix_alltoallw_init = ompix_alltoallw_init_f
#pragma weak pmpix_alltoallw_init_ = ompix_alltoallw_init_f
#pragma weak pmpix_alltoallw_init__ = ompix_alltoallw_init_f
#pragma weak PMPIX_Alltoallw_init_f = ompix_alltoallw_init_f
#pragma weak PMPIX_Alltoallw_init_f08 = ompix_alltoallw_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_ALLTOALLW_INIT,
pmpix_alltoallw_init,
pmpix_alltoallw_init_,
pmpix_alltoallw_init__,
pompix_alltoallw_init_f,
(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls, MPI_Fint *sendtypes, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *rdispls, MPI_Fint *recvtypes, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_ALLTOALLW_INIT = ompix_alltoallw_init_f
#pragma weak mpix_alltoallw_init = ompix_alltoallw_init_f
#pragma weak mpix_alltoallw_init_ = ompix_alltoallw_init_f
#pragma weak mpix_alltoallw_init__ = ompix_alltoallw_init_f
#pragma weak MPIX_Alltoallw_init_f = ompix_alltoallw_init_f
#pragma weak MPIX_Alltoallw_init_f08 = ompix_alltoallw_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_ALLTOALLW_INIT,
mpix_alltoallw_init,
mpix_alltoallw_init_,
mpix_alltoallw_init__,
ompix_alltoallw_init_f,
(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls, MPI_Fint *sendtypes, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *rdispls, MPI_Fint *recvtypes, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request, ierr) )
#else
#define ompix_alltoallw_init_f pompix_alltoallw_init_f
#endif
#endif
void ompix_alltoallw_init_f(char *sendbuf, MPI_Fint *sendcounts,
MPI_Fint *sdispls, MPI_Fint *sendtypes,
char *recvbuf, MPI_Fint *recvcounts,
MPI_Fint *rdispls, MPI_Fint *recvtypes,
MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
MPI_Comm c_comm;
MPI_Datatype *c_sendtypes, *c_recvtypes;
MPI_Info c_info;
MPI_Request c_request;
int size, c_ierr;
OMPI_ARRAY_NAME_DECL(sendcounts);
OMPI_ARRAY_NAME_DECL(sdispls);
OMPI_ARRAY_NAME_DECL(recvcounts);
OMPI_ARRAY_NAME_DECL(rdispls);
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));
c_info = PMPI_Info_f2c(*info);
OMPI_ARRAY_FINT_2_INT(sendcounts, size);
OMPI_ARRAY_FINT_2_INT(sdispls, size);
OMPI_ARRAY_FINT_2_INT(recvcounts, size);
OMPI_ARRAY_FINT_2_INT(rdispls, size);
while (size > 0) {
c_sendtypes[size - 1] = PMPI_Type_f2c(sendtypes[size - 1]);
c_recvtypes[size - 1] = PMPI_Type_f2c(recvtypes[size - 1]);
--size;
}
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Alltoallw_init(sendbuf,
OMPI_ARRAY_NAME_CONVERT(sendcounts),
OMPI_ARRAY_NAME_CONVERT(sdispls),
c_sendtypes,
recvbuf,
OMPI_ARRAY_NAME_CONVERT(recvcounts),
OMPI_ARRAY_NAME_CONVERT(rdispls),
c_recvtypes, c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
OMPI_ARRAY_FINT_2_INT_CLEANUP(sendcounts);
OMPI_ARRAY_FINT_2_INT_CLEANUP(sdispls);
OMPI_ARRAY_FINT_2_INT_CLEANUP(recvcounts);
OMPI_ARRAY_FINT_2_INT_CLEANUP(rdispls);
free(c_sendtypes);
free(c_recvtypes);
}

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

@ -0,0 +1,84 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_BARRIER_INIT = ompix_barrier_init_f
#pragma weak pmpix_barrier_init = ompix_barrier_init_f
#pragma weak pmpix_barrier_init_ = ompix_barrier_init_f
#pragma weak pmpix_barrier_init__ = ompix_barrier_init_f
#pragma weak PMPIX_Barrier_init_f = ompix_barrier_init_f
#pragma weak PMPIX_Barrier_init_f08 = ompix_barrier_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_BARRIER_INIT,
pmpix_barrier_init,
pmpix_barrier_init_,
pmpix_barrier_init__,
pompix_barrier_init_f,
(MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_BARRIER_INIT = ompix_barrier_init_f
#pragma weak mpix_barrier_init = ompix_barrier_init_f
#pragma weak mpix_barrier_init_ = ompix_barrier_init_f
#pragma weak mpix_barrier_init__ = ompix_barrier_init_f
#pragma weak MPIX_Barrier_init_f = ompix_barrier_init_f
#pragma weak MPIX_Barrier_init_f08 = ompix_barrier_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_BARRIER_INIT,
mpix_barrier_init,
mpix_barrier_init_,
mpix_barrier_init__,
ompix_barrier_init_f,
(MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(comm, info, request, ierr) )
#else
#define ompix_barrier_init_f pompix_barrier_init_f
#endif
#endif
void ompix_barrier_init_f(MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
int ierr_c;
MPI_Comm c_comm;
MPI_Info c_info;
MPI_Request c_req;
c_comm = PMPI_Comm_f2c(*comm);
c_info = PMPI_Info_f2c(*info);
ierr_c = PMPIX_Barrier_init(c_comm, c_info, &c_req);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
if (MPI_SUCCESS == ierr_c) *request = PMPI_Request_c2f(c_req);
}

94
ompi/mpiext/pcollreq/mpif-h/bcast_init_f.c Обычный файл
Просмотреть файл

@ -0,0 +1,94 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_BCAST_INIT = ompix_bcast_init_f
#pragma weak pmpix_bcast_init = ompix_bcast_init_f
#pragma weak pmpix_bcast_init_ = ompix_bcast_init_f
#pragma weak pmpix_bcast_init__ = ompix_bcast_init_f
#pragma weak PMPIX_Bcast_init_f = ompix_bcast_init_f
#pragma weak PMPIX_Bcast_init_f08 = ompix_bcast_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_BCAST_INIT,
pmpix_bcast_init,
pmpix_bcast_init_,
pmpix_bcast_init__,
pompix_bcast_init_f,
(char *buffer, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(buffer, count, datatype, root, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_BCAST_INIT = ompix_bcast_init_f
#pragma weak mpix_bcast_init = ompix_bcast_init_f
#pragma weak mpix_bcast_init_ = ompix_bcast_init_f
#pragma weak mpix_bcast_init__ = ompix_bcast_init_f
#pragma weak MPIX_Bcast_init_f = ompix_bcast_init_f
#pragma weak MPIX_Bcast_init_f08 = ompix_bcast_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_BCAST_INIT,
mpix_bcast_init,
mpix_bcast_init_,
mpix_bcast_init__,
ompix_bcast_init_f,
(char *buffer, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(buffer, count, datatype, root, comm, info, request, ierr) )
#else
#define ompix_bcast_init_f pompix_bcast_init_f
#endif
#endif
void ompix_bcast_init_f(char *buffer, MPI_Fint *count, MPI_Fint *datatype,
MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request,
MPI_Fint *ierr)
{
int c_ierr;
MPI_Comm c_comm;
MPI_Info c_info;
MPI_Request c_req;
MPI_Datatype c_type;
c_comm = PMPI_Comm_f2c(*comm);
c_type = PMPI_Type_f2c(*datatype);
c_info = PMPI_Info_f2c(*info);
c_ierr = PMPIX_Bcast_init(OMPI_F2C_BOTTOM(buffer),
OMPI_FINT_2_INT(*count),
c_type,
OMPI_FINT_2_INT(*root),
c_comm,
c_info,
&c_req);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_req);
}

96
ompi/mpiext/pcollreq/mpif-h/exscan_init_f.c Обычный файл
Просмотреть файл

@ -0,0 +1,96 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_EXSCAN_INIT = ompix_exscan_init_f
#pragma weak pmpix_exscan_init = ompix_exscan_init_f
#pragma weak pmpix_exscan_init_ = ompix_exscan_init_f
#pragma weak pmpix_exscan_init__ = ompix_exscan_init_f
#pragma weak PMPIX_Exscan_init_f = ompix_exscan_init_f
#pragma weak PMPIX_Exscan_init_f08 = ompix_exscan_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_EXSCAN_INIT,
pmpix_exscan_init,
pmpix_exscan_init_,
pmpix_exscan_init__,
pompix_exscan_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, count, datatype, op, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_EXSCAN_INIT = ompix_exscan_init_f
#pragma weak mpix_exscan_init = ompix_exscan_init_f
#pragma weak mpix_exscan_init_ = ompix_exscan_init_f
#pragma weak mpix_exscan_init__ = ompix_exscan_init_f
#pragma weak MPIX_Exscan_init_f = ompix_exscan_init_f
#pragma weak MPIX_Exscan_init_f08 = ompix_exscan_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_EXSCAN_INIT,
mpix_exscan_init,
mpix_exscan_init_,
mpix_exscan_init__,
ompix_exscan_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, count, datatype, op, comm, info, request, ierr) )
#else
#define ompix_exscan_init_f pompix_exscan_init_f
#endif
#endif
void ompix_exscan_init_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm,
MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
int c_ierr;
MPI_Comm c_comm;
MPI_Datatype c_type;
MPI_Info c_info;
MPI_Request c_request;
MPI_Op c_op;
c_comm = PMPI_Comm_f2c(*comm);
c_type = PMPI_Type_f2c(*datatype);
c_op = PMPI_Op_f2c(*op);
c_info = PMPI_Info_f2c(*info);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM (sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM (recvbuf);
c_ierr = PMPIX_Exscan_init(sendbuf, recvbuf,
OMPI_FINT_2_INT(*count),
c_type, c_op, c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
}

99
ompi/mpiext/pcollreq/mpif-h/gather_init_f.c Обычный файл
Просмотреть файл

@ -0,0 +1,99 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_GATHER_INIT = ompix_gather_init_f
#pragma weak pmpix_gather_init = ompix_gather_init_f
#pragma weak pmpix_gather_init_ = ompix_gather_init_f
#pragma weak pmpix_gather_init__ = ompix_gather_init_f
#pragma weak PMPIX_Gather_init_f = ompix_gather_init_f
#pragma weak PMPIX_Gather_init_f08 = ompix_gather_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_GATHER_INIT,
pmpix_gather_init,
pmpix_gather_init_,
pmpix_gather_init__,
pompix_gather_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_GATHER_INIT = ompix_gather_init_f
#pragma weak mpix_gather_init = ompix_gather_init_f
#pragma weak mpix_gather_init_ = ompix_gather_init_f
#pragma weak mpix_gather_init__ = ompix_gather_init_f
#pragma weak MPIX_Gather_init_f = ompix_gather_init_f
#pragma weak MPIX_Gather_init_f08 = ompix_gather_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_GATHER_INIT,
mpix_gather_init,
mpix_gather_init_,
mpix_gather_init__,
ompix_gather_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request, ierr) )
#else
#define ompix_gather_init_f pompix_gather_init_f
#endif
#endif
void ompix_gather_init_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype,
MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request,
MPI_Fint *ierr)
{
int c_ierr;
MPI_Comm c_comm;
MPI_Datatype c_sendtype, c_recvtype;
MPI_Info c_info;
MPI_Request c_request;
c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Gather_init(sendbuf, OMPI_FINT_2_INT(*sendcount),
c_sendtype, recvbuf,
OMPI_FINT_2_INT(*recvcount),
c_recvtype,
OMPI_FINT_2_INT(*root),
c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
}

106
ompi/mpiext/pcollreq/mpif-h/gatherv_init_f.c Обычный файл
Просмотреть файл

@ -0,0 +1,106 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_GATHERV_INIT = ompix_gatherv_init_f
#pragma weak pmpix_gatherv_init = ompix_gatherv_init_f
#pragma weak pmpix_gatherv_init_ = ompix_gatherv_init_f
#pragma weak pmpix_gatherv_init__ = ompix_gatherv_init_f
#pragma weak PMPIX_Gatherv_init_f = ompix_gatherv_init_f
#pragma weak PMPIX_Gatherv_init_f08 = ompix_gatherv_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_GATHERV_INIT,
pmpix_gatherv_init,
pmpix_gatherv_init_,
pmpix_gatherv_init__,
pompix_gatherv_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_GATHERV_INIT = ompix_gatherv_init_f
#pragma weak mpix_gatherv_init = ompix_gatherv_init_f
#pragma weak mpix_gatherv_init_ = ompix_gatherv_init_f
#pragma weak mpix_gatherv_init__ = ompix_gatherv_init_f
#pragma weak MPIX_Gatherv_init_f = ompix_gatherv_init_f
#pragma weak MPIX_Gatherv_init_f08 = ompix_gatherv_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_GATHERV_INIT,
mpix_gatherv_init,
mpix_gatherv_init_,
mpix_gatherv_init__,
ompix_gatherv_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request,MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, info, request, ierr) )
#else
#define ompix_gatherv_init_f pompix_gatherv_init_f
#endif
#endif
void ompix_gatherv_init_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs,
MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm,
MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
MPI_Comm c_comm;
MPI_Datatype c_sendtype, c_recvtype;
MPI_Info c_info;
MPI_Request c_request;
int size, c_ierr;
OMPI_ARRAY_NAME_DECL(recvcounts);
OMPI_ARRAY_NAME_DECL(displs);
c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
PMPI_Comm_size(c_comm, &size);
OMPI_ARRAY_FINT_2_INT(recvcounts, size);
OMPI_ARRAY_FINT_2_INT(displs, size);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Gatherv_init(sendbuf, OMPI_FINT_2_INT(*sendcount),
c_sendtype, recvbuf,
OMPI_ARRAY_NAME_CONVERT(recvcounts),
OMPI_ARRAY_NAME_CONVERT(displs),
c_recvtype,
OMPI_FINT_2_INT(*root),
c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
}

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

@ -0,0 +1,15 @@
/*
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
*/
void mpiext_pcollreq_mpifh_dummy(void);
void mpiext_pcollreq_mpifh_dummy() {
}

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

@ -0,0 +1,15 @@
! -*- fortran -*-
!
! Copyright (c) 2010-2011 Oak Ridge National Labs. All rights reserved.
! Copyright (c) 2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
!
! Additional copyrights may follow
!
! $HEADER$
!
! Since the OMPI mpif.h interface does not prototype subroutines, do not
! declare any subroutines here.

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

@ -0,0 +1,105 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2013 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011-2013 Inria. All rights reserved.
* Copyright (c) 2011-2013 Universite Bordeaux 1
* Copyright (c) 2013-2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2016-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
* This file prototypes all MPI fortran functions in all four fortran
* symbol conventions as well as all the internal real OMPI wrapper
* functions (different from any of the four fortran symbol
* conventions for clarity, at the cost of more typing for me...).
* This file is included in the top-level build ONLY. The prototyping
* is done ONLY for MPI_* bindings
*
* Zeroth, the OMPI wrapper functions, with a ompi_ prefix and _f
* suffix.
*
* This is needed ONLY if the lower-level prototypes_pmpi.h has not
* already been included.
*
* Note about function pointers: all function pointers are prototyped
* here as (void*) rather than including the .h file that defines the
* proper type (e.g., "op/op.h" defines ompi_op_fortran_handler_fn_t,
* which is the function pointer type for fortran op callback
* functions). This is because there is no type checking coming in
* from fortran, so why bother? Also, including "op/op.h" (and
* friends) makes the all the f77 bindings files dependant on these
* files -- any change to any one of them will cause the recompilation
* of the entire set of f77 bindings (ugh!).
*/
#include "ompi_config.h"
#include "ompi/errhandler/errhandler.h"
#include "ompi/attribute/attribute.h"
#include "ompi/op/op.h"
#include "ompi/request/grequest.h"
#include "ompi/mpi/fortran/base/datarep.h"
#include "ompi/mpiext/pcollreq/c/mpiext_pcollreq_c.h"
BEGIN_C_DECLS
/* These are the prototypes for the "real" back-end fortran functions. */
#define PN2(ret, mixed_name, lower_name, upper_name, args) \
/* Prototype the actual OMPI function */ \
OMPI_DECLSPEC ret o##lower_name##_f args; \
/* Prototype the 4 versions of the MPI mpif.h name */ \
OMPI_DECLSPEC ret lower_name args; \
OMPI_DECLSPEC ret lower_name##_ args; \
OMPI_DECLSPEC ret lower_name##__ args; \
OMPI_DECLSPEC ret upper_name args; \
/* Prototype the use mpi/use mpi_f08 names */ \
OMPI_DECLSPEC ret mixed_name##_f08 args; \
OMPI_DECLSPEC ret mixed_name##_f args; \
/* Prototype the actual POMPI function */ \
OMPI_DECLSPEC ret po##lower_name##_f args; \
/* Prototype the 4 versions of the PMPI mpif.h name */ \
OMPI_DECLSPEC ret p##lower_name args; \
OMPI_DECLSPEC ret p##lower_name##_ args; \
OMPI_DECLSPEC ret p##lower_name##__ args; \
OMPI_DECLSPEC ret P##upper_name args; \
/* Prototype the use mpi/use mpi_f08 PMPI names */ \
OMPI_DECLSPEC ret P##mixed_name##_f08 args; \
OMPI_DECLSPEC ret P##mixed_name##_f args
PN2(void, MPIX_Allgather_init, mpix_allgather_init, MPIX_ALLGATHER_INIT, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Allgatherv_init, mpix_allgatherv_init, MPIX_ALLGATHERV_INIT, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
END_C_DECLS
PN2(void, MPIX_Allreduce_init, mpix_allreduce_init, MPIX_ALLREDUCE_INIT, (char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_alltoall_init, mpix_alltoall_init, MPIX_ALLTOALL_INIT, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Alltoallv_init, mpix_alltoallv_init, MPIX_ALLTOALLV_INIT, (char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *rdispls, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Alltoallw_init, mpix_alltoallw_init, MPIX_ALLTOALLW_INIT, (char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls, MPI_Fint *sendtypes, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *rdispls, MPI_Fint *recvtypes, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Barrier_init, mpix_barrier_init, MPIX_BARRIER_init, (MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Bcast_init, mpix_bcast_init, MPIX_BCAST_INIT, (char *buffer, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Exscan_init, mpix_exscan_init, MPIX_EXSCAN_INIT, (char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Gather_init, mpix_gather_init, MPIX_GATHER_INIT, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Gatherv_init, mpix_gatherv_init, MPIX_GATHERV_INIT, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Reduce_init, mpix_reduce_init, MPIX_REDUCE_INIT, (char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Reduce_scatter_init, mpix_reduce_scatter_init, MPIX_REDUCE_SCATTER_INIT, (char *sendbuf, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Reduce_scatter_block_init, mpix_reduce_scatter_block_init, MPIX_REDUCE_SCATTER_BLOCK_INIT, (char *sendbuf, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Scan_init, mpix_scan_init, MPIX_SCAN_INIT, (char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Scatter_init, mpix_scatter_init, MPIX_SCATTER_INIT, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Scatterv_init, mpix_scatterv_init, MPIX_SCATTERV_INIT, (char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *displs, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Neighbor_allgather_init, mpix_neighbor_allgather_init, MPIX_NEIGHBOR_ALLGATHER_INIT, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Neighbor_allgatherv_init, mpix_neighbor_allgatherv_init, MPIX_NEIGHBOR_ALLGATHERV_INIT, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Neighbor_alltoall_init, mpix_neighbor_alltoall_init, MPIX_NEIGHBOR_ALLTOALL_INIT, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Neighbor_alltoallv_init, mpix_neighbor_alltoallv_init, MPIX_NEIGHBOR_ALLTOALLV_INIT, (char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *rdispls, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Neighbor_alltoallw_init, mpix_neighbor_alltoallw_init, MPIX_NEIGHBOR_ALLTOALLW_INIT, (char *sendbuf, MPI_Fint *sendcounts, MPI_Aint *sdispls, MPI_Fint *sendtypes, char *recvbuf, MPI_Fint *recvcounts, MPI_Aint *rdispls, MPI_Fint *recvtypes, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));

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

@ -0,0 +1,103 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_NEIGHBOR_ALLGATHER_INIT = ompix_neighbor_allgather_init_f
#pragma weak pmpix_neighbor_allgather_init = ompix_neighbor_allgather_init_f
#pragma weak pmpix_neighbor_allgather_init_ = ompix_neighbor_allgather_init_f
#pragma weak pmpix_neighbor_allgather_init__ = ompix_neighbor_allgather_init_f
#pragma weak PMPIX_Neighbor_allgather_init_f = ompix_neighbor_allgather_init_f
#pragma weak PMPIX_Neighbor_allgather_init_f08 = ompix_neighbor_allgather_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_NEIGHBOR_ALLGATHER_INIT,
pmpix_neighbor_allgather_init,
pmpix_neighbor_allgather_init_,
pmpix_neighbor_allgather_init__,
pompix_neighbor_allgather_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_NEIGHBOR_ALLGATHER_INIT = ompix_neighbor_allgather_init_f
#pragma weak mpix_neighbor_allgather_init = ompix_neighbor_allgather_init_f
#pragma weak mpix_neighbor_allgather_init_ = ompix_neighbor_allgather_init_f
#pragma weak mpix_neighbor_allgather_init__ = ompix_neighbor_allgather_init_f
#pragma weak MPIX_Neighbor_allgather_init_f = ompix_neighbor_allgather_init_f
#pragma weak MPIX_Neighbor_allgather_init_f08 = ompix_neighbor_allgather_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_NEIGHBOR_ALLGATHER_INIT,
mpix_neighbor_allgather_init,
mpix_neighbor_allgather_init_,
mpix_neighbor_allgather_init__,
ompix_neighbor_allgather_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request, ierr) )
#else
#define ompix_neighbor_allgather_init_f pompix_neighbor_allgather_init_f
#endif
#endif
void ompix_neighbor_allgather_init_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype,
MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
int ierr_c;
MPI_Comm c_comm;
MPI_Info c_info;
MPI_Request c_req;
MPI_Datatype c_sendtype, c_recvtype;
c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
ierr_c = PMPIX_Neighbor_allgather_init(sendbuf,
OMPI_FINT_2_INT(*sendcount),
c_sendtype,
recvbuf,
OMPI_FINT_2_INT(*recvcount),
c_recvtype, c_comm, c_info, &c_req);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
if (MPI_SUCCESS == ierr_c) *request = PMPI_Request_c2f(c_req);
}

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

@ -0,0 +1,113 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_NEIGHBOR_ALLGATHERV_INIT = ompix_neighbor_allgatherv_init_f
#pragma weak pmpix_neighbor_allgatherv_init = ompix_neighbor_allgatherv_init_f
#pragma weak pmpix_neighbor_allgatherv_init_ = ompix_neighbor_allgatherv_init_f
#pragma weak pmpix_neighbor_allgatherv_init__ = ompix_neighbor_allgatherv_init_f
#pragma weak PMPIX_Neighbor_allgatherv_init_f = ompix_neighbor_allgatherv_init_f
#pragma weak PMPIX_Neighbor_allgatherv_init_f08 = ompix_neighbor_allgatherv_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_NEIGHBOR_ALLGATHERV_INIT,
pmpix_neighbor_allgatherv_init,
pmpix_neighbor_allgatherv_init_,
pmpix_neighbor_allgatherv_init__,
pompix_neighbor_allgatherv_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_NEIGHBOR_ALLGATHERV_INIT = ompix_neighbor_allgatherv_init_f
#pragma weak mpix_neighbor_allgatherv_init = ompix_neighbor_allgatherv_init_f
#pragma weak mpix_neighbor_allgatherv_init_ = ompix_neighbor_allgatherv_init_f
#pragma weak mpix_neighbor_allgatherv_init__ = ompix_neighbor_allgatherv_init_f
#pragma weak MPIX_Neighbor_allgatherv_init_f = ompix_neighbor_allgatherv_init_f
#pragma weak MPIX_Neighbor_allgatherv_init_f08 = ompix_neighbor_allgatherv_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_NEIGHBOR_ALLGATHERV_INIT,
mpix_neighbor_allgatherv_init,
mpix_neighbor_allgatherv_init_,
mpix_neighbor_allgatherv_init__,
ompix_neighbor_allgatherv_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm, info, request, ierr) )
#else
#define ompix_neighbor_allgatherv_init_f pompix_neighbor_allgatherv_init_f
#endif
#endif
void ompix_neighbor_allgatherv_init_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *displs,
MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request,
MPI_Fint *ierr)
{
MPI_Comm c_comm;
MPI_Datatype c_sendtype, c_recvtype;
MPI_Info c_info;
MPI_Request c_request;
int size, ierr_c;
OMPI_ARRAY_NAME_DECL(recvcounts);
OMPI_ARRAY_NAME_DECL(displs);
c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
PMPI_Comm_size(c_comm, &size);
OMPI_ARRAY_FINT_2_INT(recvcounts, size);
OMPI_ARRAY_FINT_2_INT(displs, size);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
ierr_c = PMPIX_Neighbor_allgatherv_init(sendbuf,
OMPI_FINT_2_INT(*sendcount),
c_sendtype,
recvbuf,
OMPI_ARRAY_NAME_CONVERT(recvcounts),
OMPI_ARRAY_NAME_CONVERT(displs),
c_recvtype, c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c);
if (MPI_SUCCESS == ierr_c) *request = PMPI_Request_c2f(c_request);
OMPI_ARRAY_FINT_2_INT_CLEANUP(recvcounts);
OMPI_ARRAY_FINT_2_INT_CLEANUP(displs);
}

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

@ -0,0 +1,102 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_NEIGHBOR_ALLTOALL = ompix_neighbor_alltoall_init_f
#pragma weak pmpix_neighbor_alltoall_init = ompix_neighbor_alltoall_init_f
#pragma weak pmpix_neighbor_alltoall_init_ = ompix_neighbor_alltoall_init_f
#pragma weak pmpix_neighbor_alltoall_init__ = ompix_neighbor_alltoall_init_f
#pragma weak PMPIX_Neighbor_alltoall_init_f = ompix_neighbor_alltoall_init_f
#pragma weak PMPIX_Neighbor_alltoall_init_f08 = ompix_neighbor_alltoall_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_NEIGHBOR_ALLTOALL,
pmpix_neighbor_alltoall_init,
pmpix_neighbor_alltoall_init_,
pmpix_neighbor_alltoall_init__,
pompix_neighbor_alltoall_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_NEIGHBOR_ALLTOALL = ompix_neighbor_alltoall_init_f
#pragma weak mpix_neighbor_alltoall_init = ompix_neighbor_alltoall_init_f
#pragma weak mpix_neighbor_alltoall_init_ = ompix_neighbor_alltoall_init_f
#pragma weak mpix_neighbor_alltoall_init__ = ompix_neighbor_alltoall_init_f
#pragma weak MPIX_Neighbor_alltoall_init_f = ompix_neighbor_alltoall_init_f
#pragma weak MPIX_Neighbor_alltoall_init_f08 = ompix_neighbor_alltoall_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_NEIGHBOR_ALLTOALL,
mpix_neighbor_alltoall_init,
mpix_neighbor_alltoall_init_,
mpix_neighbor_alltoall_init__,
ompix_neighbor_alltoall_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm, info, request, ierr) )
#else
#define ompix_neighbor_alltoall_init_f pompix_neighbor_alltoall_init_f
#endif
#endif
void ompix_neighbor_alltoall_init_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype,
char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype,
MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
int c_ierr;
MPI_Comm c_comm;
MPI_Info c_info;
MPI_Request c_req;
MPI_Datatype c_sendtype, c_recvtype;
c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Neighbor_alltoall_init(sendbuf,
OMPI_FINT_2_INT(*sendcount),
c_sendtype,
recvbuf,
OMPI_FINT_2_INT(*recvcount),
c_recvtype, c_comm, c_info, &c_req);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_req);
}

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

@ -0,0 +1,119 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_NEIGHBOR_ALLTOALLV_INIT = ompix_neighbor_alltoallv_init_f
#pragma weak pmpix_neighbor_alltoallv_init = ompix_neighbor_alltoallv_init_f
#pragma weak pmpix_neighbor_alltoallv_init_ = ompix_neighbor_alltoallv_init_f
#pragma weak pmpix_neighbor_alltoallv_init__ = ompix_neighbor_alltoallv_init_f
#pragma weak PMPIX_Neighbor_alltoallv_init_f = ompix_neighbor_alltoallv_init_f
#pragma weak PMPIX_Neighbor_alltoallv_init_f08 = ompix_neighbor_alltoallv_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_NEIGHBOR_ALLTOALLV_INIT,
pmpix_neighbor_alltoallv_init,
pmpix_neighbor_alltoallv_init_,
pmpix_neighbor_alltoallv_init__,
pompix_neighbor_alltoallv_init_f,
(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *rdispls, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_NEIGHBOR_ALLTOALLV_INIT = ompix_neighbor_alltoallv_init_f
#pragma weak mpix_neighbor_alltoallv_init = ompix_neighbor_alltoallv_init_f
#pragma weak mpix_neighbor_alltoallv_init_ = ompix_neighbor_alltoallv_init_f
#pragma weak mpix_neighbor_alltoallv_init__ = ompix_neighbor_alltoallv_init_f
#pragma weak MPIX_Neighbor_alltoallv_init_f = ompix_neighbor_alltoallv_init_f
#pragma weak MPIX_Neighbor_alltoallv_init_f08 = ompix_neighbor_alltoallv_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_NEIGHBOR_ALLTOALLV_INIT,
mpix_neighbor_alltoallv_init,
mpix_neighbor_alltoallv_init_,
mpix_neighbor_alltoallv_init__,
ompix_neighbor_alltoallv_init_f,
(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *rdispls, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm, info, request, ierr) )
#else
#define ompix_neighbor_alltoallv_init_f pompix_neighbor_alltoallv_init_f
#endif
#endif
void ompix_neighbor_alltoallv_init_f(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *sdispls,
MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcounts,
MPI_Fint *rdispls, MPI_Fint *recvtype,
MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
MPI_Comm c_comm;
MPI_Datatype c_sendtype, c_recvtype;
MPI_Info c_info;
MPI_Request c_request;
int size, c_ierr;
OMPI_ARRAY_NAME_DECL(sendcounts);
OMPI_ARRAY_NAME_DECL(sdispls);
OMPI_ARRAY_NAME_DECL(recvcounts);
OMPI_ARRAY_NAME_DECL(rdispls);
c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
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);
OMPI_ARRAY_FINT_2_INT(rdispls, size);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Neighbor_alltoallv_init(sendbuf,
OMPI_ARRAY_NAME_CONVERT(sendcounts),
OMPI_ARRAY_NAME_CONVERT(sdispls),
c_sendtype,
recvbuf,
OMPI_ARRAY_NAME_CONVERT(recvcounts),
OMPI_ARRAY_NAME_CONVERT(rdispls),
c_recvtype, c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
OMPI_ARRAY_FINT_2_INT_CLEANUP(sendcounts);
OMPI_ARRAY_FINT_2_INT_CLEANUP(sdispls);
OMPI_ARRAY_FINT_2_INT_CLEANUP(recvcounts);
OMPI_ARRAY_FINT_2_INT_CLEANUP(rdispls);
}

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

@ -0,0 +1,123 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_NEIGHBOR_ALLTOALLW_INIT = ompix_neighbor_alltoallw_init_f
#pragma weak pmpix_neighbor_alltoallw_init = ompix_neighbor_alltoallw_init_f
#pragma weak pmpix_neighbor_alltoallw_init_ = ompix_neighbor_alltoallw_init_f
#pragma weak pmpix_neighbor_alltoallw_init__ = ompix_neighbor_alltoallw_init_f
#pragma weak PMPIX_Neighbor_alltoallw_init_f = ompix_neighbor_alltoallw_init_f
#pragma weak PMPIX_Neighbor_alltoallw_init_f08 = ompix_neighbor_alltoallw_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_NEIGHBOR_ALLTOALLW_INIT,
pmpix_neighbor_alltoallw_init,
pmpix_neighbor_alltoallw_init_,
pmpix_neighbor_alltoallw_init__,
pompix_neighbor_alltoallw_init_f,
(char *sendbuf, MPI_Fint *sendcounts, MPI_Aint *sdispls, MPI_Fint *sendtypes, char *recvbuf, MPI_Fint *recvcounts, MPI_Aint *rdispls, MPI_Fint *recvtypes, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_NEIGHBOR_ALLTOALLW_INIT = ompix_neighbor_alltoallw_init_f
#pragma weak mpix_neighbor_alltoallw_init = ompix_neighbor_alltoallw_init_f
#pragma weak mpix_neighbor_alltoallw_init_ = ompix_neighbor_alltoallw_init_f
#pragma weak mpix_neighbor_alltoallw_init__ = ompix_neighbor_alltoallw_init_f
#pragma weak MPIX_Neighbor_alltoallw_init_f = ompix_neighbor_alltoallw_init_f
#pragma weak MPIX_Neighbor_alltoallw_init_f08 = ompix_neighbor_alltoallw_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_NEIGHBOR_ALLTOALLW_INIT,
mpix_neighbor_alltoallw_init,
mpix_neighbor_alltoallw_init_,
mpix_neighbor_alltoallw_init__,
ompix_neighbor_alltoallw_init_f,
(char *sendbuf, MPI_Fint *sendcounts, MPI_Aint *sdispls, MPI_Fint *sendtypes, char *recvbuf, MPI_Fint *recvcounts, MPI_Aint *rdispls, MPI_Fint *recvtypes, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm, info, request, ierr) )
#else
#define ompix_neighbor_alltoallw_init_f pompix_neighbor_alltoallw_init_f
#endif
#endif
void ompix_neighbor_alltoallw_init_f(char *sendbuf, MPI_Fint *sendcounts,
MPI_Aint *sdispls, MPI_Fint *sendtypes,
char *recvbuf, MPI_Fint *recvcounts,
MPI_Aint *rdispls, MPI_Fint *recvtypes,
MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
MPI_Comm c_comm;
MPI_Datatype *c_sendtypes, *c_recvtypes;
MPI_Info c_info;
MPI_Request c_request;
int size, c_ierr;
OMPI_ARRAY_NAME_DECL(sendcounts);
OMPI_ARRAY_NAME_DECL(recvcounts);
c_comm = PMPI_Comm_f2c(*comm);
c_info = PMPI_Info_f2c(*info);
PMPI_Comm_size(c_comm, &size);
c_sendtypes = (MPI_Datatype *) malloc(size * sizeof(MPI_Datatype));
c_recvtypes = (MPI_Datatype *) malloc(size * sizeof(MPI_Datatype));
OMPI_ARRAY_FINT_2_INT(sendcounts, size);
OMPI_ARRAY_FINT_2_INT(recvcounts, size);
while (size > 0) {
c_sendtypes[size - 1] = PMPI_Type_f2c(sendtypes[size - 1]);
c_recvtypes[size - 1] = PMPI_Type_f2c(recvtypes[size - 1]);
--size;
}
/* Neighbor_alltoallw_init does not support MPI_IN_PLACE */
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Neighbor_alltoallw_init(sendbuf,
OMPI_ARRAY_NAME_CONVERT(sendcounts),
sdispls,
c_sendtypes,
recvbuf,
OMPI_ARRAY_NAME_CONVERT(recvcounts),
rdispls,
c_recvtypes, c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
OMPI_ARRAY_FINT_2_INT_CLEANUP(sendcounts);
OMPI_ARRAY_FINT_2_INT_CLEANUP(recvcounts);
free(c_sendtypes);
free(c_recvtypes);
}

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

@ -0,0 +1,80 @@
#
# Copyright (c) 2004-2009 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
# Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# This file builds the mpif.h-based bindings for MPI extensions. It
# is optional in MPI extensions.
# We must set these #defines so that the inner OMPI MPI prototype
# header files do the Right Thing.
AM_CPPFLAGS = -DOMPI_BUILD_MPI_PROFILING=1 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1
# Note that the mpif.h-based bindings are optional -- they can only be
# built if OMPI is also building the Fortran-based bindings. So we
# initially set some Makefile macros to empty, and then conditionally
# add to them later.
noinst_LTLIBRARIES =
# Directory where the header file to be included in mpif-ext.h must be
# installed.
ompidir = $(ompiincludedir)/ompi/mpiext/pcollreq/mpif-h
# Just like noinst_LTLIBRARIES, set this macro to empty and
# conditionally add to it later.
ompi_HEADERS =
# Use the Automake conditional to know if we're building the mpif.h
# bindings.
if OMPI_BUILD_FORTRAN_MPIFH_BINDINGS
# If we are, build the convenience libtool library that will be
# slurped up into libmpi_mpifh.la.
noinst_LTLIBRARIES += libpmpiext_pcollreq_mpifh.la
# Sources for the convenience libtool library.
nodist_libpmpiext_pcollreq_mpifh_la_SOURCES = \
pallgather_init_f.c \
pallgatherv_init_f.c \
pallreduce_init_f.c \
palltoall_init_f.c \
palltoallv_init_f.c \
palltoallw_init_f.c \
pbarrier_init_f.c \
pbcast_init_f.c \
pexscan_init_f.c \
pgather_init_f.c \
pgatherv_init_f.c \
preduce_init_f.c \
preduce_scatter_init_f.c \
preduce_scatter_block_init_f.c \
pscan_init_f.c \
pscatter_init_f.c \
pscatterv_init_f.c \
\
pneighbor_allgather_init_f.c \
pneighbor_allgatherv_init_f.c \
pneighbor_alltoall_init_f.c \
pneighbor_alltoallv_init_f.c \
pneighbor_alltoallw_init_f.c
#
# Sym link in the sources from the real MPI directory
#
$(nodist_libpmpiext_pcollreq_mpifh_la_SOURCES):
$(OMPI_V_LN_S) if test ! -r $@ ; then \
pname=`echo $@ | cut -b '2-'` ; \
$(LN_S) $(top_srcdir)/ompi/mpiext/pcollreq/mpif-h/$$pname $@ ; \
fi
endif

99
ompi/mpiext/pcollreq/mpif-h/reduce_init_f.c Обычный файл
Просмотреть файл

@ -0,0 +1,99 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_REDUCE_INIT = ompix_reduce_init_f
#pragma weak pmpix_reduce_init = ompix_reduce_init_f
#pragma weak pmpix_reduce_init_ = ompix_reduce_init_f
#pragma weak pmpix_reduce_init__ = ompix_reduce_init_f
#pragma weak PMPIX_Reduce_init_f = ompix_reduce_init_f
#pragma weak PMPIX_Reduce_init_f08 = ompix_reduce_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_REDUCE_INIT,
pmpix_reduce_init,
pmpix_reduce_init_,
pmpix_reduce_init__,
pompix_reduce_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, count, datatype, op, root, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_REDUCE_INIT = ompix_reduce_init_f
#pragma weak mpix_reduce_init = ompix_reduce_init_f
#pragma weak mpix_reduce_init_ = ompix_reduce_init_f
#pragma weak mpix_reduce_init__ = ompix_reduce_init_f
#pragma weak MPIX_Reduce_init_f = ompix_reduce_init_f
#pragma weak MPIX_Reduce_init_f08 = ompix_reduce_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_REDUCE_INIT,
mpix_reduce_init,
mpix_reduce_init_,
mpix_reduce_init__,
ompix_reduce_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, count, datatype, op, root, comm, info, request, ierr) )
#else
#define ompix_reduce_init_f pompix_reduce_init_f
#endif
#endif
void ompix_reduce_init_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *op,
MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request,
MPI_Fint *ierr)
{
int c_ierr;
MPI_Datatype c_type;
MPI_Info c_info;
MPI_Request c_request;
MPI_Op c_op;
MPI_Comm c_comm;
c_type = PMPI_Type_f2c(*datatype);
c_op = PMPI_Op_f2c(*op);
c_comm = PMPI_Comm_f2c(*comm);
c_info = PMPI_Info_f2c(*info);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Reduce_init(sendbuf, recvbuf,
OMPI_FINT_2_INT(*count),
c_type, c_op,
OMPI_FINT_2_INT(*root),
c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
}

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

@ -0,0 +1,100 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_REDUCE_SCATTER_BLOCK_INIT = ompix_reduce_scatter_block_init_f
#pragma weak pmpix_reduce_scatter_block_init = ompix_reduce_scatter_block_init_f
#pragma weak pmpix_reduce_scatter_block_init_ = ompix_reduce_scatter_block_init_f
#pragma weak pmpix_reduce_scatter_block_init__ = ompix_reduce_scatter_block_init_f
#pragma weak PMPIX_Reduce_scatter_block_init_f = ompix_reduce_scatter_block_init_f
#pragma weak PMPIX_Reduce_scatter_block_init_f08 = ompix_reduce_scatter_block_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_REDUCE_SCATTER_BLOCK_INIT,
pmpix_reduce_scatter_block_init,
pmpix_reduce_scatter_block_init_,
pmpix_reduce_scatter_block_init__,
pompix_reduce_scatter_block_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_REDUCE_SCATTER_BLOCK_INIT = ompix_reduce_scatter_block_init_f
#pragma weak mpix_reduce_scatter_block_init = ompix_reduce_scatter_block_init_f
#pragma weak mpix_reduce_scatter_block_init_ = ompix_reduce_scatter_block_init_f
#pragma weak mpix_reduce_scatter_block_init__ = ompix_reduce_scatter_block_init_f
#pragma weak MPIX_Reduce_scatter_block_init_f = ompix_reduce_scatter_block_init_f
#pragma weak MPIX_Reduce_scatter_block_init_f08 = ompix_reduce_scatter_block_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_REDUCE_SCATTER_BLOCK_INIT,
mpix_reduce_scatter_block_init,
mpix_reduce_scatter_block_init_,
mpix_reduce_scatter_block_init__,
ompix_reduce_scatter_block_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request, ierr) )
#else
#define ompix_reduce_scatter_block_init_f pompix_reduce_scatter_block_init_f
#endif
#endif
void ompix_reduce_scatter_block_init_f(char *sendbuf, char *recvbuf,
MPI_Fint *recvcount, MPI_Fint *datatype,
MPI_Fint *op, MPI_Fint *comm,
MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
int c_ierr;
MPI_Comm c_comm;
MPI_Datatype c_type;
MPI_Info c_info;
MPI_Request c_request;
MPI_Op c_op;
int size;
c_comm = PMPI_Comm_f2c(*comm);
c_type = PMPI_Type_f2c(*datatype);
c_op = PMPI_Op_f2c(*op);
c_info = PMPI_Info_f2c(*info);
PMPI_Comm_size(c_comm, &size);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Reduce_scatter_block_init(sendbuf, recvbuf,
OMPI_FINT_2_INT(*recvcount),
c_type, c_op, c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
}

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

@ -0,0 +1,102 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_REDUCE_SCATTER_INIT = ompix_reduce_scatter_init_f
#pragma weak pmpix_reduce_scatter_init = ompix_reduce_scatter_init_f
#pragma weak pmpix_reduce_scatter_init_ = ompix_reduce_scatter_init_f
#pragma weak pmpix_reduce_scatter_init__ = ompix_reduce_scatter_init_f
#pragma weak PMPIX_Reduce_scatter_init_f = ompix_reduce_scatter_init_f
#pragma weak PMPIX_Reduce_scatter_init_f08 = ompix_reduce_scatter_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_REDUCE_SCATTER_INIT,
pmpix_reduce_scatter_init,
pmpix_reduce_scatter_init_,
pmpix_reduce_scatter_init__,
pompix_reduce_scatter_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_REDUCE_SCATTER_INIT = ompix_reduce_scatter_init_f
#pragma weak mpix_reduce_scatter_init = ompix_reduce_scatter_init_f
#pragma weak mpix_reduce_scatter_init_ = ompix_reduce_scatter_init_f
#pragma weak mpix_reduce_scatter_init__ = ompix_reduce_scatter_init_f
#pragma weak MPIX_Reduce_scatter_init_f = ompix_reduce_scatter_init_f
#pragma weak MPIX_Reduce_scatter_init_f08 = ompix_reduce_scatter_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_REDUCE_SCATTER_INIT,
mpix_reduce_scatter_init,
mpix_reduce_scatter_init_,
mpix_reduce_scatter_init__,
ompix_reduce_scatter_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *recvcounts, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, recvcounts, datatype, op, comm, info, request, ierr) )
#else
#define ompix_reduce_scatter_init_f pompix_reduce_scatter_init_f
#endif
#endif
void ompix_reduce_scatter_init_f(char *sendbuf, char *recvbuf,
MPI_Fint *recvcounts, MPI_Fint *datatype,
MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request,
MPI_Fint *ierr)
{
int c_ierr;
MPI_Comm c_comm;
MPI_Datatype c_type;
MPI_Info c_info;
MPI_Request c_request;
MPI_Op c_op;
int size;
OMPI_ARRAY_NAME_DECL(recvcounts);
c_comm = PMPI_Comm_f2c(*comm);
c_type = PMPI_Type_f2c(*datatype);
c_op = PMPI_Op_f2c(*op);
c_info = PMPI_Info_f2c(*info);
PMPI_Comm_size(c_comm, &size);
OMPI_ARRAY_FINT_2_INT(recvcounts, size);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Reduce_scatter_init(sendbuf, recvbuf,
OMPI_ARRAY_NAME_CONVERT(recvcounts),
c_type, c_op, c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
}

97
ompi/mpiext/pcollreq/mpif-h/scan_init_f.c Обычный файл
Просмотреть файл

@ -0,0 +1,97 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_SCAN_INIT = ompix_scan_init_f
#pragma weak pmpix_scan_init = ompix_scan_init_f
#pragma weak pmpix_scan_init_ = ompix_scan_init_f
#pragma weak pmpix_scan_init__ = ompix_scan_init_f
#pragma weak PMPIX_Scan_init_f = ompix_scan_init_f
#pragma weak PMPIX_Scan_init_f08 = ompix_scan_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_SCAN_INIT,
pmpix_scan_init,
pmpix_scan_init_,
pmpix_scan_init__,
pompix_scan_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, count, datatype, op, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_SCAN_INIT = ompix_scan_init_f
#pragma weak mpix_scan_init = ompix_scan_init_f
#pragma weak mpix_scan_init_ = ompix_scan_init_f
#pragma weak mpix_scan_init__ = ompix_scan_init_f
#pragma weak MPIX_Scan_init_f = ompix_scan_init_f
#pragma weak MPIX_Scan_init_f08 = ompix_scan_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_SCAN_INIT,
mpix_scan_init,
mpix_scan_init_,
mpix_scan_init__,
ompix_scan_init_f,
(char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, recvbuf, count, datatype, op, comm, info, request, ierr) )
#else
#define ompix_scan_init_f pompix_scan_init_f
#endif
#endif
void ompix_scan_init_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm,
MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
int c_ierr;
MPI_Comm c_comm;
MPI_Datatype c_type;
MPI_Info c_info;
MPI_Request c_request;
MPI_Op c_op;
c_type = PMPI_Type_f2c(*datatype);
c_op = PMPI_Op_f2c(*op);
c_comm = PMPI_Comm_f2c(*comm);
c_info = PMPI_Info_f2c(*info);
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Scan_init(sendbuf, recvbuf,
OMPI_FINT_2_INT(*count),
c_type, c_op,
c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
}

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

@ -0,0 +1,98 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_SCATTER_INIT = ompix_scatter_init_f
#pragma weak pmpix_scatter_init = ompix_scatter_init_f
#pragma weak pmpix_scatter_init_ = ompix_scatter_init_f
#pragma weak pmpix_scatter_init__ = ompix_scatter_init_f
#pragma weak PMPIX_Scatter_init_f = ompix_scatter_init_f
#pragma weak PMPIX_Scatter_init_f08 = ompix_scatter_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_SCATTER_INIT,
pmpix_scatter_init,
pmpix_scatter_init_,
pmpix_scatter_init__,
pompix_scatter_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_SCATTER_INIT = ompix_scatter_init_f
#pragma weak mpix_scatter_init = ompix_scatter_init_f
#pragma weak mpix_scatter_init_ = ompix_scatter_init_f
#pragma weak mpix_scatter_init__ = ompix_scatter_init_f
#pragma weak MPIX_Scatter_init_f = ompix_scatter_init_f
#pragma weak MPIX_Scatter_init_f08 = ompix_scatter_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_SCATTER_INIT,
mpix_scatter_init,
mpix_scatter_init_,
mpix_scatter_init__,
ompix_scatter_init_f,
(char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request, ierr) )
#else
#define ompix_scatter_init_f pompix_scatter_init_f
#endif
#endif
void ompix_scatter_init_f(char *sendbuf, MPI_Fint *sendcount,
MPI_Fint *sendtype, char *recvbuf,
MPI_Fint *recvcount, MPI_Fint *recvtype,
MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request,
MPI_Fint *ierr)
{
int c_ierr;
MPI_Datatype c_sendtype, c_recvtype;
MPI_Info c_info;
MPI_Request c_request;
MPI_Comm c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_IN_PLACE(recvbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Scatter_init(sendbuf,OMPI_FINT_2_INT(*sendcount),
c_sendtype, recvbuf,
OMPI_FINT_2_INT(*recvcount),
c_recvtype,
OMPI_FINT_2_INT(*root), c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
}

110
ompi/mpiext/pcollreq/mpif-h/scatterv_init_f.c Обычный файл
Просмотреть файл

@ -0,0 +1,110 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/mpi/fortran/mpif-h/bindings.h"
#include "ompi/mpi/fortran/base/constants.h"
#include "ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h"
#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPIX_SCATTERV_INIT = ompix_scatterv_init_f
#pragma weak pmpix_scatterv_init = ompix_scatterv_init_f
#pragma weak pmpix_scatterv_init_ = ompix_scatterv_init_f
#pragma weak pmpix_scatterv_init__ = ompix_scatterv_init_f
#pragma weak PMPIX_Scatterv_init_f = ompix_scatterv_init_f
#pragma weak PMPIX_Scatterv_init_f08 = ompix_scatterv_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPIX_SCATTERV_INIT,
pmpix_scatterv_init,
pmpix_scatterv_init_,
pmpix_scatterv_init__,
pompix_scatterv_init_f,
(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *displs, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request, ierr) )
#endif
#endif
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPIX_SCATTERV_INIT = ompix_scatterv_init_f
#pragma weak mpix_scatterv_init = ompix_scatterv_init_f
#pragma weak mpix_scatterv_init_ = ompix_scatterv_init_f
#pragma weak mpix_scatterv_init__ = ompix_scatterv_init_f
#pragma weak MPIX_Scatterv_init_f = ompix_scatterv_init_f
#pragma weak MPIX_Scatterv_init_f08 = ompix_scatterv_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPIX_SCATTERV_INIT,
mpix_scatterv_init,
mpix_scatterv_init_,
mpix_scatterv_init__,
ompix_scatterv_init_f,
(char *sendbuf, MPI_Fint *sendcounts, MPI_Fint *displs, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *root, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm, info, request, ierr) )
#else
#define ompix_scatterv_init_f pompix_scatterv_init_f
#endif
#endif
void ompix_scatterv_init_f(char *sendbuf, MPI_Fint *sendcounts,
MPI_Fint *displs, MPI_Fint *sendtype,
char *recvbuf, MPI_Fint *recvcount,
MPI_Fint *recvtype, MPI_Fint *root,
MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
MPI_Comm c_comm;
MPI_Datatype c_sendtype, c_recvtype;
MPI_Info c_info;
MPI_Request c_request;
int size, c_ierr;
OMPI_ARRAY_NAME_DECL(sendcounts);
OMPI_ARRAY_NAME_DECL(displs);
c_comm = PMPI_Comm_f2c(*comm);
c_sendtype = PMPI_Type_f2c(*sendtype);
c_recvtype = PMPI_Type_f2c(*recvtype);
c_info = PMPI_Info_f2c(*info);
PMPI_Comm_size(c_comm, &size);
OMPI_ARRAY_FINT_2_INT(sendcounts, size);
OMPI_ARRAY_FINT_2_INT(displs, size);
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
recvbuf = (char *) OMPI_F2C_IN_PLACE(recvbuf);
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
c_ierr = PMPIX_Scatterv_init(sendbuf,
OMPI_ARRAY_NAME_CONVERT(sendcounts),
OMPI_ARRAY_NAME_CONVERT(displs),
c_sendtype, recvbuf,
OMPI_FINT_2_INT(*recvcount),
c_recvtype,
OMPI_FINT_2_INT(*root), c_comm, c_info, &c_request);
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
if (MPI_SUCCESS == c_ierr) *request = PMPI_Request_c2f(c_request);
OMPI_ARRAY_FINT_2_INT_CLEANUP(sendcounts);
OMPI_ARRAY_FINT_2_INT_CLEANUP(displs);
}

107
ompi/mpiext/pcollreq/use-mpi-f08/Makefile.am Обычный файл
Просмотреть файл

@ -0,0 +1,107 @@
#
# Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2017-2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# This file builds the use_mpi_f08-based bindings for MPI extensions. It
# is optional in MPI extensions.
# We must set these #defines and include paths so that the inner OMPI
# MPI prototype header files do the Right Thing.
AM_FCFLAGS = $(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/mpi/fortran/use-mpi-f08/mod \
-I$(top_srcdir) $(FCFLAGS_f90)
# Note that the mpi_f08-based bindings are optional -- they can only
# be built if OMPI is also building the Fortran-based bindings. So we
# initially set some Makefile macros to empty, and then conditionally
# add to them later.
noinst_LTLIBRARIES =
# Use the Automake conditional to know if we're building the mpif.h
# bindings.
if OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS
# If we are, build the convenience libtool library that will be
# slurped up into libmpi_usempif08.la.
noinst_LTLIBRARIES += libmpiext_pcollreq_usempif08.la
# Note that no header files are installed; instead,
# mpiext_pcollreq_usempif08.h is automatically slurped up into the
# mpi_f08_ext module. It must be listed so that it is included in
# dist tarballs.
noinst_HEADERS = mpiext_pcollreq_usempif08.h
mpi_api_files = \
allgather_init_f08.F90 \
allgatherv_init_f08.F90 \
allreduce_init_f08.F90 \
alltoall_init_f08.F90 \
alltoallv_init_f08.F90 \
alltoallw_init_f08.F90 \
barrier_init_f08.F90 \
bcast_init_f08.F90 \
exscan_init_f08.F90 \
gather_init_f08.F90 \
gatherv_init_f08.F90 \
reduce_init_f08.F90 \
reduce_scatter_block_init_f08.F90 \
reduce_scatter_init_f08.F90 \
scan_init_f08.F90 \
scatter_init_f08.F90 \
scatterv_init_f08.F90 \
\
neighbor_allgather_init_f08.F90 \
neighbor_allgatherv_init_f08.F90 \
neighbor_alltoall_init_f08.F90 \
neighbor_alltoallv_init_f08.F90 \
neighbor_alltoallw_init_f08.F90
pmpi_api_files = \
profile/pallgather_init_f08.F90 \
profile/pallgatherv_init_f08.F90 \
profile/pallreduce_init_f08.F90 \
profile/palltoall_init_f08.F90 \
profile/palltoallv_init_f08.F90 \
profile/palltoallw_init_f08.F90 \
profile/pbarrier_init_f08.F90 \
profile/pbcast_init_f08.F90 \
profile/pexscan_init_f08.F90 \
profile/pgather_init_f08.F90 \
profile/pgatherv_init_f08.F90 \
profile/preduce_init_f08.F90 \
profile/preduce_scatter_block_init_f08.F90 \
profile/preduce_scatter_init_f08.F90 \
profile/pscan_init_f08.F90 \
profile/pscatter_init_f08.F90 \
profile/pscatterv_init_f08.F90 \
\
profile/pneighbor_allgather_init_f08.F90 \
profile/pneighbor_allgatherv_init_f08.F90 \
profile/pneighbor_alltoall_init_f08.F90 \
profile/pneighbor_alltoallv_init_f08.F90 \
profile/pneighbor_alltoallw_init_f08.F90
mpi_api_lo_files = $(mpi_api_files:.F90=.lo)
pmpi_api_lo_files = $(pmpi_api_files:.F90=.lo)
$(mpi_api_lo_files): mpiext_pcollreq_f08.lo
$(pmpi_api_lo_files): mpiext_pcollreq_f08.lo
# Sources for the convenience libtool library.
libmpiext_pcollreq_usempif08_la_SOURCES = \
mpiext_pcollreq_f08.F90 \
$(mpi_api_files) \
$(pmpi_api_files)
# Remove the intermediate module file
distclean-local:
rm -f mpiext_pcollreq_f08.mod
endif

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Allgather_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_allgather_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_allgather_init_f(sendbuf,sendcount,sendtype%MPI_VAL,&
recvbuf,recvcount,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Allgather_init_f08

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

@ -0,0 +1,32 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Allgatherv_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcounts,&
displs,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_allgatherv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount
INTEGER, INTENT(IN) :: recvcounts(*), displs(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_allgatherv_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,recvcounts,&
displs,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Allgatherv_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Allreduce_init_f08(sendbuf,recvbuf,count,datatype,op,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_allreduce_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_allreduce_init_f(sendbuf,recvbuf,count,datatype%MPI_VAL,&
op%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Allreduce_init_f08

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

@ -0,0 +1,31 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Alltoall_init_f08(sendbuf,sendcount,sendtype,recvbuf,&
recvcount,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_alltoall_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_alltoall_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,&
recvcount,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Alltoall_init_f08

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

@ -0,0 +1,31 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Alltoallv_init_f08(sendbuf,sendcounts,sdispls,sendtype,recvbuf,&
recvcounts,rdispls,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_alltoallv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_alltoallv_init_f(sendbuf,sendcounts,sdispls,sendtype%MPI_VAL,&
recvbuf,recvcounts,rdispls,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Alltoallv_init_f08

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

@ -0,0 +1,41 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2013 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Alltoallw_init_f08(sendbuf,sendcounts,sdispls,sendtypes,&
recvbuf,recvcounts,rdispls,recvtypes,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_alltoallw_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtypes(*)
TYPE(MPI_Datatype), INTENT(IN) :: recvtypes(*)
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
! Note that we pass a scalar here for both the sendtypes and
! recvtypes arguments, even though the real Alltoallw function
! expects an array of integers. This is a hack: we know that
! [send|recv]types(1)%MPI_VAL will pass the address of the first
! integer in the array of Type(MPI_Datatype) derived types. And
! since Type(MPI_Datatype) are exactly memory-equivalent to a
! single INTEGER, passing the address of the first one is the same
! as passing the address to an array of integers. To be clear: the
! back-end ompi_alltoallw_f is expecting a pointer to an array of
! integers. So it all works out (but is a hack :-\ ).
call ompix_alltoallw_init_f(sendbuf,sendcounts,sdispls,sendtypes(1)%MPI_VAL,&
recvbuf,recvcounts,rdispls,recvtypes(1)%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Alltoallw_init_f08

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

@ -0,0 +1,23 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
subroutine MPIX_Barrier_init_f08(comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_barrier_init_f
implicit none
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_barrier_init_f(comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Barrier_init_f08

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

@ -0,0 +1,28 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Bcast_init_f08(buffer,count,datatype,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_bcast_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: buffer
INTEGER, INTENT(IN) :: count, root
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_bcast_init_f(buffer,count,datatype%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Bcast_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Exscan_init_f08(sendbuf,recvbuf,count,datatype,op,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_exscan_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_exscan_init_f(sendbuf,recvbuf,count,datatype%MPI_VAL,&
op%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Exscan_init_f08

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

@ -0,0 +1,31 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Gather_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcount,&
recvtype,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_gather_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount, root
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_gather_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,recvcount,&
recvtype%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Gather_init_f08

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

@ -0,0 +1,32 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Gatherv_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcounts,&
displs,recvtype,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_gatherv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, root
INTEGER, INTENT(IN) :: recvcounts(*), displs(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_gatherv_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,recvcounts,&
displs,recvtype%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Gatherv_init_f08

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

@ -0,0 +1,346 @@
! -*- f90 -*-
!
! Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
! University Research and Technology
! Corporation. All rights reserved.
! Copyright (c) 2004-2005 The University of Tennessee and The University
! of Tennessee Research Foundation. All rights
! reserved.
! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
! University of Stuttgart. All rights reserved.
! Copyright (c) 2004-2005 The Regents of the University of California.
! All rights reserved.
! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2016-2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
!
! Additional copyrights may follow
!
! $HEADER$
!
#include "ompi/mpi/fortran/configure-fortran-output.h"
module mpiext_pcollreq_f08
use mpi_f08_types
use mpi_f08_interfaces ! this module contains the mpi_f08 interface declarations
use pmpi_f08_interfaces ! this module contains the pmpi_f08 interface declarations
use mpi_f08_callbacks ! this module contains the mpi_f08 attribute callback subroutines
use mpi_f08_interfaces_callbacks ! this module contains the mpi_f08 callback interfaces
interface
subroutine ompix_allgather_init_f(sendbuf,sendcount,sendtype,recvbuf, &
recvcount,recvtype,comm,info,request,ierror) &
BIND(C, name="ompix_allgather_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
INTEGER, INTENT(IN) :: sendtype
INTEGER, INTENT(IN) :: recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_allgather_init_f
subroutine ompix_allgatherv_init_f(sendbuf,sendcount,sendtype,recvbuf, &
recvcounts,displs,recvtype,comm,info,request,ierror) &
BIND(C, name="ompix_allgatherv_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount
INTEGER, INTENT(IN) :: recvcounts(*), displs(*)
INTEGER, INTENT(IN) :: sendtype
INTEGER, INTENT(IN) :: recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_allgatherv_init_f
subroutine ompix_allreduce_init_f(sendbuf,recvbuf,count,datatype,op,comm,info,request,ierror) &
BIND(C, name="ompix_allreduce_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count
INTEGER, INTENT(IN) :: datatype
INTEGER, INTENT(IN) :: op
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_allreduce_init_f
subroutine ompix_alltoall_init_f(sendbuf,sendcount,sendtype,recvbuf, &
recvcount,recvtype,comm,info,request,ierror) &
BIND(C, name="ompix_alltoall_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
INTEGER, INTENT(IN) :: sendtype
INTEGER, INTENT(IN) :: recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_alltoall_init_f
subroutine ompix_alltoallv_init_f(sendbuf,sendcounts,sdispls,sendtype, &
recvbuf,recvcounts,rdispls,recvtype,comm,info,request,ierror) &
BIND(C, name="ompix_alltoallv_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
INTEGER, INTENT(IN) :: sendtype
INTEGER, INTENT(IN) :: recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_alltoallv_init_f
subroutine ompix_alltoallw_init_f(sendbuf,sendcounts,sdispls,sendtypes, &
recvbuf,recvcounts,rdispls,recvtypes,comm,info,request,ierror) &
BIND(C, name="ompix_alltoallw_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
INTEGER, INTENT(IN) :: sendtypes
INTEGER, INTENT(IN) :: recvtypes
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_alltoallw_init_f
subroutine ompix_barrier_init_f(comm,info,request,ierror) &
BIND(C, name="ompix_barrier_init_f")
implicit none
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_barrier_init_f
subroutine ompix_bcast_init_f(buffer,count,datatype,root,comm,info,request,ierror) &
BIND(C, name="ompix_bcast_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: buffer
INTEGER, INTENT(IN) :: count, root
INTEGER, INTENT(IN) :: datatype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_bcast_init_f
subroutine ompix_exscan_init_f(sendbuf,recvbuf,count,datatype,op,comm,info,request,ierror) &
BIND(C, name="ompix_exscan_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count
INTEGER, INTENT(IN) :: datatype
INTEGER, INTENT(IN) :: op
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_exscan_init_f
subroutine ompix_gather_init_f(sendbuf,sendcount,sendtype,recvbuf, &
recvcount,recvtype,root,comm,info,request,ierror) &
BIND(C, name="ompix_gather_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount, root
INTEGER, INTENT(IN) :: sendtype
INTEGER, INTENT(IN) :: recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_gather_init_f
subroutine ompix_gatherv_init_f(sendbuf,sendcount,sendtype,recvbuf, &
recvcounts,displs,recvtype,root,comm,info,request,ierror) &
BIND(C, name="ompix_gatherv_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, root
INTEGER, INTENT(IN) :: recvcounts(*), displs(*)
INTEGER, INTENT(IN) :: sendtype
INTEGER, INTENT(IN) :: recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_gatherv_init_f
subroutine ompix_reduce_init_f(sendbuf,recvbuf,count,datatype,op,root,comm,info,request,ierror) &
BIND(C, name="ompix_reduce_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count, root
INTEGER, INTENT(IN) :: datatype
INTEGER, INTENT(IN) :: op
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_reduce_init_f
subroutine ompix_reduce_scatter_init_f(sendbuf,recvbuf,recvcounts, &
datatype,op,comm,info,request,ierror) &
BIND(C, name="ompix_reduce_scatter_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: recvcounts(*)
INTEGER, INTENT(IN) :: datatype
INTEGER, INTENT(IN) :: op
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_reduce_scatter_init_f
subroutine ompix_reduce_scatter_block_init_f(sendbuf,recvbuf,recvcount, &
datatype,op,comm,info,request,ierror) &
BIND(C, name="ompix_reduce_scatter_block_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: recvcount
INTEGER, INTENT(IN) :: datatype
INTEGER, INTENT(IN) :: op
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_reduce_scatter_block_init_f
subroutine ompix_scan_init_f(sendbuf,recvbuf,count,datatype,op,comm,info,request,ierror) &
BIND(C, name="ompix_scan_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count
INTEGER, INTENT(IN) :: datatype
INTEGER, INTENT(IN) :: op
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_scan_init_f
subroutine ompix_scatter_init_f(sendbuf,sendcount,sendtype,recvbuf, &
recvcount,recvtype,root,comm,info,request,ierror) &
BIND(C, name="ompix_scatter_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount, root
INTEGER, INTENT(IN) :: sendtype
INTEGER, INTENT(IN) :: recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_scatter_init_f
subroutine ompix_scatterv_init_f(sendbuf,sendcounts,displs,sendtype, &
recvbuf,recvcount,recvtype,root,comm,info,request,ierror) &
BIND(C, name="ompix_scatterv_init_f")
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: recvcount, root
INTEGER, INTENT(IN) :: sendcounts(*), displs(*)
INTEGER, INTENT(IN) :: sendtype
INTEGER, INTENT(IN) :: recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_scatterv_init_f
subroutine ompix_neighbor_allgather_init_f(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype, &
comm,info,request,ierror) &
BIND(C, name="ompix_neighbor_allgather_init_f")
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Request
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
INTEGER, INTENT(IN) :: sendtype, recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_neighbor_allgather_init_f
subroutine ompix_neighbor_allgatherv_init_f(sendbuf,sendcount,sendtype,recvbuf,recvcounts,displs, &
recvtype,comm,info,request,ierror) &
BIND(C, name="ompix_neighbor_allgatherv_init_f")
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Request
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
INTEGER, INTENT(IN) :: sendcount
INTEGER, INTENT(IN) :: recvcounts(*), displs(*)
INTEGER, INTENT(IN) :: sendtype, recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_neighbor_allgatherv_init_f
subroutine ompix_neighbor_alltoall_init_f(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype, &
comm,info,request,ierror) &
BIND(C, name="ompix_neighbor_alltoall_init_f")
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Request
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
INTEGER, INTENT(IN) :: sendtype, recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_neighbor_alltoall_init_f
subroutine ompix_neighbor_alltoallv_init_f(sendbuf,sendcounts,sdispls,sendtype,recvbuf,recvcounts, &
rdispls,recvtype,comm,info,request,ierror) &
BIND(C, name="ompix_neighbor_alltoallv_init_f")
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Request
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
INTEGER, INTENT(IN) :: sendtype, recvtype
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_neighbor_alltoallv_init_f
subroutine ompix_neighbor_alltoallw_init_f(sendbuf,sendcounts,sdispls,sendtypes,recvbuf,recvcounts, &
rdispls,recvtypes,comm,info,request,ierror) &
BIND(C, name="ompix_neighbor_alltoallw_init_f")
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Request, MPI_ADDRESS_KIND
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), recvcounts(*)
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: sdispls(*), rdispls(*)
INTEGER, INTENT(IN) :: sendtypes, recvtypes
INTEGER, INTENT(IN) :: comm
INTEGER, INTENT(IN) :: info
INTEGER, INTENT(OUT) :: request
INTEGER, INTENT(OUT) :: ierror
end subroutine ompix_neighbor_alltoallw_init_f
end interface
end module mpiext_pcollreq_f08

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

@ -0,0 +1,986 @@
! -*- fortran -*-
!
! Copyright (c) 2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
!
! Additional copyrights may follow
!
! $HEADER$
!
! This whole file will be included in the mpi_f08_ext module interface
! section. Note that the extension's mpif.h file will be included
! first, so there's no need to re-define anything that's in there (e.g.,
! OMPI_EXAMPLE_GLOBAL).
! Declare any interfaces, subroutines, and global variables/constants
! here. Note that the mpiext_example_mpif.h will automatically be
! included before this, so anything declared there does not need to be
! replicated here.
interface mpix_allgather_init
subroutine mpix_allgather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_allgather_init
end interface mpix_allgather_init
interface mpix_allgatherv_init
subroutine mpix_allgatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: recvcounts(*), displs(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_allgatherv_init
end interface mpix_allgatherv_init
interface mpix_allreduce_init
subroutine mpix_allreduce_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_allreduce_init
end interface mpix_allreduce_init
interface mpix_alltoall_init
subroutine mpix_alltoall_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_alltoall_init
end interface mpix_alltoall_init
interface mpix_alltoallv_init
subroutine mpix_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, &
recvbuf, recvcounts, rdispls, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_alltoallv_init
end interface mpix_alltoallv_init
interface mpix_alltoallw_init
subroutine mpix_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, &
recvbuf, recvcounts, rdispls, recvtypes, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
type(mpi_datatype), intent(in) :: sendtypes(*), recvtypes(*)
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_alltoallw_init
end interface mpix_alltoallw_init
interface mpix_barrier_init
subroutine mpix_barrier_init(comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_comm, mpi_info, mpi_request
implicit none
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_barrier_init
end interface mpix_barrier_init
interface mpix_bcast_init
subroutine mpix_bcast_init(buffer, count, datatype, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: buffer
!GCC$ ATTRIBUTES NO_ARG_CHECK :: buffer
!$PRAGMA IGNORE_TKR buffer
!DIR$ IGNORE_TKR buffer
!IBM* IGNORE_TKR buffer
OMPI_FORTRAN_IGNORE_TKR_TYPE :: buffer
integer, intent(in) :: count, root
type(mpi_datatype), intent(in) :: datatype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_bcast_init
end interface mpix_bcast_init
interface mpix_exscan_init
subroutine mpix_exscan_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_exscan_init
end interface mpix_exscan_init
interface mpix_gather_init
subroutine mpix_gather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount, root
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_gather_init
end interface mpix_gather_init
interface mpix_gatherv_init
subroutine mpix_gatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, root
integer, intent(in) :: recvcounts(*), displs(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_gatherv_init
end interface mpix_gatherv_init
interface mpix_reduce_init
subroutine mpix_reduce_init(sendbuf, recvbuf, count, &
datatype, op, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count, root
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_reduce_init
end interface mpix_reduce_init
interface mpix_reduce_scatter_init
subroutine mpix_reduce_scatter_init(sendbuf, recvbuf, recvcounts, &
datatype, op, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: recvcounts(*)
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_reduce_scatter_init
end interface mpix_reduce_scatter_init
interface mpix_reduce_scatter_block_init
subroutine mpix_reduce_scatter_block_init(sendbuf, recvbuf, recvcount, &
datatype, op, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: recvcount
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_reduce_scatter_block_init
end interface mpix_reduce_scatter_block_init
interface mpix_scan_init
subroutine mpix_scan_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_scan_init
end interface mpix_scan_init
interface mpix_scatter_init
subroutine mpix_scatter_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount, root
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_scatter_init
end interface mpix_scatter_init
interface mpix_scatterv_init
subroutine mpix_scatterv_init(sendbuf, sendcounts, displs, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: recvcount, root
integer, intent(in) :: sendcounts(*), displs(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_scatterv_init
end interface mpix_scatterv_init
interface mpix_neighbor_allgather_init
subroutine mpix_neighbor_allgather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_neighbor_allgather_init
end interface mpix_neighbor_allgather_init
interface mpix_neighbor_allgatherv_init
subroutine mpix_neighbor_allgatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: recvcounts(*), displs(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_neighbor_allgatherv_init
end interface mpix_neighbor_allgatherv_init
interface mpix_neighbor_alltoall_init
subroutine mpix_neighbor_alltoall_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_neighbor_alltoall_init
end interface mpix_neighbor_alltoall_init
interface mpix_neighbor_alltoallv_init
subroutine mpix_neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, &
recvbuf, recvcounts, rdispls, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_neighbor_alltoallv_init
end interface mpix_neighbor_alltoallv_init
interface mpix_neighbor_alltoallw_init
subroutine mpix_neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, &
recvbuf, recvcounts, rdispls, recvtypes, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_address_kind, mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcounts(*), recvcounts(*)
integer(mpi_address_kind), intent(in) :: sdispls(*), rdispls(*)
type(mpi_datatype), intent(in) :: sendtypes(*), recvtypes(*)
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine mpix_neighbor_alltoallw_init
end interface mpix_neighbor_alltoallw_init
interface pmpix_allgather_init
subroutine pmpix_allgather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_allgather_init
end interface pmpix_allgather_init
interface pmpix_allgatherv_init
subroutine pmpix_allgatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: recvcounts(*), displs(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_allgatherv_init
end interface pmpix_allgatherv_init
interface pmpix_allreduce_init
subroutine pmpix_allreduce_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_allreduce_init
end interface pmpix_allreduce_init
interface pmpix_alltoall_init
subroutine pmpix_alltoall_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_alltoall_init
end interface pmpix_alltoall_init
interface pmpix_alltoallv_init
subroutine pmpix_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, &
recvbuf, recvcounts, rdispls, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_alltoallv_init
end interface pmpix_alltoallv_init
interface pmpix_alltoallw_init
subroutine pmpix_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, &
recvbuf, recvcounts, rdispls, recvtypes, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
type(mpi_datatype), intent(in) :: sendtypes(*), recvtypes(*)
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_alltoallw_init
end interface pmpix_alltoallw_init
interface pmpix_barrier_init
subroutine pmpix_barrier_init(comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_comm, mpi_info, mpi_request
implicit none
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_barrier_init
end interface pmpix_barrier_init
interface pmpix_bcast_init
subroutine pmpix_bcast_init(buffer, count, datatype, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: buffer
!GCC$ ATTRIBUTES NO_ARG_CHECK :: buffer
!$PRAGMA IGNORE_TKR buffer
!DIR$ IGNORE_TKR buffer
!IBM* IGNORE_TKR buffer
OMPI_FORTRAN_IGNORE_TKR_TYPE :: buffer
integer, intent(in) :: count, root
type(mpi_datatype), intent(in) :: datatype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_bcast_init
end interface pmpix_bcast_init
interface pmpix_exscan_init
subroutine pmpix_exscan_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_exscan_init
end interface pmpix_exscan_init
interface pmpix_gather_init
subroutine pmpix_gather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount, root
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_gather_init
end interface pmpix_gather_init
interface pmpix_gatherv_init
subroutine pmpix_gatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, root
integer, intent(in) :: recvcounts(*), displs(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_gatherv_init
end interface pmpix_gatherv_init
interface pmpix_reduce_init
subroutine pmpix_reduce_init(sendbuf, recvbuf, count, &
datatype, op, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count, root
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_reduce_init
end interface pmpix_reduce_init
interface pmpix_reduce_scatter_init
subroutine pmpix_reduce_scatter_init(sendbuf, recvbuf, recvcounts, &
datatype, op, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: recvcounts(*)
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_reduce_scatter_init
end interface pmpix_reduce_scatter_init
interface pmpix_reduce_scatter_block_init
subroutine pmpix_reduce_scatter_block_init(sendbuf, recvbuf, recvcount, &
datatype, op, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: recvcount
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_reduce_scatter_block_init
end interface pmpix_reduce_scatter_block_init
interface pmpix_scan_init
subroutine pmpix_scan_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_op, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
type(mpi_datatype), intent(in) :: datatype
type(mpi_op), intent(in) :: op
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_scan_init
end interface pmpix_scan_init
interface pmpix_scatter_init
subroutine pmpix_scatter_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount, root
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_scatter_init
end interface pmpix_scatter_init
interface pmpix_scatterv_init
subroutine pmpix_scatterv_init(sendbuf, sendcounts, displs, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: recvcount, root
integer, intent(in) :: sendcounts(*), displs(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_scatterv_init
end interface pmpix_scatterv_init
interface pmpix_neighbor_allgather_init
subroutine pmpix_neighbor_allgather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_neighbor_allgather_init
end interface pmpix_neighbor_allgather_init
interface pmpix_neighbor_allgatherv_init
subroutine pmpix_neighbor_allgatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: recvcounts(*), displs(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_neighbor_allgatherv_init
end interface pmpix_neighbor_allgatherv_init
interface pmpix_neighbor_alltoall_init
subroutine pmpix_neighbor_alltoall_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount, recvcount
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_neighbor_alltoall_init
end interface pmpix_neighbor_alltoall_init
interface pmpix_neighbor_alltoallv_init
subroutine pmpix_neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, &
recvbuf, recvcounts, rdispls, recvtype, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
type(mpi_datatype), intent(in) :: sendtype, recvtype
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_neighbor_alltoallv_init
end interface pmpix_neighbor_alltoallv_init
interface pmpix_neighbor_alltoallw_init
subroutine pmpix_neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, &
recvbuf, recvcounts, rdispls, recvtypes, &
comm, info, request, ierror)
use :: mpi_f08_types, only : mpi_address_kind, mpi_datatype, mpi_comm, mpi_info, mpi_request
implicit none
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcounts(*), recvcounts(*)
integer(mpi_address_kind), intent(in) :: sdispls(*), rdispls(*)
type(mpi_datatype), intent(in) :: sendtypes(*), recvtypes(*)
type(mpi_comm), intent(in) :: comm
type(mpi_info), intent(in) :: info
type(mpi_request), intent(out) :: request
integer, optional, intent(out) :: ierror
end subroutine pmpix_neighbor_alltoallw_init
end interface pmpix_neighbor_alltoallw_init

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2013 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Neighbor_allgather_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_neighbor_allgather_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_neighbor_allgather_init_f(sendbuf,sendcount,sendtype%MPI_VAL,&
recvbuf,recvcount,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Neighbor_allgather_init_f08

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

@ -0,0 +1,32 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2013 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Neighbor_allgatherv_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcounts,&
displs,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_neighbor_allgatherv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount
INTEGER, INTENT(IN) :: recvcounts(*), displs(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_neighbor_allgatherv_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,recvcounts,&
displs,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Neighbor_allgatherv_init_f08

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

@ -0,0 +1,31 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2013 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Neighbor_alltoall_init_f08(sendbuf,sendcount,sendtype,recvbuf,&
recvcount,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_neighbor_alltoall_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_neighbor_alltoall_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,&
recvcount,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Neighbor_alltoall_init_f08

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

@ -0,0 +1,32 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2013 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Neighbor_alltoallv_init_f08(sendbuf,sendcounts,sdispls,sendtype,recvbuf,&
recvcounts,rdispls,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_neighbor_alltoallv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_neighbor_alltoallv_init_f(sendbuf,sendcounts,sdispls,sendtype%MPI_VAL,&
recvbuf,recvcounts,rdispls,recvtype%MPI_VAL,&
comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Neighbor_alltoallv_init_f08

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

@ -0,0 +1,34 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2013 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2013 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Neighbor_alltoallw_init_f08(sendbuf,sendcounts,sdispls,sendtypes,&
recvbuf,recvcounts,rdispls,recvtypes,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request, MPI_ADDRESS_KIND
use :: mpiext_pcollreq_f08, only : ompix_neighbor_alltoallw_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), recvcounts(*)
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: sdispls(*), rdispls(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtypes(*)
TYPE(MPI_Datatype), INTENT(IN) :: recvtypes(*)
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_neighbor_alltoallw_init_f(sendbuf,sendcounts,sdispls,sendtypes(1)%MPI_VAL,&
recvbuf,recvcounts,rdispls,recvtypes(1)%MPI_VAL,&
comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Neighbor_alltoallw_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Allgather_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_allgather_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_allgather_init_f(sendbuf,sendcount,sendtype%MPI_VAL,&
recvbuf,recvcount,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Allgather_init_f08

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

@ -0,0 +1,32 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Allgatherv_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcounts,&
displs,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_allgatherv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount
INTEGER, INTENT(IN) :: recvcounts(*), displs(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_allgatherv_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,recvcounts,&
displs,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Allgatherv_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Allreduce_init_f08(sendbuf,recvbuf,count,datatype,op,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_allreduce_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_allreduce_init_f(sendbuf,recvbuf,count,datatype%MPI_VAL,&
op%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Allreduce_init_f08

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

@ -0,0 +1,31 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Alltoall_init_f08(sendbuf,sendcount,sendtype,recvbuf,&
recvcount,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_alltoall_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_alltoall_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,&
recvcount,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Alltoall_init_f08

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

@ -0,0 +1,31 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Alltoallv_init_f08(sendbuf,sendcounts,sdispls,sendtype,recvbuf,&
recvcounts,rdispls,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_alltoallv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_alltoallv_init_f(sendbuf,sendcounts,sdispls,sendtype%MPI_VAL,&
recvbuf,recvcounts,rdispls,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Alltoallv_init_f08

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

@ -0,0 +1,41 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2013 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Alltoallw_init_f08(sendbuf,sendcounts,sdispls,sendtypes,&
recvbuf,recvcounts,rdispls,recvtypes,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_alltoallw_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtypes(*)
TYPE(MPI_Datatype), INTENT(IN) :: recvtypes(*)
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
! Note that we pass a scalar here for both the sendtypes and
! recvtypes arguments, even though the real Alltoallw function
! expects an array of integers. This is a hack: we know that
! [send|recv]types(1)%MPI_VAL will pass the address of the first
! integer in the array of Type(MPI_Datatype) derived types. And
! since Type(MPI_Datatype) are exactly memory-equivalent to a
! single INTEGER, passing the address of the first one is the same
! as passing the address to an array of integers. To be clear: the
! back-end ompi_alltoallw_f is expecting a pointer to an array of
! integers. So it all works out (but is a hack :-\ ).
call ompix_alltoallw_init_f(sendbuf,sendcounts,sdispls,sendtypes(1)%MPI_VAL,&
recvbuf,recvcounts,rdispls,recvtypes(1)%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Alltoallw_init_f08

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

@ -0,0 +1,23 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
subroutine PMPIX_Barrier_init_f08(comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_barrier_init_f
implicit none
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_barrier_init_f(comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Barrier_init_f08

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

@ -0,0 +1,28 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Bcast_init_f08(buffer,count,datatype,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_bcast_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: buffer
INTEGER, INTENT(IN) :: count, root
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_bcast_init_f(buffer,count,datatype%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Bcast_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Exscan_init_f08(sendbuf,recvbuf,count,datatype,op,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_exscan_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_exscan_init_f(sendbuf,recvbuf,count,datatype%MPI_VAL,&
op%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Exscan_init_f08

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

@ -0,0 +1,31 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Gather_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcount,&
recvtype,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_gather_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount, root
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_gather_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,recvcount,&
recvtype%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Gather_init_f08

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

@ -0,0 +1,32 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Gatherv_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcounts,&
displs,recvtype,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_gatherv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, root
INTEGER, INTENT(IN) :: recvcounts(*), displs(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_gatherv_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,recvcounts,&
displs,recvtype%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Gatherv_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2013 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Neighbor_allgather_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_neighbor_allgather_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_neighbor_allgather_init_f(sendbuf,sendcount,sendtype%MPI_VAL,&
recvbuf,recvcount,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Neighbor_allgather_init_f08

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

@ -0,0 +1,32 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2013 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Neighbor_allgatherv_init_f08(sendbuf,sendcount,sendtype,recvbuf,recvcounts,&
displs,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_neighbor_allgatherv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount
INTEGER, INTENT(IN) :: recvcounts(*), displs(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_neighbor_allgatherv_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,recvcounts,&
displs,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Neighbor_allgatherv_init_f08

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

@ -0,0 +1,31 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2013 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Neighbor_alltoall_init_f08(sendbuf,sendcount,sendtype,recvbuf,&
recvcount,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_neighbor_alltoall_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_neighbor_alltoall_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,&
recvcount,recvtype%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Neighbor_alltoall_init_f08

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

@ -0,0 +1,32 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2013 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Neighbor_alltoallv_init_f08(sendbuf,sendcounts,sdispls,sendtype,recvbuf,&
recvcounts,rdispls,recvtype,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_neighbor_alltoallv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), sdispls(*), recvcounts(*), rdispls(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_neighbor_alltoallv_init_f(sendbuf,sendcounts,sdispls,sendtype%MPI_VAL,&
recvbuf,recvcounts,rdispls,recvtype%MPI_VAL,&
comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Neighbor_alltoallv_init_f08

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

@ -0,0 +1,34 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2013 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2013 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Neighbor_alltoallw_init_f08(sendbuf,sendcounts,sdispls,sendtypes,&
recvbuf,recvcounts,rdispls,recvtypes,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request, MPI_ADDRESS_KIND
use :: mpiext_pcollreq_f08, only : ompix_neighbor_alltoallw_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
INTEGER, INTENT(IN) :: sendcounts(*), recvcounts(*)
INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: sdispls(*), rdispls(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtypes(*)
TYPE(MPI_Datatype), INTENT(IN) :: recvtypes(*)
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_neighbor_alltoallw_init_f(sendbuf,sendcounts,sdispls,sendtypes(1)%MPI_VAL,&
recvbuf,recvcounts,rdispls,recvtypes(1)%MPI_VAL,&
comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Neighbor_alltoallw_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Reduce_init_f08(sendbuf,recvbuf,count,datatype,op,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_reduce_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count, root
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_reduce_init_f(sendbuf,recvbuf,count,datatype%MPI_VAL,&
op%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Reduce_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Reduce_scatter_block_init_f08(sendbuf,recvbuf,recvcount,datatype,op,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_reduce_scatter_block_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: recvcount
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_reduce_scatter_block_init_f(sendbuf,recvbuf,recvcount,&
datatype%MPI_VAL,op%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Reduce_scatter_block_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Reduce_scatter_init_f08(sendbuf,recvbuf,recvcounts,datatype,op,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_reduce_scatter_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: recvcounts(*)
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_reduce_scatter_init_f(sendbuf,recvbuf,recvcounts,datatype%MPI_VAL,&
op%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Reduce_scatter_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Scan_init_f08(sendbuf,recvbuf,count,datatype,op,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_scan_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_scan_init_f(sendbuf,recvbuf,count,datatype%MPI_VAL,&
op%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Scan_init_f08

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

@ -0,0 +1,31 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Scatter_init_f08(sendbuf,sendcount,sendtype,recvbuf,&
recvcount,recvtype,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_scatter_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount, root
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_scatter_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,recvcount,&
recvtype%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Scatter_init_f08

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

@ -0,0 +1,32 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine PMPIX_Scatterv_init_f08(sendbuf,sendcounts,displs,sendtype,recvbuf,&
recvcount,recvtype,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_scatterv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: recvcount, root
INTEGER, INTENT(IN) :: sendcounts(*), displs(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_scatterv_init_f(sendbuf,sendcounts,displs,sendtype%MPI_VAL,recvbuf,&
recvcount,recvtype%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine PMPIX_Scatterv_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Reduce_init_f08(sendbuf,recvbuf,count,datatype,op,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_reduce_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count, root
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_reduce_init_f(sendbuf,recvbuf,count,datatype%MPI_VAL,&
op%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Reduce_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Reduce_scatter_block_init_f08(sendbuf,recvbuf,recvcount,datatype,op,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_reduce_scatter_block_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: recvcount
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_reduce_scatter_block_init_f(sendbuf,recvbuf,recvcount,&
datatype%MPI_VAL,op%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Reduce_scatter_block_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Reduce_scatter_init_f08(sendbuf,recvbuf,recvcounts,datatype,op,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_reduce_scatter_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: recvcounts(*)
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_reduce_scatter_init_f(sendbuf,recvbuf,recvcounts,datatype%MPI_VAL,&
op%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Reduce_scatter_init_f08

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

@ -0,0 +1,30 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Scan_init_f08(sendbuf,recvbuf,count,datatype,op,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Op, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_scan_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: count
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_scan_init_f(sendbuf,recvbuf,count,datatype%MPI_VAL,&
op%MPI_VAL,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Scan_init_f08

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

@ -0,0 +1,31 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Scatter_init_f08(sendbuf,sendcount,sendtype,recvbuf,&
recvcount,recvtype,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_scatter_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: sendcount, recvcount, root
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_scatter_init_f(sendbuf,sendcount,sendtype%MPI_VAL,recvbuf,recvcount,&
recvtype%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Scatter_init_f08

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

@ -0,0 +1,32 @@
! -*- f90 -*-
!
! Copyright (c) 2009-2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
#include "ompi/mpi/fortran/configure-fortran-output.h"
subroutine MPIX_Scatterv_init_f08(sendbuf,sendcounts,displs,sendtype,recvbuf,&
recvcount,recvtype,root,comm,info,request,ierror)
use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm, MPI_Info, MPI_Request
use :: mpiext_pcollreq_f08, only : ompix_scatterv_init_f
implicit none
OMPI_FORTRAN_IGNORE_TKR_TYPE, INTENT(IN) :: sendbuf, recvbuf
INTEGER, INTENT(IN) :: recvcount, root
INTEGER, INTENT(IN) :: sendcounts(*), displs(*)
TYPE(MPI_Datatype), INTENT(IN) :: sendtype
TYPE(MPI_Datatype), INTENT(IN) :: recvtype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Request), INTENT(OUT) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
integer :: c_ierror
call ompix_scatterv_init_f(sendbuf,sendcounts,displs,sendtype%MPI_VAL,recvbuf,&
recvcount,recvtype%MPI_VAL,root,comm%MPI_VAL,info%MPI_VAL,request%MPI_VAL,c_ierror)
if (present(ierror)) ierror = c_ierror
end subroutine MPIX_Scatterv_init_f08

16
ompi/mpiext/pcollreq/use-mpi/Makefile.am Обычный файл
Просмотреть файл

@ -0,0 +1,16 @@
#
# Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# There's nothing to build or install for the "use mpi" bindings for
# this MPI extension. However, we must list the header file that will
# be slurped up to be part of the mpi_ext Fortran module so that it is
# included in dist tarballs.
noinst_HEADERS = mpiext_pcollreq_usempi.h

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

@ -0,0 +1,983 @@
! -*- fortran -*-
!
! Copyright (c) 2012 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
! Copyright (c) 2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
!
! Additional copyrights may follow
!
! $HEADER$
!
! This whole file will be included in the mpi_ext module interface
! section. Note that the extension's mpif.h file will be included
! first, so there's no need to re-define anything that's in there (e.g.,
! OMPI_EXAMPLE_GLOBAL).
! Declare any interfaces, subroutines, and global variables/constants
! here. Note that the mpiext_example_mpif.h will automatically be
! included before this, so anything declared there does not need to be
! replicated here.
interface mpix_allgather_init
subroutine mpix_allgather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_allgather_init
end interface mpix_allgather_init
interface pmpix_allgather_init
subroutine pmpix_allgather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_allgather_init
end interface pmpix_allgather_init
interface mpix_allgatherv_init
subroutine mpix_allgatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: displs
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_allgatherv_init
end interface mpix_allgatherv_init
interface pmpix_allgatherv_init
subroutine pmpix_allgatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: displs
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_allgatherv_init
end interface pmpix_allgatherv_init
interface mpix_allreduce_init
subroutine mpix_allreduce_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_allreduce_init
end interface mpix_allreduce_init
interface pmpix_allreduce_init
subroutine pmpix_allreduce_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_allreduce_init
end interface pmpix_allreduce_init
interface mpix_alltoall_init
subroutine mpix_alltoall_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_alltoall_init
end interface mpix_alltoall_init
interface pmpix_alltoall_init
subroutine pmpix_alltoall_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_alltoall_init
end interface pmpix_alltoall_init
interface mpix_alltoallv_init
subroutine mpix_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, &
recvbuf, recvcounts, rdispls, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: sendcounts
integer, dimension(*), intent(in) :: sdispls
integer, intent(in) :: sendtype
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: rdispls
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_alltoallv_init
end interface mpix_alltoallv_init
interface pmpix_alltoallv_init
subroutine pmpix_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, &
recvbuf, recvcounts, rdispls, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: sendcounts
integer, dimension(*), intent(in) :: sdispls
integer, intent(in) :: sendtype
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: rdispls
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_alltoallv_init
end interface pmpix_alltoallv_init
interface mpix_alltoallw_init
subroutine mpix_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, &
recvbuf, recvcounts, rdispls, recvtypes, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: sendcounts
integer, dimension(*), intent(in) :: sdispls
integer, dimension(*), intent(in) :: sendtypes
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: rdispls
integer, dimension(*), intent(in) :: recvtypes
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_alltoallw_init
end interface mpix_alltoallw_init
interface pmpix_alltoallw_init
subroutine pmpix_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, &
recvbuf, recvcounts, rdispls, recvtypes, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: sendcounts
integer, dimension(*), intent(in) :: sdispls
integer, dimension(*), intent(in) :: sendtypes
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: rdispls
integer, dimension(*), intent(in) :: recvtypes
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_alltoallw_init
end interface pmpix_alltoallw_init
interface mpix_barrier_init
subroutine mpix_barrier_init(comm, info, request, ierror)
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_barrier_init
end interface mpix_barrier_init
interface pmpix_barrier_init
subroutine pmpix_barrier_init(comm, info, request, ierror)
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_barrier_init
end interface pmpix_barrier_init
interface mpix_bcast_init
subroutine mpix_bcast_init(buffer, count, datatype, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: buffer
!GCC$ ATTRIBUTES NO_ARG_CHECK :: buffer
!$PRAGMA IGNORE_TKR buffer
!DIR$ IGNORE_TKR buffer
!IBM* IGNORE_TKR buffer
OMPI_FORTRAN_IGNORE_TKR_TYPE :: buffer
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_bcast_init
end interface mpix_bcast_init
interface pmpix_bcast_init
subroutine pmpix_bcast_init(buffer, count, datatype, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: buffer
!GCC$ ATTRIBUTES NO_ARG_CHECK :: buffer
!$PRAGMA IGNORE_TKR buffer
!DIR$ IGNORE_TKR buffer
!IBM* IGNORE_TKR buffer
OMPI_FORTRAN_IGNORE_TKR_TYPE :: buffer
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_bcast_init
end interface pmpix_bcast_init
interface mpix_exscan_init
subroutine mpix_exscan_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_exscan_init
end interface mpix_exscan_init
interface pmpix_exscan_init
subroutine pmpix_exscan_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_exscan_init
end interface pmpix_exscan_init
interface mpix_gather_init
subroutine mpix_gather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_gather_init
end interface mpix_gather_init
interface pmpix_gather_init
subroutine pmpix_gather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_gather_init
end interface pmpix_gather_init
interface mpix_gatherv_init
subroutine mpix_gatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: displs
integer, intent(in) :: recvtype
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_gatherv_init
end interface mpix_gatherv_init
interface pmpix_gatherv_init
subroutine pmpix_gatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: displs
integer, intent(in) :: recvtype
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_gatherv_init
end interface pmpix_gatherv_init
interface mpix_reduce_init
subroutine mpix_reduce_init(sendbuf, recvbuf, count, &
datatype, op, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_reduce_init
end interface mpix_reduce_init
interface pmpix_reduce_init
subroutine pmpix_reduce_init(sendbuf, recvbuf, count, &
datatype, op, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_reduce_init
end interface pmpix_reduce_init
interface mpix_reduce_scatter_init
subroutine mpix_reduce_scatter_init(sendbuf, recvbuf, recvcounts, &
datatype, op, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: recvcounts
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_reduce_scatter_init
end interface mpix_reduce_scatter_init
interface pmpix_reduce_scatter_init
subroutine pmpix_reduce_scatter_init(sendbuf, recvbuf, recvcounts, &
datatype, op, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: recvcounts
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_reduce_scatter_init
end interface pmpix_reduce_scatter_init
interface mpix_reduce_scatter_block_init
subroutine mpix_reduce_scatter_block_init(sendbuf, recvbuf, recvcount, &
datatype, op, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: recvcount
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_reduce_scatter_block_init
end interface mpix_reduce_scatter_block_init
interface pmpix_reduce_scatter_block_init
subroutine pmpix_reduce_scatter_block_init(sendbuf, recvbuf, recvcount, &
datatype, op, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: recvcount
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_reduce_scatter_block_init
end interface pmpix_reduce_scatter_block_init
interface mpix_scan_init
subroutine mpix_scan_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_scan_init
end interface mpix_scan_init
interface pmpix_scan_init
subroutine pmpix_scan_init(sendbuf, recvbuf, count, &
datatype, op, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_scan_init
end interface pmpix_scan_init
interface mpix_scatter_init
subroutine mpix_scatter_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_scatter_init
end interface mpix_scatter_init
interface pmpix_scatter_init
subroutine pmpix_scatter_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_scatter_init
end interface pmpix_scatter_init
interface mpix_scatterv_init
subroutine mpix_scatterv_init(sendbuf, sendcounts, displs, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: sendcounts
integer, dimension(*), intent(in) :: displs
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_scatterv_init
end interface mpix_scatterv_init
interface pmpix_scatterv_init
subroutine pmpix_scatterv_init(sendbuf, sendcounts, displs, sendtype, &
recvbuf, recvcount, recvtype, root, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: sendcounts
integer, dimension(*), intent(in) :: displs
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_scatterv_init
end interface pmpix_scatterv_init
interface mpix_neighbor_allgather_init
subroutine mpix_neighbor_allgather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_neighbor_allgather_init
end interface mpix_neighbor_allgather_init
interface pmpix_neighbor_allgather_init
subroutine pmpix_neighbor_allgather_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_neighbor_allgather_init
end interface pmpix_neighbor_allgather_init
interface mpix_neighbor_allgatherv_init
subroutine mpix_neighbor_allgatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: displs
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_neighbor_allgatherv_init
end interface mpix_neighbor_allgatherv_init
interface pmpix_neighbor_allgatherv_init
subroutine pmpix_neighbor_allgatherv_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcounts, displs, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: displs
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_neighbor_allgatherv_init
end interface pmpix_neighbor_allgatherv_init
interface mpix_neighbor_alltoall_init
subroutine mpix_neighbor_alltoall_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_neighbor_alltoall_init
end interface mpix_neighbor_alltoall_init
interface pmpix_neighbor_alltoall_init
subroutine pmpix_neighbor_alltoall_init(sendbuf, sendcount, sendtype, &
recvbuf, recvcount, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, intent(in) :: sendcount
integer, intent(in) :: sendtype
integer, intent(in) :: recvcount
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_neighbor_alltoall_init
end interface pmpix_neighbor_alltoall_init
interface mpix_neighbor_alltoallv_init
subroutine mpix_neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, &
recvbuf, recvcounts, rdispls, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: sendcounts
integer, dimension(*), intent(in) :: sdispls
integer, intent(in) :: sendtype
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: rdispls
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_neighbor_alltoallv_init
end interface mpix_neighbor_alltoallv_init
interface pmpix_neighbor_alltoallv_init
subroutine pmpix_neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, &
recvbuf, recvcounts, rdispls, recvtype, &
comm, info, request, ierror)
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: sendcounts
integer, dimension(*), intent(in) :: sdispls
integer, intent(in) :: sendtype
integer, dimension(*), intent(in) :: recvcounts
integer, dimension(*), intent(in) :: rdispls
integer, intent(in) :: recvtype
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_neighbor_alltoallv_init
end interface pmpix_neighbor_alltoallv_init
interface mpix_neighbor_alltoallw_init
subroutine mpix_neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, &
recvbuf, recvcounts, rdispls, recvtypes, &
comm, info, request, ierror)
include 'mpif-config.h'
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: sendcounts
integer(kind=mpi_address_kind), dimension(*), intent(in) :: sdispls
integer, dimension(*), intent(in) :: sendtypes
integer, dimension(*), intent(in) :: recvcounts
integer(kind=mpi_address_kind), dimension(*), intent(in) :: rdispls
integer, dimension(*), intent(in) :: recvtypes
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine mpix_neighbor_alltoallw_init
end interface mpix_neighbor_alltoallw_init
interface pmpix_neighbor_alltoallw_init
subroutine pmpix_neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, &
recvbuf, recvcounts, rdispls, recvtypes, &
comm, info, request, ierror)
include 'mpif-config.h'
!DEC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!GCC$ ATTRIBUTES NO_ARG_CHECK :: sendbuf, recvbuf
!$PRAGMA IGNORE_TKR sendbuf, recvbuf
!DIR$ IGNORE_TKR sendbuf, recvbuf
!IBM* IGNORE_TKR sendbuf, recvbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE, intent(in) :: sendbuf
OMPI_FORTRAN_IGNORE_TKR_TYPE :: recvbuf
integer, dimension(*), intent(in) :: sendcounts
integer(kind=mpi_address_kind), dimension(*), intent(in) :: sdispls
integer, dimension(*), intent(in) :: sendtypes
integer, dimension(*), intent(in) :: recvcounts
integer(kind=mpi_address_kind), dimension(*), intent(in) :: rdispls
integer, dimension(*), intent(in) :: recvtypes
integer, intent(in) :: comm
integer, intent(in) :: info
integer, intent(out) :: request
integer, intent(out) :: ierror
end subroutine pmpix_neighbor_alltoallw_init
end interface pmpix_neighbor_alltoallw_init