Merge pull request #7105 from ggouaillardet/topic/f08_bind_c_constants_revamp
fortran/use-mpi-f08: revamp mpi_f08 constants
Этот коммит содержится в:
Коммит
e59e6f714c
2
.gitignore
поставляемый
2
.gitignore
поставляемый
@ -213,7 +213,7 @@ ompi/mpi/fortran/mpif-h/sizeof_f.f90
|
||||
ompi/mpi/fortran/mpif-h/profile/p*.c
|
||||
ompi/mpi/fortran/mpif-h/profile/psizeof_f.f90
|
||||
|
||||
ompi/mpi/fortran/use-mpi-f08/constants.h
|
||||
ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-constants.h
|
||||
ompi/mpi/fortran/use-mpi-f08/sizeof_f08.f90
|
||||
ompi/mpi/fortran/use-mpi-f08/sizeof_f08.h
|
||||
ompi/mpi/fortran/use-mpi-f08/profile/psizeof_f08.f90
|
||||
|
@ -1,44 +0,0 @@
|
||||
dnl -*- shell-script -*-
|
||||
dnl
|
||||
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
dnl University Research and Technology
|
||||
dnl Corporation. All rights reserved.
|
||||
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||
dnl of Tennessee Research Foundation. All rights
|
||||
dnl reserved.
|
||||
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
dnl University of Stuttgart. All rights reserved.
|
||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
dnl All rights reserved.
|
||||
dnl Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
|
||||
dnl $COPYRIGHT$
|
||||
dnl
|
||||
dnl Additional copyrights may follow
|
||||
dnl
|
||||
dnl $HEADER$
|
||||
dnl
|
||||
|
||||
# Check whether or not the Fortran compiler supports the "protected"
|
||||
# keyword in derived types or not.
|
||||
|
||||
# OMPI_FORTRAN_CHECK_PROTECTED([action if found],
|
||||
# [action if not found])
|
||||
# ----------------------------------------------------
|
||||
AC_DEFUN([OMPI_FORTRAN_CHECK_PROTECTED],[
|
||||
AS_VAR_PUSHDEF([protected_var], [ompi_cv_fortran_protected])
|
||||
|
||||
AC_CACHE_CHECK([if Fortran compiler supports PROTECTED], protected_var,
|
||||
[AC_LANG_PUSH([Fortran])
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[module test_for_protected
|
||||
integer, protected :: bogus
|
||||
end module test_for_protected]])],
|
||||
[AS_VAR_SET(protected_var, yes)],
|
||||
[AS_VAR_SET(protected_var, no)])
|
||||
touch conftest_foo.mod
|
||||
rm -rf *.mod 2>/dev/null
|
||||
AC_LANG_POP([Fortran])
|
||||
])
|
||||
|
||||
AS_VAR_IF(protected_var, [yes], [$1], [$2])
|
||||
AS_VAR_POPDEF([protected_var])dnl
|
||||
])
|
@ -15,8 +15,8 @@ dnl Copyright (c) 2006-2008 Sun Microsystems, Inc. All rights reserved.
|
||||
dnl Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights
|
||||
dnl reserved.
|
||||
dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
||||
dnl Copyright (c) 2014-2017 Research Organization for Information Science
|
||||
dnl and Technology (RIST). All rights reserved.
|
||||
dnl Copyright (c) 2014-2019 Research Organization for Information Science
|
||||
dnl and Technology (RIST). All rights reserved.
|
||||
dnl Copyright (c) 2016 IBM Corporation. All rights reserved.
|
||||
dnl Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
|
||||
dnl $COPYRIGHT$
|
||||
@ -487,14 +487,6 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
|
||||
[OMPI_FORTRAN_HAVE_PRIVATE=1],
|
||||
[OMPI_FORTRAN_HAVE_PRIVATE=0])])
|
||||
|
||||
OMPI_FORTRAN_HAVE_PROTECTED=0
|
||||
AS_IF([test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \
|
||||
test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS],
|
||||
[ # Does the compiler support "protected"
|
||||
OMPI_FORTRAN_CHECK_PROTECTED(
|
||||
[OMPI_FORTRAN_HAVE_PROTECTED=1],
|
||||
[OMPI_FORTRAN_HAVE_PROTECTED=0])])
|
||||
|
||||
OMPI_FORTRAN_HAVE_ABSTRACT=0
|
||||
AS_IF([test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \
|
||||
test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS],
|
||||
@ -754,12 +746,6 @@ end type test_mpi_handle],
|
||||
[$OMPI_FORTRAN_HAVE_PRIVATE],
|
||||
[For mpi-f08-types.f90 and ompi_info: whether the compiler supports the "private" keyword or not (used in MPI_Status)])
|
||||
|
||||
# For configure-fortran-output.h, mpi-f08-types.F90 (and ompi_info)
|
||||
AC_SUBST([OMPI_FORTRAN_HAVE_PROTECTED])
|
||||
AC_DEFINE_UNQUOTED([OMPI_FORTRAN_HAVE_PROTECTED],
|
||||
[$OMPI_FORTRAN_HAVE_PROTECTED],
|
||||
[For mpi-f08-types.f90 and .F90 and ompi_info: whether the compiler supports the "protected" keyword or not])
|
||||
|
||||
# For configure-fortran-output.h, mpi-f08-interfaces-callbacks.F90
|
||||
# (and ompi_info)
|
||||
AC_SUBST([OMPI_FORTRAN_HAVE_ABSTRACT])
|
||||
|
@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env perl
|
||||
#
|
||||
# Copyright (c) 2011-2014 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2016-2017 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# Copyright (c) 2016-2019 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# Copyright (c) 2016-2018 FUJITSU LIMITED. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
@ -469,35 +469,35 @@ write_fortran_file($header, $io_constants, $lio_constants,
|
||||
|
||||
# Create preprocessor files
|
||||
|
||||
my $output = '/* WARNING! THIS IS A GENERATED FILE!!
|
||||
* ANY EDITS YOU PUT HERE WILL BE LOST!
|
||||
* Instead, edit topdir/ompi/include/mpif-values.pl
|
||||
*/
|
||||
my $output = '! WARNING! THIS IS A GENERATED FILE!!
|
||||
! ANY EDITS YOU PUT HERE WILL BE LOST!
|
||||
! Instead, edit topdir/ompi/include/mpif-values.pl
|
||||
!
|
||||
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
* University Research and Technology
|
||||
* Corporation. All rights reserved.
|
||||
* Copyright (c) 2004-2006 The University of Tennessee and The University
|
||||
* of Tennessee Research Foundation. All rights
|
||||
* reserved.
|
||||
* Copyright (c) 2004-2007 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) 2007-2009 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved.
|
||||
* Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
||||
* Copyright (c) 2009-2012 Los Alamos National Security, LLC.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2016 Research Organization for Information Science
|
||||
* and Technology (RIST). All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
!
|
||||
! Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
! University Research and Technology
|
||||
! Corporation. All rights reserved.
|
||||
! Copyright (c) 2004-2006 The University of Tennessee and The University
|
||||
! of Tennessee Research Foundation. All rights
|
||||
! reserved.
|
||||
! Copyright (c) 2004-2007 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) 2007-2009 Cisco Systems, Inc. All rights reserved.
|
||||
! Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved.
|
||||
! Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
||||
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
|
||||
! All rights reserved.
|
||||
! Copyright (c) 2016-2019 Research Organization for Information Science
|
||||
! and Technology (RIST). All rights reserved.
|
||||
! $COPYRIGHT$
|
||||
!
|
||||
! Additional copyrights may follow
|
||||
!
|
||||
! $HEADER$
|
||||
!
|
||||
|
||||
#ifndef USE_MPI_F08_CONSTANTS_H
|
||||
#define USE_MPI_F08_CONSTANTS_H
|
||||
@ -523,8 +523,8 @@ foreach my $key (sort(keys(%{$io_handles}))) {
|
||||
$output .= "#define OMPI_$key $io_handles->{$key}\n";
|
||||
}
|
||||
$output .= "\n";
|
||||
$output .= "#endif /* USE_MPI_F08_CONSTANTS_H */\n";
|
||||
$output .= "#endif\n";
|
||||
|
||||
write_file("$topdir/ompi/mpi/fortran/use-mpi-f08/constants.h", $output);
|
||||
write_file("$topdir/ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-constants.h", $output);
|
||||
|
||||
exit(0);
|
||||
|
@ -1,113 +0,0 @@
|
||||
# Open MPI's Fortran libraries have a bunch of deliberate common
|
||||
# symbols. Whitelist them.
|
||||
ompi_f08_mpi_2complex
|
||||
ompi_f08_mpi_2double_complex
|
||||
ompi_f08_mpi_2double_precision
|
||||
ompi_f08_mpi_2int
|
||||
ompi_f08_mpi_2integer
|
||||
ompi_f08_mpi_2real
|
||||
ompi_f08_mpi_aint
|
||||
ompi_f08_mpi_band
|
||||
ompi_f08_mpi_bor
|
||||
ompi_f08_mpi_bxor
|
||||
ompi_f08_mpi_byte
|
||||
ompi_f08_mpi_c_bool
|
||||
ompi_f08_mpi_c_complex
|
||||
ompi_f08_mpi_c_double_complex
|
||||
ompi_f08_mpi_c_float16
|
||||
ompi_f08_mpi_c_float_complex
|
||||
ompi_f08_mpi_c_long_double_complex
|
||||
ompi_f08_mpi_c_short_float_complex
|
||||
ompi_f08_mpi_char
|
||||
ompi_f08_mpi_character
|
||||
ompi_f08_mpi_comm_null
|
||||
ompi_f08_mpi_comm_self
|
||||
ompi_f08_mpi_comm_world
|
||||
ompi_f08_mpi_complex
|
||||
ompi_f08_mpi_complex16
|
||||
ompi_f08_mpi_complex32
|
||||
ompi_f08_mpi_complex4
|
||||
ompi_f08_mpi_complex8
|
||||
ompi_f08_mpi_count
|
||||
ompi_f08_mpi_cxx_bool
|
||||
ompi_f08_mpi_cxx_complex
|
||||
ompi_f08_mpi_cxx_double_complex
|
||||
ompi_f08_mpi_cxx_float_complex
|
||||
ompi_f08_mpi_cxx_long_double_complex
|
||||
ompi_f08_mpi_cxx_short_float_complex
|
||||
ompi_f08_mpi_datatype_null
|
||||
ompi_f08_mpi_double
|
||||
ompi_f08_mpi_double_complex
|
||||
ompi_f08_mpi_double_int
|
||||
ompi_f08_mpi_double_precision
|
||||
ompi_f08_mpi_errhandler_null
|
||||
ompi_f08_mpi_errors_are_fatal
|
||||
ompi_f08_mpi_errors_return
|
||||
ompi_f08_mpi_file_null
|
||||
ompi_f08_mpi_float
|
||||
ompi_f08_mpi_float_int
|
||||
ompi_f08_mpi_group_empty
|
||||
ompi_f08_mpi_group_null
|
||||
ompi_f08_mpi_info_env
|
||||
ompi_f08_mpi_info_null
|
||||
ompi_f08_mpi_int
|
||||
ompi_f08_mpi_int16
|
||||
ompi_f08_mpi_int32
|
||||
ompi_f08_mpi_int64
|
||||
ompi_f08_mpi_int8
|
||||
ompi_f08_mpi_integer
|
||||
ompi_f08_mpi_integer1
|
||||
ompi_f08_mpi_integer16
|
||||
ompi_f08_mpi_integer2
|
||||
ompi_f08_mpi_integer4
|
||||
ompi_f08_mpi_integer8
|
||||
ompi_f08_mpi_land
|
||||
ompi_f08_mpi_lb
|
||||
ompi_f08_mpi_logical
|
||||
ompi_f08_mpi_logical1
|
||||
ompi_f08_mpi_logical2
|
||||
ompi_f08_mpi_logical4
|
||||
ompi_f08_mpi_logical8
|
||||
ompi_f08_mpi_long
|
||||
ompi_f08_mpi_long_double
|
||||
ompi_f08_mpi_long_double_int
|
||||
ompi_f08_mpi_long_int
|
||||
ompi_f08_mpi_long_long
|
||||
ompi_f08_mpi_long_long_int
|
||||
ompi_f08_mpi_lor
|
||||
ompi_f08_mpi_lxor
|
||||
ompi_f08_mpi_max
|
||||
ompi_f08_mpi_maxloc
|
||||
ompi_f08_mpi_message_no_proc
|
||||
ompi_f08_mpi_message_null
|
||||
ompi_f08_mpi_min
|
||||
ompi_f08_mpi_minloc
|
||||
ompi_f08_mpi_no_op
|
||||
ompi_f08_mpi_offset
|
||||
ompi_f08_mpi_op_null
|
||||
ompi_f08_mpi_packed
|
||||
ompi_f08_mpi_prod
|
||||
ompi_f08_mpi_real
|
||||
ompi_f08_mpi_real16
|
||||
ompi_f08_mpi_real2
|
||||
ompi_f08_mpi_real4
|
||||
ompi_f08_mpi_real8
|
||||
ompi_f08_mpi_replace
|
||||
ompi_f08_mpi_request_null
|
||||
ompi_f08_mpi_short
|
||||
ompi_f08_mpi_short_float
|
||||
ompi_f08_mpi_short_int
|
||||
ompi_f08_mpi_signed_char
|
||||
ompi_f08_mpi_sum
|
||||
ompi_f08_mpi_ub
|
||||
ompi_f08_mpi_uint16
|
||||
ompi_f08_mpi_uint32
|
||||
ompi_f08_mpi_uint64
|
||||
ompi_f08_mpi_uint8
|
||||
ompi_f08_mpi_unsigned
|
||||
ompi_f08_mpi_unsigned_char
|
||||
ompi_f08_mpi_unsigned_long
|
||||
ompi_f08_mpi_unsigned_long_long
|
||||
ompi_f08_mpi_unsigned_short
|
||||
ompi_f08_mpi_wchar
|
||||
ompi_f08_mpi_win_null
|
@ -38,11 +38,4 @@
|
||||
#define OMPI_PRIVATE
|
||||
#endif
|
||||
|
||||
! PROTECTED or not
|
||||
#if OMPI_FORTRAN_HAVE_PROTECTED
|
||||
#define OMPI_PROTECTED , PROTECTED
|
||||
#else
|
||||
#define OMPI_PROTECTED
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -802,9 +802,7 @@ lib@OMPI_LIBMPI_NAME@_usempif08_la_SOURCES = \
|
||||
$(mpi_api_files) \
|
||||
$(pmpi_api_files) \
|
||||
mpi-f08.F90 \
|
||||
buffer_detach.c \
|
||||
constants.h \
|
||||
constants.c
|
||||
buffer_detach.c
|
||||
|
||||
# These are generated; do not ship them
|
||||
nodist_lib@OMPI_LIBMPI_NAME@_usempif08_la_SOURCES =
|
||||
|
@ -1,163 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2015-2018 Research Organization for Information Science
|
||||
* and Technology (RIST). All rights reserved.
|
||||
*
|
||||
* Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* This file provides symbols for the derived type values needed
|
||||
* in mpi3_types.f90.
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
|
||||
#include "constants.h"
|
||||
|
||||
/*
|
||||
* The following typedef is used to adjust the size of objects
|
||||
* exported to Fortran via a BIND(C) symbol. Note that an array of
|
||||
* one of the handles in Fortran, i.e., type(MPI_Comm) has standard
|
||||
* integer strides so there should be no problem with using them in in
|
||||
* arrays or common blocks.
|
||||
*/
|
||||
typedef MPI_Fint ompi_fortran_08_handle_t[OMPI_FORTRAN_F08_HANDLE_SIZE / sizeof(MPI_Fint)];
|
||||
|
||||
#if OMPI_FORTRAN_F08_HANDLE_ALIGNMENT > OMPI_FORTRAN_F08_HANDLE_SIZE
|
||||
#define OMPI_F08_HANDLE_ALIGNED __opal_attribute_aligned__(OMPI_FORTRAN_F08_HANDLE_ALIGNMENT)
|
||||
#else
|
||||
#define OMPI_F08_HANDLE_ALIGNED
|
||||
#endif
|
||||
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_comm_world = {OMPI_MPI_COMM_WORLD};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_comm_self = {OMPI_MPI_COMM_SELF};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_group_empty = {OMPI_MPI_GROUP_EMPTY};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_errors_are_fatal = {OMPI_MPI_ERRORS_ARE_FATAL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_errors_return = {OMPI_MPI_ERRORS_RETURN};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_message_no_proc = {OMPI_MPI_MESSAGE_NO_PROC};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_info_env = {OMPI_MPI_INFO_ENV};
|
||||
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_max = {OMPI_MPI_MAX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_min = {OMPI_MPI_MIN};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_sum = {OMPI_MPI_SUM};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_prod = {OMPI_MPI_PROD};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_land = {OMPI_MPI_LAND};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_band = {OMPI_MPI_BAND};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_lor = {OMPI_MPI_LOR};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_bor = {OMPI_MPI_BOR};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_lxor = {OMPI_MPI_LXOR};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_bxor = {OMPI_MPI_BXOR};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_maxloc = {OMPI_MPI_MAXLOC};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_minloc = {OMPI_MPI_MINLOC};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_replace = {OMPI_MPI_REPLACE};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_no_op = {OMPI_MPI_NO_OP};
|
||||
|
||||
/*
|
||||
* NULL "handles" (indices)
|
||||
*/
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_comm_null = {OMPI_MPI_COMM_NULL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_datatype_null = {OMPI_MPI_DATATYPE_NULL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_errhandler_null = {OMPI_MPI_ERRHANDLER_NULL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_group_null = {OMPI_MPI_GROUP_NULL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_info_null = {OMPI_MPI_INFO_NULL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_message_null = {OMPI_MPI_MESSAGE_NULL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_op_null = {OMPI_MPI_OP_NULL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_request_null = {OMPI_MPI_REQUEST_NULL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_win_null = {OMPI_MPI_WIN_NULL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_file_null = {OMPI_MPI_FILE_NULL};
|
||||
|
||||
/*
|
||||
* common block items from ompi/include/mpif-handles.h
|
||||
*/
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_aint = {OMPI_MPI_AINT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_byte = {OMPI_MPI_BYTE};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_packed = {OMPI_MPI_PACKED};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_ub = {OMPI_MPI_UB};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_lb = {OMPI_MPI_LB};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_char = {OMPI_MPI_CHAR};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_signed_char = {OMPI_MPI_SIGNED_CHAR};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_unsigned_char = {OMPI_MPI_UNSIGNED_CHAR};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_wchar = {OMPI_MPI_WCHAR};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_character = {OMPI_MPI_CHARACTER};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_logical = {OMPI_MPI_LOGICAL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_int = {OMPI_MPI_INT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_int16 = {OMPI_MPI_INT16_T};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_int32 = {OMPI_MPI_INT32_T};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_int64 = {OMPI_MPI_INT64_T};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_int8 = {OMPI_MPI_INT8_T};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_uint16 = {OMPI_MPI_UINT16_T};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_uint32 = {OMPI_MPI_UINT32_T};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_uint64 = {OMPI_MPI_UINT64_T};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_uint8 = {OMPI_MPI_UINT8_T};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_short = {OMPI_MPI_SHORT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_unsigned_short = {OMPI_MPI_UNSIGNED_SHORT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_unsigned = {OMPI_MPI_UNSIGNED};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_long = {OMPI_MPI_LONG};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_unsigned_long = {OMPI_MPI_UNSIGNED_LONG};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_long_long = {OMPI_MPI_LONG_LONG};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_unsigned_long_long = {OMPI_MPI_UNSIGNED_LONG_LONG};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_long_long_int = {OMPI_MPI_LONG_LONG_INT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_integer = {OMPI_MPI_INTEGER};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_integer1 = {OMPI_MPI_INTEGER1};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_integer2 = {OMPI_MPI_INTEGER2};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_integer4 = {OMPI_MPI_INTEGER4};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_integer8 = {OMPI_MPI_INTEGER8};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_integer16 = {OMPI_MPI_INTEGER16};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_float = {OMPI_MPI_FLOAT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_double = {OMPI_MPI_DOUBLE};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_long_double = {OMPI_MPI_LONG_DOUBLE};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_real = {OMPI_MPI_REAL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_real4 = {OMPI_MPI_REAL4};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_real8 = {OMPI_MPI_REAL8};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_real16 = {OMPI_MPI_REAL16};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_double_precision = {OMPI_MPI_DOUBLE_PRECISION};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_c_complex = {OMPI_MPI_C_COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_c_float_complex = {OMPI_MPI_C_FLOAT_COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_c_double_complex = {OMPI_MPI_C_DOUBLE_COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_c_long_double_complex = {OMPI_MPI_C_LONG_DOUBLE_COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_cxx_complex = {OMPI_MPI_CXX_COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_cxx_float_complex = {OMPI_MPI_CXX_FLOAT_COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_cxx_double_complex = {OMPI_MPI_CXX_DOUBLE_COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_cxx_long_double_complex = {OMPI_MPI_CXX_LONG_DOUBLE_COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_complex = {OMPI_MPI_COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_complex8 = {OMPI_MPI_COMPLEX8};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_complex16 = {OMPI_MPI_COMPLEX16};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_complex32 = {OMPI_MPI_COMPLEX32};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_double_complex = {OMPI_MPI_DOUBLE_COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_float_int = {OMPI_MPI_FLOAT_INT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_double_int = {OMPI_MPI_DOUBLE_INT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_2real = {OMPI_MPI_2REAL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_2double_precision = {OMPI_MPI_2DOUBLE_PRECISION};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_2int = {OMPI_MPI_2INT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_short_int = {OMPI_MPI_SHORT_INT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_long_int = {OMPI_MPI_LONG_INT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_long_double_int = {OMPI_MPI_LONG_DOUBLE_INT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_2integer = {OMPI_MPI_2INTEGER};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_2complex = {OMPI_MPI_2COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_2double_complex = {OMPI_MPI_2DOUBLE_COMPLEX};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_real2 = {OMPI_MPI_REAL2};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_logical1 = {OMPI_MPI_LOGICAL1};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_logical2 = {OMPI_MPI_LOGICAL2};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_logical4 = {OMPI_MPI_LOGICAL4};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_logical8 = {OMPI_MPI_LOGICAL8};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_c_bool = {OMPI_MPI_C_BOOL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_cxx_bool = {OMPI_MPI_CXX_BOOL};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_count = {OMPI_MPI_COUNT};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_offset = {OMPI_MPI_OFFSET};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_complex4 = {OMPI_MPI_COMPLEX4};
|
||||
|
||||
/*
|
||||
* Handles not defined in ompi/include/mpif-handles.h but defined
|
||||
* in 'shortfloat' MPI extensions (ompi/mpiext/shortfloat)
|
||||
*
|
||||
* OMPI_MPI_* macros are not defined in ompi/include/mpif-values.pl
|
||||
* because they should not be included in mpif.h. So immediate values
|
||||
* defined in ompi/datatype/ompi_datatype_module.c are used here.
|
||||
* ompi_f08_mpi_c_float16 is a synonym for ompi_f08_mpi_short_float.
|
||||
*/
|
||||
#if defined(HAVE_SHORT_FLOAT) || defined(HAVE_OPAL_SHORT_FLOAT_T)
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_short_float = {74};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_c_short_float_complex = {75};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_cxx_short_float_complex = {76};
|
||||
OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_c_float16 = {74};
|
||||
#endif
|
@ -43,7 +43,8 @@ noinst_LTLIBRARIES = libusempif08_internal_modules.la libforce_usempif08_interna
|
||||
|
||||
libusempif08_internal_modules_la_SOURCES = \
|
||||
mpi-f08-types.F90 \
|
||||
mpi-f08-callbacks.F90
|
||||
mpi-f08-callbacks.F90 \
|
||||
mpi-f08-constants.h
|
||||
|
||||
libforce_usempif08_internal_modules_to_be_built_la_SOURCES = \
|
||||
mpi-f08-interfaces.F90 \
|
||||
|
@ -3,8 +3,8 @@
|
||||
! Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
|
||||
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
|
||||
! All rights reserved.
|
||||
! Copyright (c) 2015-2018 Research Organization for Information Science
|
||||
! and Technology (RIST). All rights reserved.
|
||||
! Copyright (c) 2015-2019 Research Organization for Information Science
|
||||
! and Technology (RIST). All rights reserved.
|
||||
! Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
|
||||
! $COPYRIGHT$
|
||||
!
|
||||
@ -13,6 +13,7 @@
|
||||
! (type(MPI_Comm_world) and MPI_COMM_WORLD, respectively).
|
||||
|
||||
#include "ompi/mpi/fortran/configure-fortran-output.h"
|
||||
#include "ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-constants.h"
|
||||
|
||||
module mpi_f08_types
|
||||
|
||||
@ -78,47 +79,47 @@ module mpi_f08_types
|
||||
! Pre-defined handles
|
||||
!
|
||||
|
||||
type(MPI_Comm), bind(C, name="ompi_f08_mpi_comm_world") OMPI_PROTECTED :: MPI_COMM_WORLD
|
||||
type(MPI_Comm), bind(C, name="ompi_f08_mpi_comm_self") OMPI_PROTECTED :: MPI_COMM_SELF
|
||||
type(MPI_Comm), parameter :: MPI_COMM_WORLD = MPI_Comm(OMPI_MPI_COMM_WORLD)
|
||||
type(MPI_Comm), parameter :: MPI_COMM_SELF = MPI_Comm(OMPI_MPI_COMM_SELF)
|
||||
|
||||
type(MPI_Group), bind(C, name="ompi_f08_mpi_group_empty") OMPI_PROTECTED :: MPI_GROUP_EMPTY
|
||||
type(MPI_Group), parameter :: MPI_GROUP_EMPTY = MPI_Group(OMPI_MPI_GROUP_EMPTY)
|
||||
|
||||
type(MPI_Errhandler), bind(C, name="ompi_f08_mpi_errors_are_fatal") OMPI_PROTECTED :: MPI_ERRORS_ARE_FATAL
|
||||
type(MPI_Errhandler), bind(C, name="ompi_f08_mpi_errors_return") OMPI_PROTECTED :: MPI_ERRORS_RETURN
|
||||
type(MPI_Errhandler), parameter :: MPI_ERRORS_ARE_FATAL = MPI_Errhandler(OMPI_MPI_ERRORS_ARE_FATAL)
|
||||
type(MPI_Errhandler), parameter :: MPI_ERRORS_RETURN = MPI_Errhandler(OMPI_MPI_ERRORS_RETURN)
|
||||
|
||||
type(MPI_Message), bind(C, name="ompi_f08_mpi_message_no_proc") OMPI_PROTECTED :: MPI_MESSAGE_NO_PROC
|
||||
type(MPI_Message), parameter :: MPI_MESSAGE_NO_PROC = MPI_Message(OMPI_MPI_MESSAGE_NO_PROC)
|
||||
|
||||
type(MPI_Info), bind(C, name="ompi_f08_mpi_info_env") OMPI_PROTECTED :: MPI_INFO_ENV
|
||||
type(MPI_Info), parameter :: MPI_INFO_ENV = MPI_Info(OMPI_MPI_INFO_ENV)
|
||||
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_max" ) OMPI_PROTECTED :: MPI_MAX
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_min" ) OMPI_PROTECTED :: MPI_MIN
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_sum" ) OMPI_PROTECTED :: MPI_SUM
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_prod" ) OMPI_PROTECTED :: MPI_PROD
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_land" ) OMPI_PROTECTED :: MPI_LAND
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_band" ) OMPI_PROTECTED :: MPI_BAND
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_lor" ) OMPI_PROTECTED :: MPI_LOR
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_bor" ) OMPI_PROTECTED :: MPI_BOR
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_lxor" ) OMPI_PROTECTED :: MPI_LXOR
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_bxor" ) OMPI_PROTECTED :: MPI_BXOR
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_maxloc" ) OMPI_PROTECTED :: MPI_MAXLOC
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_minloc" ) OMPI_PROTECTED :: MPI_MINLOC
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_replace" ) OMPI_PROTECTED :: MPI_REPLACE
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_no_op" ) OMPI_PROTECTED :: MPI_NO_OP
|
||||
type(MPI_Op), parameter :: MPI_MAX = MPI_Op(OMPI_MPI_MAX)
|
||||
type(MPI_Op), parameter :: MPI_MIN = MPI_Op(OMPI_MPI_MIN)
|
||||
type(MPI_Op), parameter :: MPI_SUM = MPI_Op(OMPI_MPI_SUM)
|
||||
type(MPI_Op), parameter :: MPI_PROD = MPI_Op(OMPI_MPI_PROD)
|
||||
type(MPI_Op), parameter :: MPI_LAND = MPI_Op(OMPI_MPI_LAND)
|
||||
type(MPI_Op), parameter :: MPI_BAND = MPI_Op(OMPI_MPI_BAND)
|
||||
type(MPI_Op), parameter :: MPI_LOR = MPI_Op(OMPI_MPI_LOR)
|
||||
type(MPI_Op), parameter :: MPI_BOR = MPI_Op(OMPI_MPI_BOR)
|
||||
type(MPI_Op), parameter :: MPI_LXOR = MPI_Op(OMPI_MPI_LXOR)
|
||||
type(MPI_Op), parameter :: MPI_BXOR = MPI_Op(OMPI_MPI_BXOR)
|
||||
type(MPI_Op), parameter :: MPI_MAXLOC = MPI_Op(OMPI_MPI_MAXLOC)
|
||||
type(MPI_Op), parameter :: MPI_MINLOC = MPI_Op(OMPI_MPI_MINLOC)
|
||||
type(MPI_Op), parameter :: MPI_REPLACE = MPI_Op(OMPI_MPI_REPLACE)
|
||||
type(MPI_Op), parameter :: MPI_NO_OP = MPI_Op(OMPI_MPI_NO_OP)
|
||||
|
||||
!
|
||||
! NULL "handles" (indices)
|
||||
!
|
||||
|
||||
type(MPI_Comm), bind(C, name="ompi_f08_mpi_comm_null") OMPI_PROTECTED :: MPI_COMM_NULL
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_datatype_null") OMPI_PROTECTED :: MPI_DATATYPE_NULL
|
||||
type(MPI_Errhandler), bind(C, name="ompi_f08_mpi_errhandler_null") OMPI_PROTECTED :: MPI_ERRHANDLER_NULL
|
||||
type(MPI_Group), bind(C, name="ompi_f08_mpi_group_null") OMPI_PROTECTED :: MPI_GROUP_NULL
|
||||
type(MPI_Info), bind(C, name="ompi_f08_mpi_info_null") OMPI_PROTECTED :: MPI_INFO_NULL
|
||||
type(MPI_Message), bind(C, name="ompi_f08_mpi_message_null") OMPI_PROTECTED :: MPI_MESSAGE_NULL
|
||||
type(MPI_Op), bind(C, name="ompi_f08_mpi_op_null") OMPI_PROTECTED :: MPI_OP_NULL
|
||||
type(MPI_Request), bind(C, name="ompi_f08_mpi_request_null") OMPI_PROTECTED :: MPI_REQUEST_NULL
|
||||
type(MPI_Win), bind(C, name="ompi_f08_mpi_win_null") OMPI_PROTECTED :: MPI_WIN_NULL
|
||||
type(MPI_File), bind(C, name="ompi_f08_mpi_file_null") OMPI_PROTECTED :: MPI_FILE_NULL
|
||||
type(MPI_Comm), parameter :: MPI_COMM_NULL = MPI_Comm(OMPI_MPI_COMM_NULL)
|
||||
type(MPI_Datatype), parameter :: MPI_DATATYPE_NULL = MPI_Datatype(OMPI_MPI_COMM_NULL)
|
||||
type(MPI_Errhandler), parameter:: MPI_ERRHANDLER_NULL = MPI_Errhandler(OMPI_MPI_ERRHANDLER_NULL)
|
||||
type(MPI_Group), parameter :: MPI_GROUP_NULL = MPI_Group(OMPI_MPI_GROUP_NULL)
|
||||
type(MPI_Info), parameter :: MPI_INFO_NULL = MPI_Info(OMPI_MPI_INFO_NULL)
|
||||
type(MPI_Message), parameter :: MPI_MESSAGE_NULL = MPI_Message(OMPI_MPI_MESSAGE_NULL)
|
||||
type(MPI_Op), parameter :: MPI_OP_NULL = MPI_Op(OMPI_MPI_OP_NULL)
|
||||
type(MPI_Request), parameter :: MPI_REQUEST_NULL = MPI_Request(OMPI_MPI_REQUEST_NULL)
|
||||
type(MPI_Win), parameter :: MPI_WIN_NULL = MPI_Win(OMPI_MPI_WIN_NULL)
|
||||
type(MPI_File), parameter :: MPI_FILE_NULL = MPI_File(OMPI_MPI_FILE_NULL)
|
||||
|
||||
!
|
||||
! Pre-defined datatype bindings
|
||||
@ -127,82 +128,82 @@ module mpi_f08_types
|
||||
! They are defined in ompi/runtime/ompi_mpi_init.c
|
||||
!
|
||||
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_aint") OMPI_PROTECTED :: MPI_AINT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_byte") OMPI_PROTECTED :: MPI_BYTE
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_packed") OMPI_PROTECTED :: MPI_PACKED
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_ub") OMPI_PROTECTED :: MPI_UB
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_lb") OMPI_PROTECTED :: MPI_LB
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_char") OMPI_PROTECTED :: MPI_CHAR
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_signed_char") OMPI_PROTECTED :: MPI_SIGNED_CHAR
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_unsigned_char") OMPI_PROTECTED :: MPI_UNSIGNED_CHAR
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_wchar") OMPI_PROTECTED :: MPI_WCHAR
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_character") OMPI_PROTECTED :: MPI_CHARACTER
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_logical") OMPI_PROTECTED :: MPI_LOGICAL
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_int") OMPI_PROTECTED :: MPI_INT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_int16") OMPI_PROTECTED :: MPI_INT16_T
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_int32") OMPI_PROTECTED :: MPI_INT32_T
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_int64") OMPI_PROTECTED :: MPI_INT64_T
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_int8") OMPI_PROTECTED :: MPI_INT8_T
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_uint16") OMPI_PROTECTED :: MPI_UINT16_T
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_uint32") OMPI_PROTECTED :: MPI_UINT32_T
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_uint64") OMPI_PROTECTED :: MPI_UINT64_T
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_uint8") OMPI_PROTECTED :: MPI_UINT8_T
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_short") OMPI_PROTECTED :: MPI_SHORT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_unsigned_short") OMPI_PROTECTED :: MPI_UNSIGNED_SHORT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_unsigned") OMPI_PROTECTED :: MPI_UNSIGNED
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_long") OMPI_PROTECTED :: MPI_LONG
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_unsigned_long") OMPI_PROTECTED :: MPI_UNSIGNED_LONG
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_long_long") OMPI_PROTECTED :: MPI_LONG_LONG
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_unsigned_long_long") OMPI_PROTECTED :: MPI_UNSIGNED_LONG_LONG
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_long_long_int") OMPI_PROTECTED :: MPI_LONG_LONG_INT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_integer") OMPI_PROTECTED :: MPI_INTEGER
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_integer1") OMPI_PROTECTED :: MPI_INTEGER1
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_integer2") OMPI_PROTECTED :: MPI_INTEGER2
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_integer4") OMPI_PROTECTED :: MPI_INTEGER4
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_integer8") OMPI_PROTECTED :: MPI_INTEGER8
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_integer16") OMPI_PROTECTED :: MPI_INTEGER16
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_float") OMPI_PROTECTED :: MPI_FLOAT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_double") OMPI_PROTECTED :: MPI_DOUBLE
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_long_double") OMPI_PROTECTED :: MPI_LONG_DOUBLE
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_real") OMPI_PROTECTED :: MPI_REAL
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_real4") OMPI_PROTECTED :: MPI_REAL4
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_real8") OMPI_PROTECTED :: MPI_REAL8
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_real16") OMPI_PROTECTED :: MPI_REAL16
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_double_precision") OMPI_PROTECTED :: MPI_DOUBLE_PRECISION
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_c_complex") OMPI_PROTECTED :: MPI_C_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_c_float_complex") OMPI_PROTECTED :: MPI_C_FLOAT_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_c_double_complex") OMPI_PROTECTED :: MPI_C_DOUBLE_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_c_long_double_complex") OMPI_PROTECTED :: MPI_C_LONG_DOUBLE_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_cxx_complex") OMPI_PROTECTED :: MPI_CXX_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_cxx_float_complex") OMPI_PROTECTED :: MPI_CXX_FLOAT_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_cxx_double_complex") OMPI_PROTECTED :: MPI_CXX_DOUBLE_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_cxx_long_double_complex") OMPI_PROTECTED :: MPI_CXX_LONG_DOUBLE_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_complex") OMPI_PROTECTED :: MPI_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_complex8") OMPI_PROTECTED :: MPI_COMPLEX8
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_complex16") OMPI_PROTECTED :: MPI_COMPLEX16
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_complex32") OMPI_PROTECTED :: MPI_COMPLEX32
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_double_complex") OMPI_PROTECTED :: MPI_DOUBLE_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_float_int") OMPI_PROTECTED :: MPI_FLOAT_INT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_double_int") OMPI_PROTECTED :: MPI_DOUBLE_INT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_2real") OMPI_PROTECTED :: MPI_2REAL
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_2double_precision") OMPI_PROTECTED :: MPI_2DOUBLE_PRECISION
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_2int") OMPI_PROTECTED :: MPI_2INT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_short_int") OMPI_PROTECTED :: MPI_SHORT_INT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_long_int") OMPI_PROTECTED :: MPI_LONG_INT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_long_double_int") OMPI_PROTECTED :: MPI_LONG_DOUBLE_INT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_2integer") OMPI_PROTECTED :: MPI_2INTEGER
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_2complex") OMPI_PROTECTED :: MPI_2COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_2double_complex") OMPI_PROTECTED :: MPI_2DOUBLE_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_real2") OMPI_PROTECTED :: MPI_REAL2
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_logical1") OMPI_PROTECTED :: MPI_LOGICAL1
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_logical2") OMPI_PROTECTED :: MPI_LOGICAL2
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_logical4") OMPI_PROTECTED :: MPI_LOGICAL4
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_logical8") OMPI_PROTECTED :: MPI_LOGICAL8
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_c_bool") OMPI_PROTECTED :: MPI_C_BOOL
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_cxx_bool") OMPI_PROTECTED :: MPI_CXX_BOOL
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_count") OMPI_PROTECTED :: MPI_COUNT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_offset") OMPI_PROTECTED :: MPI_OFFSET
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_complex4") OMPI_PROTECTED :: MPI_COMPLEX4
|
||||
type(MPI_Datatype), parameter :: MPI_AINT = MPI_Datatype(OMPI_MPI_AINT)
|
||||
type(MPI_Datatype), parameter :: MPI_BYTE = MPI_Datatype(OMPI_MPI_BYTE)
|
||||
type(MPI_Datatype), parameter :: MPI_PACKED = MPI_Datatype(OMPI_MPI_PACKED)
|
||||
type(MPI_Datatype), parameter :: MPI_UB = MPI_Datatype(OMPI_MPI_UB)
|
||||
type(MPI_Datatype), parameter :: MPI_LB = MPI_Datatype(OMPI_MPI_LB)
|
||||
type(MPI_Datatype), parameter :: MPI_CHAR = MPI_Datatype(OMPI_MPI_CHAR)
|
||||
type(MPI_Datatype), parameter :: MPI_SIGNED_CHAR = MPI_Datatype(OMPI_MPI_SIGNED_CHAR)
|
||||
type(MPI_Datatype), parameter :: MPI_UNSIGNED_CHAR = MPI_Datatype(OMPI_MPI_UNSIGNED_CHAR)
|
||||
type(MPI_Datatype), parameter :: MPI_WCHAR = MPI_Datatype(OMPI_MPI_WCHAR)
|
||||
type(MPI_Datatype), parameter :: MPI_CHARACTER = MPI_Datatype(OMPI_MPI_CHARACTER)
|
||||
type(MPI_Datatype), parameter :: MPI_LOGICAL = MPI_Datatype(OMPI_MPI_LOGICAL)
|
||||
type(MPI_Datatype), parameter :: MPI_INT = MPI_Datatype(OMPI_MPI_INT)
|
||||
type(MPI_Datatype), parameter :: MPI_INT16_T = MPI_Datatype(OMPI_MPI_INT16_T)
|
||||
type(MPI_Datatype), parameter :: MPI_INT32_T = MPI_Datatype(OMPI_MPI_INT32_T)
|
||||
type(MPI_Datatype), parameter :: MPI_INT64_T = MPI_Datatype(OMPI_MPI_INT64_T)
|
||||
type(MPI_Datatype), parameter :: MPI_INT8_T = MPI_Datatype(OMPI_MPI_INT8_T)
|
||||
type(MPI_Datatype), parameter :: MPI_UINT16_T = MPI_Datatype(OMPI_MPI_UINT16_T)
|
||||
type(MPI_Datatype), parameter :: MPI_UINT32_T = MPI_Datatype(OMPI_MPI_UINT32_T)
|
||||
type(MPI_Datatype), parameter :: MPI_UINT64_T = MPI_Datatype(OMPI_MPI_UINT64_T)
|
||||
type(MPI_Datatype), parameter :: MPI_UINT8_T = MPI_Datatype(OMPI_MPI_UINT8_T)
|
||||
type(MPI_Datatype), parameter :: MPI_SHORT = MPI_Datatype(OMPI_MPI_SHORT)
|
||||
type(MPI_Datatype), parameter :: MPI_UNSIGNED_SHORT = MPI_Datatype(OMPI_MPI_UNSIGNED_SHORT)
|
||||
type(MPI_Datatype), parameter :: MPI_UNSIGNED = MPI_Datatype(OMPI_MPI_UNSIGNED)
|
||||
type(MPI_Datatype), parameter :: MPI_LONG = MPI_Datatype(OMPI_MPI_LONG)
|
||||
type(MPI_Datatype), parameter :: MPI_UNSIGNED_LONG = MPI_Datatype(OMPI_MPI_UNSIGNED_LONG)
|
||||
type(MPI_Datatype), parameter :: MPI_LONG_LONG = MPI_Datatype(OMPI_MPI_LONG_LONG)
|
||||
type(MPI_Datatype), parameter :: MPI_UNSIGNED_LONG_LONG = MPI_Datatype(OMPI_MPI_UNSIGNED_LONG_LONG)
|
||||
type(MPI_Datatype), parameter :: MPI_LONG_LONG_INT = MPI_Datatype(OMPI_MPI_LONG_LONG_INT)
|
||||
type(MPI_Datatype), parameter :: MPI_INTEGER = MPI_Datatype(OMPI_MPI_INTEGER)
|
||||
type(MPI_Datatype), parameter :: MPI_INTEGER1 = MPI_Datatype(OMPI_MPI_INTEGER1)
|
||||
type(MPI_Datatype), parameter :: MPI_INTEGER2 = MPI_Datatype(OMPI_MPI_INTEGER2)
|
||||
type(MPI_Datatype), parameter :: MPI_INTEGER4 = MPI_Datatype(OMPI_MPI_INTEGER4)
|
||||
type(MPI_Datatype), parameter :: MPI_INTEGER8 = MPI_Datatype(OMPI_MPI_INTEGER8)
|
||||
type(MPI_Datatype), parameter :: MPI_INTEGER16 = MPI_Datatype(OMPI_MPI_INTEGER16)
|
||||
type(MPI_Datatype), parameter :: MPI_FLOAT = MPI_Datatype(OMPI_MPI_FLOAT)
|
||||
type(MPI_Datatype), parameter :: MPI_DOUBLE = MPI_Datatype(OMPI_MPI_DOUBLE)
|
||||
type(MPI_Datatype), parameter :: MPI_LONG_DOUBLE = MPI_Datatype(OMPI_MPI_LONG_DOUBLE)
|
||||
type(MPI_Datatype), parameter :: MPI_REAL = MPI_Datatype(OMPI_MPI_REAL)
|
||||
type(MPI_Datatype), parameter :: MPI_REAL4 = MPI_Datatype(OMPI_MPI_REAL4)
|
||||
type(MPI_Datatype), parameter :: MPI_REAL8 = MPI_Datatype(OMPI_MPI_REAL8)
|
||||
type(MPI_Datatype), parameter :: MPI_REAL16 = MPI_Datatype(OMPI_MPI_REAL16)
|
||||
type(MPI_Datatype), parameter :: MPI_DOUBLE_PRECISION = MPI_Datatype(OMPI_MPI_DOUBLE_PRECISION)
|
||||
type(MPI_Datatype), parameter :: MPI_C_COMPLEX = MPI_Datatype(OMPI_MPI_C_COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_C_FLOAT_COMPLEX = MPI_Datatype(OMPI_MPI_C_FLOAT_COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_C_DOUBLE_COMPLEX = MPI_Datatype(OMPI_MPI_C_DOUBLE_COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_C_LONG_DOUBLE_COMPLEX = MPI_Datatype(OMPI_MPI_C_LONG_DOUBLE_COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_CXX_COMPLEX = MPI_Datatype(OMPI_MPI_CXX_COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_CXX_FLOAT_COMPLEX = MPI_Datatype(OMPI_MPI_CXX_FLOAT_COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_CXX_DOUBLE_COMPLEX = MPI_Datatype(OMPI_MPI_CXX_DOUBLE_COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_CXX_LONG_DOUBLE_COMPLEX = MPI_Datatype(OMPI_MPI_CXX_LONG_DOUBLE_COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_COMPLEX = MPI_Datatype(OMPI_MPI_COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_COMPLEX8 = MPI_Datatype(OMPI_MPI_COMPLEX8)
|
||||
type(MPI_Datatype), parameter :: MPI_COMPLEX16 = MPI_Datatype(OMPI_MPI_COMPLEX16)
|
||||
type(MPI_Datatype), parameter :: MPI_COMPLEX32 = MPI_Datatype(OMPI_MPI_COMPLEX32)
|
||||
type(MPI_Datatype), parameter :: MPI_DOUBLE_COMPLEX = MPI_Datatype(OMPI_MPI_COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_FLOAT_INT = MPI_Datatype(OMPI_MPI_FLOAT_INT)
|
||||
type(MPI_Datatype), parameter :: MPI_DOUBLE_INT = MPI_Datatype(OMPI_MPI_DOUBLE_INT)
|
||||
type(MPI_Datatype), parameter :: MPI_2REAL = MPI_Datatype(OMPI_MPI_2REAL)
|
||||
type(MPI_Datatype), parameter :: MPI_2DOUBLE_PRECISION = MPI_Datatype(OMPI_MPI_2DOUBLE_PRECISION)
|
||||
type(MPI_Datatype), parameter :: MPI_2INT = MPI_Datatype(OMPI_MPI_2INT)
|
||||
type(MPI_Datatype), parameter :: MPI_SHORT_INT = MPI_Datatype(OMPI_MPI_SHORT_INT)
|
||||
type(MPI_Datatype), parameter :: MPI_LONG_INT = MPI_Datatype(OMPI_MPI_LONG_INT)
|
||||
type(MPI_Datatype), parameter :: MPI_LONG_DOUBLE_INT = MPI_Datatype(OMPI_MPI_LONG_DOUBLE_INT)
|
||||
type(MPI_Datatype), parameter :: MPI_2INTEGER = MPI_Datatype(OMPI_MPI_2INTEGER)
|
||||
type(MPI_Datatype), parameter :: MPI_2COMPLEX = MPI_Datatype(OMPI_MPI_2COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_2DOUBLE_COMPLEX = MPI_Datatype(OMPI_MPI_2DOUBLE_COMPLEX)
|
||||
type(MPI_Datatype), parameter :: MPI_REAL2 = MPI_Datatype(OMPI_MPI_REAL2)
|
||||
type(MPI_Datatype), parameter :: MPI_LOGICAL1 = MPI_Datatype(OMPI_MPI_LOGICAL1)
|
||||
type(MPI_Datatype), parameter :: MPI_LOGICAL2 = MPI_Datatype(OMPI_MPI_LOGICAL2)
|
||||
type(MPI_Datatype), parameter :: MPI_LOGICAL4 = MPI_Datatype(OMPI_MPI_LOGICAL4)
|
||||
type(MPI_Datatype), parameter :: MPI_LOGICAL8 = MPI_Datatype(OMPI_MPI_LOGICAL8)
|
||||
type(MPI_Datatype), parameter :: MPI_C_BOOL = MPI_Datatype(OMPI_MPI_C_BOOL)
|
||||
type(MPI_Datatype), parameter :: MPI_CXX_BOOL = MPI_Datatype(OMPI_MPI_CXX_BOOL)
|
||||
type(MPI_Datatype), parameter :: MPI_COUNT = MPI_Datatype(OMPI_MPI_COUNT)
|
||||
type(MPI_Datatype), parameter :: MPI_OFFSET = MPI_Datatype(OMPI_MPI_OFFSET)
|
||||
type(MPI_Datatype), parameter :: MPI_COMPLEX4 = MPI_Datatype(OMPI_MPI_COMPLEX4)
|
||||
|
||||
!... Special sentinel constants
|
||||
!------------------------------
|
||||
|
@ -1,6 +1,8 @@
|
||||
! -*- fortran -*-
|
||||
!
|
||||
! Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
|
||||
! Copyright (c) 2019 Research Organization for Information Science
|
||||
! and Technology (RIST). All rights reserved.
|
||||
! $COPYRIGHT$
|
||||
!
|
||||
! Additional copyrights may follow
|
||||
@ -11,10 +13,10 @@
|
||||
! This whole file will be included in the mpi_f08_ext module interface
|
||||
! section.
|
||||
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_short_float") OMPI_PROTECTED :: MPIX_SHORT_FLOAT
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_c_short_float_complex") OMPI_PROTECTED :: MPIX_C_SHORT_FLOAT_COMPLEX
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_cxx_short_float_complex") OMPI_PROTECTED :: MPIX_CXX_SHORT_FLOAT_COMPLEX
|
||||
type(MPI_Datatype), parameter :: MPIX_SHORT_FLOAT = MPI_Datatype(74)
|
||||
type(MPI_Datatype), parameter :: MPIX_C_SHORT_FLOAT_COMPLEX = MPI_Datatype(75)
|
||||
type(MPI_Datatype), parameter :: MPIX_CXX_SHORT_FLOAT_COMPLEX = MPI_Datatype(76)
|
||||
|
||||
#if @OMPI_MPIX_SHORT_FLOAT_IS_C_FLOAT16@
|
||||
type(MPI_Datatype), bind(C, name="ompi_f08_mpi_c_float16") OMPI_PROTECTED :: MPIX_C_FLOAT16
|
||||
type(MPI_Datatype), parameter :: MPIX_C_FLOAT16 = MPI_Datatype(74)
|
||||
#endif
|
||||
|
@ -11,8 +11,8 @@
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2007-2017 Cisco Systems, Inc. All rights reserved
|
||||
* Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
||||
* Copyright (c) 2014-2017 Research Organization for Information Science
|
||||
* and Technology (RIST). All rights reserved.
|
||||
* Copyright (c) 2014-2019 Research Organization for Information Science
|
||||
* and Technology (RIST). All rights reserved.
|
||||
* Copyright (c) 2015 Intel, Inc. All rights reserved
|
||||
* Copyright (c) 2018 Amazon.com, Inc. or its affiliates. All Rights reserved.
|
||||
* Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
|
||||
@ -199,7 +199,6 @@ void ompi_info_do_config(bool want_all)
|
||||
fortran_have_bind_c_type_name = OMPI_FORTRAN_HAVE_BIND_C_TYPE_NAME ?
|
||||
"yes" : "no";
|
||||
fortran_have_private = OMPI_FORTRAN_HAVE_PRIVATE ? "yes" : "no";
|
||||
fortran_have_protected = OMPI_FORTRAN_HAVE_PROTECTED ? "yes" : "no";
|
||||
fortran_have_abstract = OMPI_FORTRAN_HAVE_ABSTRACT ? "yes" : "no";
|
||||
fortran_have_asynchronous = OMPI_FORTRAN_HAVE_ASYNCHRONOUS ? "yes" : "no";
|
||||
fortran_have_procedure = OMPI_FORTRAN_HAVE_PROCEDURE ? "yes" : "no";
|
||||
@ -443,9 +442,6 @@ void ompi_info_do_config(bool want_all)
|
||||
opal_info_out("Fort PRIVATE",
|
||||
"compiler:fortran:private",
|
||||
fortran_have_private);
|
||||
opal_info_out("Fort PROTECTED",
|
||||
"compiler:fortran:protected",
|
||||
fortran_have_protected);
|
||||
opal_info_out("Fort ABSTRACT",
|
||||
"compiler:fortran:abstract",
|
||||
fortran_have_abstract);
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user