Merge pull request #5430 from ggouaillardet/pr/pcollreq-fort
mpiext/pcollreq: add Fortran bindings
Этот коммит содержится в:
Коммит
fed1e7766e
@ -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
Обычный файл
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
|
100
ompi/mpiext/pcollreq/mpif-h/allgather_init_f.c
Обычный файл
100
ompi/mpiext/pcollreq/mpif-h/allgather_init_f.c
Обычный файл
@ -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);
|
||||
}
|
110
ompi/mpiext/pcollreq/mpif-h/allgatherv_init_f.c
Обычный файл
110
ompi/mpiext/pcollreq/mpif-h/allgatherv_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_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);
|
||||
}
|
96
ompi/mpiext/pcollreq/mpif-h/allreduce_init_f.c
Обычный файл
96
ompi/mpiext/pcollreq/mpif-h/allreduce_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_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);
|
||||
}
|
99
ompi/mpiext/pcollreq/mpif-h/alltoall_init_f.c
Обычный файл
99
ompi/mpiext/pcollreq/mpif-h/alltoall_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_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);
|
||||
}
|
116
ompi/mpiext/pcollreq/mpif-h/alltoallv_init_f.c
Обычный файл
116
ompi/mpiext/pcollreq/mpif-h/alltoallv_init_f.c
Обычный файл
@ -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);
|
||||
}
|
127
ompi/mpiext/pcollreq/mpif-h/alltoallw_init_f.c
Обычный файл
127
ompi/mpiext/pcollreq/mpif-h/alltoallw_init_f.c
Обычный файл
@ -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);
|
||||
}
|
84
ompi/mpiext/pcollreq/mpif-h/barrier_init_f.c
Обычный файл
84
ompi/mpiext/pcollreq/mpif-h/barrier_init_f.c
Обычный файл
@ -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
Обычный файл
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
Обычный файл
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
Обычный файл
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
Обычный файл
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);
|
||||
}
|
15
ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_mpifh.c
Обычный файл
15
ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_mpifh.c
Обычный файл
@ -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() {
|
||||
}
|
15
ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_mpifh.h
Обычный файл
15
ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_mpifh.h
Обычный файл
@ -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.
|
105
ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h
Обычный файл
105
ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_prototypes.h
Обычный файл
@ -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));
|
103
ompi/mpiext/pcollreq/mpif-h/neighbor_allgather_init_f.c
Обычный файл
103
ompi/mpiext/pcollreq/mpif-h/neighbor_allgather_init_f.c
Обычный файл
@ -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);
|
||||
}
|
113
ompi/mpiext/pcollreq/mpif-h/neighbor_allgatherv_init_f.c
Обычный файл
113
ompi/mpiext/pcollreq/mpif-h/neighbor_allgatherv_init_f.c
Обычный файл
@ -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);
|
||||
}
|
102
ompi/mpiext/pcollreq/mpif-h/neighbor_alltoall_init_f.c
Обычный файл
102
ompi/mpiext/pcollreq/mpif-h/neighbor_alltoall_init_f.c
Обычный файл
@ -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);
|
||||
}
|
119
ompi/mpiext/pcollreq/mpif-h/neighbor_alltoallv_init_f.c
Обычный файл
119
ompi/mpiext/pcollreq/mpif-h/neighbor_alltoallv_init_f.c
Обычный файл
@ -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);
|
||||
}
|
123
ompi/mpiext/pcollreq/mpif-h/neighbor_alltoallw_init_f.c
Обычный файл
123
ompi/mpiext/pcollreq/mpif-h/neighbor_alltoallw_init_f.c
Обычный файл
@ -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);
|
||||
}
|
80
ompi/mpiext/pcollreq/mpif-h/profile/Makefile.am
Обычный файл
80
ompi/mpiext/pcollreq/mpif-h/profile/Makefile.am
Обычный файл
@ -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
Обычный файл
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);
|
||||
}
|
100
ompi/mpiext/pcollreq/mpif-h/reduce_scatter_block_init_f.c
Обычный файл
100
ompi/mpiext/pcollreq/mpif-h/reduce_scatter_block_init_f.c
Обычный файл
@ -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);
|
||||
}
|
102
ompi/mpiext/pcollreq/mpif-h/reduce_scatter_init_f.c
Обычный файл
102
ompi/mpiext/pcollreq/mpif-h/reduce_scatter_init_f.c
Обычный файл
@ -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
Обычный файл
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);
|
||||
}
|
98
ompi/mpiext/pcollreq/mpif-h/scatter_init_f.c
Обычный файл
98
ompi/mpiext/pcollreq/mpif-h/scatter_init_f.c
Обычный файл
@ -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
Обычный файл
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
Обычный файл
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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/allgather_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/allgather_init_f08.F90
Обычный файл
@ -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
|
32
ompi/mpiext/pcollreq/use-mpi-f08/allgatherv_init_f08.F90
Обычный файл
32
ompi/mpiext/pcollreq/use-mpi-f08/allgatherv_init_f08.F90
Обычный файл
@ -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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/allreduce_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/allreduce_init_f08.F90
Обычный файл
@ -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
|
31
ompi/mpiext/pcollreq/use-mpi-f08/alltoall_init_f08.F90
Обычный файл
31
ompi/mpiext/pcollreq/use-mpi-f08/alltoall_init_f08.F90
Обычный файл
@ -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
|
31
ompi/mpiext/pcollreq/use-mpi-f08/alltoallv_init_f08.F90
Обычный файл
31
ompi/mpiext/pcollreq/use-mpi-f08/alltoallv_init_f08.F90
Обычный файл
@ -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
|
41
ompi/mpiext/pcollreq/use-mpi-f08/alltoallw_init_f08.F90
Обычный файл
41
ompi/mpiext/pcollreq/use-mpi-f08/alltoallw_init_f08.F90
Обычный файл
@ -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
|
23
ompi/mpiext/pcollreq/use-mpi-f08/barrier_init_f08.F90
Обычный файл
23
ompi/mpiext/pcollreq/use-mpi-f08/barrier_init_f08.F90
Обычный файл
@ -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
|
28
ompi/mpiext/pcollreq/use-mpi-f08/bcast_init_f08.F90
Обычный файл
28
ompi/mpiext/pcollreq/use-mpi-f08/bcast_init_f08.F90
Обычный файл
@ -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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/exscan_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/exscan_init_f08.F90
Обычный файл
@ -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
|
31
ompi/mpiext/pcollreq/use-mpi-f08/gather_init_f08.F90
Обычный файл
31
ompi/mpiext/pcollreq/use-mpi-f08/gather_init_f08.F90
Обычный файл
@ -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
|
32
ompi/mpiext/pcollreq/use-mpi-f08/gatherv_init_f08.F90
Обычный файл
32
ompi/mpiext/pcollreq/use-mpi-f08/gatherv_init_f08.F90
Обычный файл
@ -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
|
346
ompi/mpiext/pcollreq/use-mpi-f08/mpiext_pcollreq_f08.F90
Обычный файл
346
ompi/mpiext/pcollreq/use-mpi-f08/mpiext_pcollreq_f08.F90
Обычный файл
@ -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
|
986
ompi/mpiext/pcollreq/use-mpi-f08/mpiext_pcollreq_usempif08.h
Обычный файл
986
ompi/mpiext/pcollreq/use-mpi-f08/mpiext_pcollreq_usempif08.h
Обычный файл
@ -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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/neighbor_allgather_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/neighbor_allgather_init_f08.F90
Обычный файл
@ -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
|
31
ompi/mpiext/pcollreq/use-mpi-f08/neighbor_alltoall_init_f08.F90
Обычный файл
31
ompi/mpiext/pcollreq/use-mpi-f08/neighbor_alltoall_init_f08.F90
Обычный файл
@ -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
|
32
ompi/mpiext/pcollreq/use-mpi-f08/neighbor_alltoallv_init_f08.F90
Обычный файл
32
ompi/mpiext/pcollreq/use-mpi-f08/neighbor_alltoallv_init_f08.F90
Обычный файл
@ -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
|
34
ompi/mpiext/pcollreq/use-mpi-f08/neighbor_alltoallw_init_f08.F90
Обычный файл
34
ompi/mpiext/pcollreq/use-mpi-f08/neighbor_alltoallw_init_f08.F90
Обычный файл
@ -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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/profile/pallgather_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/profile/pallgather_init_f08.F90
Обычный файл
@ -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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/profile/pallreduce_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/profile/pallreduce_init_f08.F90
Обычный файл
@ -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
|
31
ompi/mpiext/pcollreq/use-mpi-f08/profile/palltoall_init_f08.F90
Обычный файл
31
ompi/mpiext/pcollreq/use-mpi-f08/profile/palltoall_init_f08.F90
Обычный файл
@ -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
|
31
ompi/mpiext/pcollreq/use-mpi-f08/profile/palltoallv_init_f08.F90
Обычный файл
31
ompi/mpiext/pcollreq/use-mpi-f08/profile/palltoallv_init_f08.F90
Обычный файл
@ -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
|
41
ompi/mpiext/pcollreq/use-mpi-f08/profile/palltoallw_init_f08.F90
Обычный файл
41
ompi/mpiext/pcollreq/use-mpi-f08/profile/palltoallw_init_f08.F90
Обычный файл
@ -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
|
23
ompi/mpiext/pcollreq/use-mpi-f08/profile/pbarrier_init_f08.F90
Обычный файл
23
ompi/mpiext/pcollreq/use-mpi-f08/profile/pbarrier_init_f08.F90
Обычный файл
@ -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
|
28
ompi/mpiext/pcollreq/use-mpi-f08/profile/pbcast_init_f08.F90
Обычный файл
28
ompi/mpiext/pcollreq/use-mpi-f08/profile/pbcast_init_f08.F90
Обычный файл
@ -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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/profile/pexscan_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/profile/pexscan_init_f08.F90
Обычный файл
@ -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
|
31
ompi/mpiext/pcollreq/use-mpi-f08/profile/pgather_init_f08.F90
Обычный файл
31
ompi/mpiext/pcollreq/use-mpi-f08/profile/pgather_init_f08.F90
Обычный файл
@ -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
|
32
ompi/mpiext/pcollreq/use-mpi-f08/profile/pgatherv_init_f08.F90
Обычный файл
32
ompi/mpiext/pcollreq/use-mpi-f08/profile/pgatherv_init_f08.F90
Обычный файл
@ -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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/profile/preduce_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/profile/preduce_init_f08.F90
Обычный файл
@ -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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/profile/pscan_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/profile/pscan_init_f08.F90
Обычный файл
@ -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
|
31
ompi/mpiext/pcollreq/use-mpi-f08/profile/pscatter_init_f08.F90
Обычный файл
31
ompi/mpiext/pcollreq/use-mpi-f08/profile/pscatter_init_f08.F90
Обычный файл
@ -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
|
32
ompi/mpiext/pcollreq/use-mpi-f08/profile/pscatterv_init_f08.F90
Обычный файл
32
ompi/mpiext/pcollreq/use-mpi-f08/profile/pscatterv_init_f08.F90
Обычный файл
@ -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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/reduce_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/reduce_init_f08.F90
Обычный файл
@ -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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/reduce_scatter_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/reduce_scatter_init_f08.F90
Обычный файл
@ -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
|
30
ompi/mpiext/pcollreq/use-mpi-f08/scan_init_f08.F90
Обычный файл
30
ompi/mpiext/pcollreq/use-mpi-f08/scan_init_f08.F90
Обычный файл
@ -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
|
31
ompi/mpiext/pcollreq/use-mpi-f08/scatter_init_f08.F90
Обычный файл
31
ompi/mpiext/pcollreq/use-mpi-f08/scatter_init_f08.F90
Обычный файл
@ -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
|
32
ompi/mpiext/pcollreq/use-mpi-f08/scatterv_init_f08.F90
Обычный файл
32
ompi/mpiext/pcollreq/use-mpi-f08/scatterv_init_f08.F90
Обычный файл
@ -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
Обычный файл
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
|
983
ompi/mpiext/pcollreq/use-mpi/mpiext_pcollreq_usempi.h
Обычный файл
983
ompi/mpiext/pcollreq/use-mpi/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
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user