From 6cf32ca3cb011b2940d94677d9e8e03c23b2ad22 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Thu, 2 May 2019 23:21:39 +0900 Subject: [PATCH 01/13] fortran: remove unused files related to removed interfaces Signed-off-by: Gilles Gouaillardet --- .../mpi-ignore-tkr-removed-interfaces.h.in | 358 ------------------ .../use-mpi-tkr/mpi-f90-removed-interfaces.h | 185 --------- .../use-mpi-tkr/pmpi-f90-removed-interfaces.h | 185 --------- 3 files changed, 728 deletions(-) delete mode 100644 ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-removed-interfaces.h.in delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/mpi-f90-removed-interfaces.h delete mode 100644 ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-removed-interfaces.h diff --git a/ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-removed-interfaces.h.in b/ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-removed-interfaces.h.in deleted file mode 100644 index 4a00caf5de0..00000000000 --- a/ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-removed-interfaces.h.in +++ /dev/null @@ -1,358 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2006-2012 Cisco Systems, Inc. All rights reserved. -! Copyright (c) 2007 Los Alamos National Security, LLC. All rights -! reserved. -! Copyright (c) 2012 The University of Tennessee and The University -! of Tennessee Research Foundation. All rights -! reserved. -! Copyright (c) 2012 Inria. All rights reserved. -! Copyright (c) 2013-2018 Los Alamos National Security, LLC. All rights -! reserved. -! Copyright (c) 2015 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ - -interface MPI_Address - -subroutine MPI_Address(location, address, ierror) - @OMPI_FORTRAN_IGNORE_TKR_PREDECL@ location - @OMPI_FORTRAN_IGNORE_TKR_TYPE@, intent(in) :: location - integer, intent(out) :: address - integer, intent(out) :: ierror -end subroutine MPI_Address - -end interface - -interface PMPI_Address - -subroutine PMPI_Address(location, address, ierror) - @OMPI_FORTRAN_IGNORE_TKR_PREDECL@ location - @OMPI_FORTRAN_IGNORE_TKR_TYPE@, intent(in) :: location - integer, intent(out) :: address - integer, intent(out) :: ierror -end subroutine PMPI_Address - -end interface - -interface MPI_Attr_delete - -subroutine MPI_Attr_delete(comm, keyval, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(out) :: ierror -end subroutine MPI_Attr_delete - -end interface - -interface PMPI_Attr_delete - -subroutine PMPI_Attr_delete(comm, keyval, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(out) :: ierror -end subroutine PMPI_Attr_delete - -end interface - - -interface MPI_Attr_get - -subroutine MPI_Attr_get(comm, keyval, attribute_val, flag, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(out) :: attribute_val - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Attr_get - -end interface - -interface PMPI_Attr_get - -subroutine PMPI_Attr_get(comm, keyval, attribute_val, flag, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(out) :: attribute_val - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine PMPI_Attr_get - -end interface - - -interface MPI_Attr_put - -subroutine MPI_Attr_put(comm, keyval, attribute_val, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(in) :: attribute_val - integer, intent(out) :: ierror -end subroutine MPI_Attr_put - -end interface - -interface PMPI_Attr_put - -subroutine PMPI_Attr_put(comm, keyval, attribute_val, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(in) :: attribute_val - integer, intent(out) :: ierror -end subroutine PMPI_Attr_put - -end interface - -interface MPI_Errhandler_create - -subroutine MPI_Errhandler_create(function, errhandler, ierror) - external :: function - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Errhandler_create - -end interface - -interface PMPI_Errhandler_create - -subroutine PMPI_Errhandler_create(function, errhandler, ierror) - external :: function - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine PMPI_Errhandler_create - -end interface - -interface MPI_Errhandler_get - -subroutine MPI_Errhandler_get(comm, errhandler, ierror) - integer, intent(in) :: comm - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Errhandler_get - -end interface - -interface PMPI_Errhandler_get - -subroutine PMPI_Errhandler_get(comm, errhandler, ierror) - integer, intent(in) :: comm - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine PMPI_Errhandler_get - -end interface - - -interface MPI_Errhandler_set - -subroutine MPI_Errhandler_set(comm, errhandler, ierror) - integer, intent(in) :: comm - integer, intent(in) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Errhandler_set - -end interface - -interface PMPI_Errhandler_set - -subroutine PMPI_Errhandler_set(comm, errhandler, ierror) - integer, intent(in) :: comm - integer, intent(in) :: errhandler - integer, intent(out) :: ierror -end subroutine PMPI_Errhandler_set - -end interface - -interface MPI_Keyval_create - -subroutine MPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state, ierror) - external :: copy_fn - external :: delete_fn - integer, intent(out) :: keyval - integer, intent(in) :: extra_state - integer, intent(out) :: ierror -end subroutine MPI_Keyval_create - -end interface - -interface PMPI_Keyval_create - -subroutine PMPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state, ierror) - external :: copy_fn - external :: delete_fn - integer, intent(out) :: keyval - integer, intent(in) :: extra_state - integer, intent(out) :: ierror -end subroutine PMPI_Keyval_create - -end interface - - -interface MPI_Keyval_free - -subroutine MPI_Keyval_free(keyval, ierror) - integer, intent(inout) :: keyval - integer, intent(out) :: ierror -end subroutine MPI_Keyval_free - -end interface - -interface PMPI_Keyval_free - -subroutine PMPI_Keyval_free(keyval, ierror) - integer, intent(inout) :: keyval - integer, intent(out) :: ierror -end subroutine PMPI_Keyval_free - -end interface - -interface MPI_Type_extent - -subroutine MPI_Type_extent(datatype, extent, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: extent - integer, intent(out) :: ierror -end subroutine MPI_Type_extent - -end interface - -interface PMPI_Type_extent - -subroutine PMPI_Type_extent(datatype, extent, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: extent - integer, intent(out) :: ierror -end subroutine PMPI_Type_extent - -end interface - -interface MPI_Type_hindexed - -subroutine MPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer, dimension(*), intent(in) :: array_of_displacements - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_hindexed - -end interface - -interface PMPI_Type_hindexed - -subroutine PMPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer, dimension(*), intent(in) :: array_of_displacements - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine PMPI_Type_hindexed - -end interface - - -interface MPI_Type_hvector - -subroutine MPI_Type_hvector(count, blocklength, stride, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, intent(in) :: blocklength - integer, intent(in) :: stride - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_hvector - -end interface - -interface PMPI_Type_hvector - -subroutine PMPI_Type_hvector(count, blocklength, stride, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, intent(in) :: blocklength - integer, intent(in) :: stride - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine PMPI_Type_hvector - -end interface - -interface MPI_Type_lb - -subroutine MPI_Type_lb(datatype, lb, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: lb - integer, intent(out) :: ierror -end subroutine MPI_Type_lb - -end interface - -interface PMPI_Type_lb - -subroutine PMPI_Type_lb(datatype, lb, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: lb - integer, intent(out) :: ierror -end subroutine PMPI_Type_lb - -end interface - -interface MPI_Type_struct - -subroutine MPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype& - , ierror) - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer, dimension(*), intent(in) :: array_of_displacements - integer, dimension(*), intent(in) :: array_of_types - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_struct - -end interface - -interface PMPI_Type_struct - -subroutine PMPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype& - , ierror) - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer, dimension(*), intent(in) :: array_of_displacements - integer, dimension(*), intent(in) :: array_of_types - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine PMPI_Type_struct - -end interface - - -interface MPI_Type_ub - -subroutine MPI_Type_ub(datatype, ub, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: ub - integer, intent(out) :: ierror -end subroutine MPI_Type_ub - -end interface - -interface PMPI_Type_ub - -subroutine PMPI_Type_ub(datatype, ub, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: ub - integer, intent(out) :: ierror -end subroutine PMPI_Type_ub - -end interface diff --git a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-removed-interfaces.h b/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-removed-interfaces.h deleted file mode 100644 index 48ede9d15e8..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-removed-interfaces.h +++ /dev/null @@ -1,185 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2004-2006 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-2018 Cisco Systems, Inc. All rights reserved. -! Copyright (c) 2016 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! Copyright (c) 2018 Los Alamos National Security, LLC. All rights -! reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - -interface MPI_Attr_delete - -subroutine MPI_Attr_delete(comm, keyval, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(out) :: ierror -end subroutine MPI_Attr_delete - -end interface - - -interface MPI_Attr_get - -subroutine MPI_Attr_get(comm, keyval, attribute_val, flag, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(out) :: attribute_val - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine MPI_Attr_get - -end interface - - -interface MPI_Attr_put - -subroutine MPI_Attr_put(comm, keyval, attribute_val, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(in) :: attribute_val - integer, intent(out) :: ierror -end subroutine MPI_Attr_put - -end interface - -interface MPI_Errhandler_create - -subroutine MPI_Errhandler_create(function, errhandler, ierror) - external :: function - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Errhandler_create - -end interface - -interface MPI_Errhandler_get - -subroutine MPI_Errhandler_get(comm, errhandler, ierror) - integer, intent(in) :: comm - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Errhandler_get - -end interface - - -interface MPI_Errhandler_set - -subroutine MPI_Errhandler_set(comm, errhandler, ierror) - integer, intent(in) :: comm - integer, intent(in) :: errhandler - integer, intent(out) :: ierror -end subroutine MPI_Errhandler_set - -end interface - -interface MPI_Keyval_create - -subroutine MPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state, ierror) - external :: copy_fn - external :: delete_fn - integer, intent(out) :: keyval - integer, intent(in) :: extra_state - integer, intent(out) :: ierror -end subroutine MPI_Keyval_create - -end interface - - -interface MPI_Keyval_free - -subroutine MPI_Keyval_free(keyval, ierror) - integer, intent(inout) :: keyval - integer, intent(out) :: ierror -end subroutine MPI_Keyval_free - -end interface - -interface MPI_Type_extent - -subroutine MPI_Type_extent(datatype, extent, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: extent - integer, intent(out) :: ierror -end subroutine MPI_Type_extent - -end interface - -interface MPI_Type_hindexed - -subroutine MPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer, dimension(*), intent(in) :: array_of_displacements - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_hindexed - -end interface - - -interface MPI_Type_hvector - -subroutine MPI_Type_hvector(count, blocklength, stride, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, intent(in) :: blocklength - integer, intent(in) :: stride - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_hvector - -end interface - -interface MPI_Type_lb - -subroutine MPI_Type_lb(datatype, lb, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: lb - integer, intent(out) :: ierror -end subroutine MPI_Type_lb - -end interface - -interface MPI_Type_struct - -subroutine MPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype& - , ierror) - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer, dimension(*), intent(in) :: array_of_displacements - integer, dimension(*), intent(in) :: array_of_types - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine MPI_Type_struct - -end interface - - -interface MPI_Type_ub - -subroutine MPI_Type_ub(datatype, ub, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: ub - integer, intent(out) :: ierror -end subroutine MPI_Type_ub - -end interface diff --git a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-removed-interfaces.h b/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-removed-interfaces.h deleted file mode 100644 index ae7a65b390e..00000000000 --- a/ompi/mpi/fortran/use-mpi-tkr/pmpi-f90-removed-interfaces.h +++ /dev/null @@ -1,185 +0,0 @@ -! -*- fortran -*- -! -! Copyright (c) 2004-2006 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) 2016 Research Organization for Information Science -! and Technology (RIST). All rights reserved. -! Copyright (c) 2018 Los Alamos National Security, LLC. All rights -! reserved. -! $COPYRIGHT$ -! -! Additional copyrights may follow -! -! $HEADER$ -! - -interface PMPI_Attr_delete - -subroutine PMPI_Attr_delete(comm, keyval, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(out) :: ierror -end subroutine PMPI_Attr_delete - -end interface - - -interface PMPI_Attr_get - -subroutine PMPI_Attr_get(comm, keyval, attribute_val, flag, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(out) :: attribute_val - logical, intent(out) :: flag - integer, intent(out) :: ierror -end subroutine PMPI_Attr_get - -end interface - - -interface PMPI_Attr_put - -subroutine PMPI_Attr_put(comm, keyval, attribute_val, ierror) - integer, intent(in) :: comm - integer, intent(in) :: keyval - integer, intent(in) :: attribute_val - integer, intent(out) :: ierror -end subroutine PMPI_Attr_put - -end interface - -interface PMPI_Errhandler_create - -subroutine PMPI_Errhandler_create(function, errhandler, ierror) - external :: function - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine PMPI_Errhandler_create - -end interface - -interface PMPI_Errhandler_get - -subroutine PMPI_Errhandler_get(comm, errhandler, ierror) - integer, intent(in) :: comm - integer, intent(out) :: errhandler - integer, intent(out) :: ierror -end subroutine PMPI_Errhandler_get - -end interface - - -interface PMPI_Errhandler_set - -subroutine PMPI_Errhandler_set(comm, errhandler, ierror) - integer, intent(in) :: comm - integer, intent(in) :: errhandler - integer, intent(out) :: ierror -end subroutine PMPI_Errhandler_set - -end interface - -interface PMPI_Keyval_create - -subroutine PMPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state, ierror) - external :: copy_fn - external :: delete_fn - integer, intent(out) :: keyval - integer, intent(in) :: extra_state - integer, intent(out) :: ierror -end subroutine PMPI_Keyval_create - -end interface - - -interface PMPI_Keyval_free - -subroutine PMPI_Keyval_free(keyval, ierror) - integer, intent(inout) :: keyval - integer, intent(out) :: ierror -end subroutine PMPI_Keyval_free - -end interface - -interface PMPI_Type_extent - -subroutine PMPI_Type_extent(datatype, extent, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: extent - integer, intent(out) :: ierror -end subroutine PMPI_Type_extent - -end interface - -interface PMPI_Type_hindexed - -subroutine PMPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer, dimension(*), intent(in) :: array_of_displacements - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine PMPI_Type_hindexed - -end interface - - -interface PMPI_Type_hvector - -subroutine PMPI_Type_hvector(count, blocklength, stride, oldtype, newtype& - , ierror) - integer, intent(in) :: count - integer, intent(in) :: blocklength - integer, intent(in) :: stride - integer, intent(in) :: oldtype - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine PMPI_Type_hvector - -end interface - -interface PMPI_Type_lb - -subroutine PMPI_Type_lb(datatype, lb, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: lb - integer, intent(out) :: ierror -end subroutine PMPI_Type_lb - -end interface - -interface PMPI_Type_struct - -subroutine PMPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype& - , ierror) - integer, intent(in) :: count - integer, dimension(*), intent(in) :: array_of_blocklengths - integer, dimension(*), intent(in) :: array_of_displacements - integer, dimension(*), intent(in) :: array_of_types - integer, intent(out) :: newtype - integer, intent(out) :: ierror -end subroutine PMPI_Type_struct - -end interface - - -interface PMPI_Type_ub - -subroutine PMPI_Type_ub(datatype, ub, ierror) - integer, intent(in) :: datatype - integer, intent(out) :: ub - integer, intent(out) :: ierror -end subroutine PMPI_Type_ub - -end interface From 6d823b3bd33e2192d87f2f89272275db4576f491 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Tue, 30 Apr 2019 11:42:11 +0900 Subject: [PATCH 02/13] fortran: remove all references to MPI_Address (removed in MPI 3.0) Signed-off-by: Gilles Gouaillardet --- ompi/mpi/fortran/mpif-h/address_f.c | 80 ------------------------ ompi/mpi/fortran/mpif-h/prototypes_mpi.h | 5 +- 2 files changed, 2 insertions(+), 83 deletions(-) delete mode 100644 ompi/mpi/fortran/mpif-h/address_f.c diff --git a/ompi/mpi/fortran/mpif-h/address_f.c b/ompi/mpi/fortran/mpif-h/address_f.c deleted file mode 100644 index 85d1369ae2d..00000000000 --- a/ompi/mpi/fortran/mpif-h/address_f.c +++ /dev/null @@ -1,80 +0,0 @@ -/* - * 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 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" - -#if OMPI_BUILD_MPI_PROFILING -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak PMPI_ADDRESS = ompi_address_f -#pragma weak pmpi_address = ompi_address_f -#pragma weak pmpi_address_ = ompi_address_f -#pragma weak pmpi_address__ = ompi_address_f - -#pragma weak PMPI_Address_f = ompi_address_f -#pragma weak PMPI_Address_f08 = ompi_address_f -#else -OMPI_GENERATE_F77_BINDINGS (PMPI_ADDRESS, - pmpi_address, - pmpi_address_, - pmpi_address__, - pompi_address_f, - (char *location, MPI_Fint *address, MPI_Fint *ierr), - (location, address, ierr) ) -#endif -#endif - -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak MPI_ADDRESS = ompi_address_f -#pragma weak mpi_address = ompi_address_f -#pragma weak mpi_address_ = ompi_address_f -#pragma weak mpi_address__ = ompi_address_f - -#pragma weak MPI_Address_f = ompi_address_f -#pragma weak MPI_Address_f08 = ompi_address_f -#else -#if ! OMPI_BUILD_MPI_PROFILING -OMPI_GENERATE_F77_BINDINGS (MPI_ADDRESS, - mpi_address, - mpi_address_, - mpi_address__, - ompi_address_f, - (char *location, MPI_Fint *address, MPI_Fint *ierr), - (location, address, ierr) ) -#else -#define ompi_address_f pompi_address_f -#endif -#endif - - -void ompi_address_f(char *location, MPI_Fint *address, MPI_Fint *ierr) -{ - int ierr_c; - MPI_Aint addr; - - ierr_c = PMPI_Address(location, &addr); - if (NULL != ierr) *ierr = OMPI_INT_2_FINT(ierr_c); - - if (MPI_SUCCESS == ierr_c) { - *address = (MPI_Fint) addr; - } -} diff --git a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h index 6a664e9bd2f..2a13456dab3 100644 --- a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h +++ b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h @@ -14,8 +14,8 @@ * Copyright (c) 2011-2013 Universite Bordeaux 1 * Copyright (c) 2013-2015 Los Alamos National Security, LLC. 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$ * * Additional copyrights may follow @@ -86,7 +86,6 @@ PN2(void, MPI_Accumulate, mpi_accumulate, MPI_ACCUMULATE, (char *origin_addr, MP PN2(void, MPI_Add_error_class, mpi_add_error_class, MPI_ADD_ERROR_CLASS, (MPI_Fint *errorclass, MPI_Fint *ierr)); PN2(void, MPI_Add_error_code, mpi_add_error_code, MPI_ADD_ERROR_CODE, (MPI_Fint *errorclass, MPI_Fint *errorcode, MPI_Fint *ierr)); PN2(void, MPI_Add_error_string, mpi_add_error_string, MPI_ADD_ERROR_STRING, (MPI_Fint *errorcode, char *string, MPI_Fint *ierr, int l)); -PN2(void, MPI_Address, mpi_address, MPI_ADDRESS, (char *location, MPI_Fint *address, MPI_Fint *ierr)); PN2(MPI_Aint, MPI_Aint_add, mpi_aint_add, MPI_AINT_ADD, (MPI_Aint *base, MPI_Aint *diff)); PN2(MPI_Aint, MPI_Aint_diff, mpi_aint_diff, MPI_AINT_DIFF, (MPI_Aint *addr1, MPI_Aint *addr2)); PN2(void, MPI_Allgather, mpi_allgather, MPI_ALLGATHER, (char *sendbuf, MPI_Fint *sendcount, MPI_Fint *sendtype, char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, MPI_Fint *comm, MPI_Fint *ierr)); From 06bf36d33bd728a1d3c15bceb50f0bf9458a19d6 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Tue, 30 Apr 2019 11:49:21 +0900 Subject: [PATCH 03/13] fortran: remove all references to MPI_Errhandler_create (removed in MPI 3.0) Signed-off-by: Gilles Gouaillardet --- .../io/romio321/romio/adio/include/mpipr.h | 2 - ompi/mpi/fortran/mpif-h/errhandler_create_f.c | 73 ------------------- ompi/mpi/fortran/mpif-h/prototypes_mpi.h | 1 - .../man/man3/MPI_Comm_create_errhandler.3in | 2 +- 4 files changed, 1 insertion(+), 77 deletions(-) delete mode 100644 ompi/mpi/fortran/mpif-h/errhandler_create_f.c diff --git a/ompi/mca/io/romio321/romio/adio/include/mpipr.h b/ompi/mca/io/romio321/romio/adio/include/mpipr.h index 8b86c4cfe13..b4d5da429b5 100644 --- a/ompi/mca/io/romio321/romio/adio/include/mpipr.h +++ b/ompi/mca/io/romio321/romio/adio/include/mpipr.h @@ -90,8 +90,6 @@ #define MPI_Comm_test_inter PMPI_Comm_test_inter #undef MPI_Dims_create #define MPI_Dims_create PMPI_Dims_create -#undef MPI_Errhandler_create -#define MPI_Errhandler_create PMPI_Errhandler_create #undef MPI_Errhandler_free #define MPI_Errhandler_free PMPI_Errhandler_free #undef MPI_Errhandler_get diff --git a/ompi/mpi/fortran/mpif-h/errhandler_create_f.c b/ompi/mpi/fortran/mpif-h/errhandler_create_f.c deleted file mode 100644 index 9805f652806..00000000000 --- a/ompi/mpi/fortran/mpif-h/errhandler_create_f.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * 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) 2008-2012 Cisco Systems, Inc. All rights reserved. - * Copyright (c) 2015 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/errhandler/errhandler.h" - -#if OMPI_BUILD_MPI_PROFILING -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak PMPI_ERRHANDLER_CREATE = ompi_errhandler_create_f -#pragma weak pmpi_errhandler_create = ompi_errhandler_create_f -#pragma weak pmpi_errhandler_create_ = ompi_errhandler_create_f -#pragma weak pmpi_errhandler_create__ = ompi_errhandler_create_f - -#pragma weak PMPI_Errhandler_create_f = ompi_errhandler_create_f -#pragma weak PMPI_Errhandler_create_f08 = ompi_errhandler_create_f -#else -OMPI_GENERATE_F77_BINDINGS (PMPI_ERRHANDLER_CREATE, - pmpi_errhandler_create, - pmpi_errhandler_create_, - pmpi_errhandler_create__, - pompi_errhandler_create_f, - (ompi_errhandler_fortran_handler_fn_t* function, MPI_Fint *errhandler, MPI_Fint *ierr), - (function, errhandler, ierr) ) -#endif -#endif - -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak MPI_ERRHANDLER_CREATE = ompi_errhandler_create_f -#pragma weak mpi_errhandler_create = ompi_errhandler_create_f -#pragma weak mpi_errhandler_create_ = ompi_errhandler_create_f -#pragma weak mpi_errhandler_create__ = ompi_errhandler_create_f - -#pragma weak MPI_Errhandler_create_f = ompi_errhandler_create_f -#pragma weak MPI_Errhandler_create_f08 = ompi_errhandler_create_f -#else -#if ! OMPI_BUILD_MPI_PROFILING -OMPI_GENERATE_F77_BINDINGS (MPI_ERRHANDLER_CREATE, - mpi_errhandler_create, - mpi_errhandler_create_, - mpi_errhandler_create__, - ompi_errhandler_create_f, - (ompi_errhandler_fortran_handler_fn_t* function, MPI_Fint *errhandler, MPI_Fint *ierr), - (function, errhandler, ierr) ) -#else -#define ompi_errhandler_create_f pompi_errhandler_create_f -#endif -#endif - -void ompi_errhandler_create_f(ompi_errhandler_fortran_handler_fn_t* function, - MPI_Fint *errhandler, MPI_Fint *ierr) -{ - ompi_comm_create_errhandler_f(function, errhandler, ierr); -} diff --git a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h index 2a13456dab3..581fd8c1c41 100644 --- a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h +++ b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h @@ -157,7 +157,6 @@ PN2(void, MPI_Dist_graph_create, mpi_dist_graph_create, MPI_DIST_GRAPH_CREATE, ( PN2(void, MPI_Dist_graph_create_adjacent, mpi_dist_graph_create_adjacent, MPI_DIST_GRAPH_CREATE_ADJACENT, (MPI_Fint *comm_old, MPI_Fint *indegree, MPI_Fint *sources, MPI_Fint *sourceweights, MPI_Fint *outdegree, MPI_Fint *destinations, MPI_Fint *destweights, MPI_Fint *info, ompi_fortran_logical_t *reorder, MPI_Fint *comm_graph, MPI_Fint *ierr)); PN2(void, MPI_Dist_graph_neighbors, mpi_dist_graph_neighbors, MPI_DIST_GRAPH_NEIGHBORS, (MPI_Fint* comm, MPI_Fint* maxindegree, MPI_Fint* sources, MPI_Fint* sourceweights, MPI_Fint* maxoutdegree, MPI_Fint* destinations, MPI_Fint* destweights, MPI_Fint *ierr)); PN2(void, MPI_Dist_graph_neighbors_count, mpi_dist_graph_neighbors_count, MPI_DIST_GRAPH_NEIGHBORS_COUNT, (MPI_Fint *comm, MPI_Fint *inneighbors, MPI_Fint *outneighbors, ompi_fortran_logical_t *weighted, MPI_Fint *ierr)); -PN2(void, MPI_Errhandler_create, mpi_errhandler_create, MPI_ERRHANDLER_CREATE, (ompi_errhandler_fortran_handler_fn_t* function, MPI_Fint *errhandler, MPI_Fint *ierr)); PN2(void, MPI_Errhandler_free, mpi_errhandler_free, MPI_ERRHANDLER_FREE, (MPI_Fint *errhandler, MPI_Fint *ierr)); PN2(void, MPI_Errhandler_get, mpi_errhandler_get, MPI_ERRHANDLER_GET, (MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr)); PN2(void, MPI_Errhandler_set, mpi_errhandler_set, MPI_ERRHANDLER_SET, (MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr)); diff --git a/ompi/mpi/man/man3/MPI_Comm_create_errhandler.3in b/ompi/mpi/man/man3/MPI_Comm_create_errhandler.3in index 23c122d4411..01988b35965 100644 --- a/ompi/mpi/man/man3/MPI_Comm_create_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_Comm_create_errhandler.3in @@ -68,7 +68,7 @@ Fortran only: Error status (integer). .SH DESCRIPTION .ft R -MPI_Comm_create_errhandler creates an error handler that can be attached to communicators. This function is identical to MPI_Errhandler_create, the use of which is deprecated. +MPI_Comm_create_errhandler creates an error handler that can be attached to communicators. .sp In C, the user routine should be a function of type MPI_Comm_errhandler_function, which is defined as .sp From 88ebb370c22c022d921f7a0c93312e3f9bc6bacd Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Tue, 30 Apr 2019 11:53:16 +0900 Subject: [PATCH 04/13] fortran: remove all references to MPI_Errhandler_get (removed in MPI 3.0) Signed-off-by: Gilles Gouaillardet --- .../io/romio321/romio/adio/include/mpipr.h | 2 - .../romio/mpi-io/glue/default/mpio_err.c | 2 +- ompi/mpi/fortran/mpif-h/errhandler_get_f.c | 84 ------------------- ompi/mpi/fortran/mpif-h/prototypes_mpi.h | 1 - ompi/mpi/man/man3/MPI_Comm_get_errhandler.3in | 2 +- 5 files changed, 2 insertions(+), 89 deletions(-) delete mode 100644 ompi/mpi/fortran/mpif-h/errhandler_get_f.c diff --git a/ompi/mca/io/romio321/romio/adio/include/mpipr.h b/ompi/mca/io/romio321/romio/adio/include/mpipr.h index b4d5da429b5..0ca4e0a1c2d 100644 --- a/ompi/mca/io/romio321/romio/adio/include/mpipr.h +++ b/ompi/mca/io/romio321/romio/adio/include/mpipr.h @@ -92,8 +92,6 @@ #define MPI_Dims_create PMPI_Dims_create #undef MPI_Errhandler_free #define MPI_Errhandler_free PMPI_Errhandler_free -#undef MPI_Errhandler_get -#define MPI_Errhandler_get PMPI_Errhandler_get #undef MPI_Errhandler_set #define MPI_Errhandler_set PMPI_Errhandler_set #undef MPI_Error_class diff --git a/ompi/mca/io/romio321/romio/mpi-io/glue/default/mpio_err.c b/ompi/mca/io/romio321/romio/mpi-io/glue/default/mpio_err.c index 880de9077a6..15d5d148297 100644 --- a/ompi/mca/io/romio321/romio/mpi-io/glue/default/mpio_err.c +++ b/ompi/mca/io/romio321/romio/mpi-io/glue/default/mpio_err.c @@ -76,7 +76,7 @@ int MPIO_Err_return_comm(MPI_Comm mpi_comm, int error_code) { MPI_Errhandler errh; - MPI_Errhandler_get(mpi_comm, &errh); + MPI_Comm_get_errhandler(mpi_comm, &errh); if (errh == MPI_ERRORS_ARE_FATAL || errh != MPI_ERRORS_RETURN) diff --git a/ompi/mpi/fortran/mpif-h/errhandler_get_f.c b/ompi/mpi/fortran/mpif-h/errhandler_get_f.c deleted file mode 100644 index 5ca661aa10d..00000000000 --- a/ompi/mpi/fortran/mpif-h/errhandler_get_f.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * 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 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" - -#if OMPI_BUILD_MPI_PROFILING -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak PMPI_ERRHANDLER_GET = ompi_errhandler_get_f -#pragma weak pmpi_errhandler_get = ompi_errhandler_get_f -#pragma weak pmpi_errhandler_get_ = ompi_errhandler_get_f -#pragma weak pmpi_errhandler_get__ = ompi_errhandler_get_f - -#pragma weak PMPI_Errhandler_get_f = ompi_errhandler_get_f -#pragma weak PMPI_Errhandler_get_f08 = ompi_errhandler_get_f -#else -OMPI_GENERATE_F77_BINDINGS (PMPI_ERRHANDLER_GET, - pmpi_errhandler_get, - pmpi_errhandler_get_, - pmpi_errhandler_get__, - pompi_errhandler_get_f, - (MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr), - (comm, errhandler, ierr) ) -#endif -#endif - -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak MPI_ERRHANDLER_GET = ompi_errhandler_get_f -#pragma weak mpi_errhandler_get = ompi_errhandler_get_f -#pragma weak mpi_errhandler_get_ = ompi_errhandler_get_f -#pragma weak mpi_errhandler_get__ = ompi_errhandler_get_f - -#pragma weak MPI_Errhandler_get_f = ompi_errhandler_get_f -#pragma weak MPI_Errhandler_get_f08 = ompi_errhandler_get_f -#else -#if ! OMPI_BUILD_MPI_PROFILING -OMPI_GENERATE_F77_BINDINGS (MPI_ERRHANDLER_GET, - mpi_errhandler_get, - mpi_errhandler_get_, - mpi_errhandler_get__, - ompi_errhandler_get_f, - (MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr), - (comm, errhandler, ierr) ) -#else -#define ompi_errhandler_get_f pompi_errhandler_get_f -#endif -#endif - - -void ompi_errhandler_get_f(MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr) -{ - int c_ierr; - MPI_Comm c_comm; - MPI_Errhandler c_errhandler; - - c_comm = PMPI_Comm_f2c(*comm); - - c_ierr = PMPI_Errhandler_get(c_comm, &c_errhandler); - if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); - - if (MPI_SUCCESS == c_ierr) { - *errhandler = PMPI_Errhandler_c2f(c_errhandler); - } -} - diff --git a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h index 581fd8c1c41..4720b1c4ae5 100644 --- a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h +++ b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h @@ -158,7 +158,6 @@ PN2(void, MPI_Dist_graph_create_adjacent, mpi_dist_graph_create_adjacent, MPI_DI PN2(void, MPI_Dist_graph_neighbors, mpi_dist_graph_neighbors, MPI_DIST_GRAPH_NEIGHBORS, (MPI_Fint* comm, MPI_Fint* maxindegree, MPI_Fint* sources, MPI_Fint* sourceweights, MPI_Fint* maxoutdegree, MPI_Fint* destinations, MPI_Fint* destweights, MPI_Fint *ierr)); PN2(void, MPI_Dist_graph_neighbors_count, mpi_dist_graph_neighbors_count, MPI_DIST_GRAPH_NEIGHBORS_COUNT, (MPI_Fint *comm, MPI_Fint *inneighbors, MPI_Fint *outneighbors, ompi_fortran_logical_t *weighted, MPI_Fint *ierr)); PN2(void, MPI_Errhandler_free, mpi_errhandler_free, MPI_ERRHANDLER_FREE, (MPI_Fint *errhandler, MPI_Fint *ierr)); -PN2(void, MPI_Errhandler_get, mpi_errhandler_get, MPI_ERRHANDLER_GET, (MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr)); PN2(void, MPI_Errhandler_set, mpi_errhandler_set, MPI_ERRHANDLER_SET, (MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr)); PN2(void, MPI_Error_class, mpi_error_class, MPI_ERROR_CLASS, (MPI_Fint *errorcode, MPI_Fint *errorclass, MPI_Fint *ierr)); PN2(void, MPI_Error_string, mpi_error_string, MPI_ERROR_STRING, (MPI_Fint *errorcode, char *string, MPI_Fint *resultlen, MPI_Fint *ierr, int string_len)); diff --git a/ompi/mpi/man/man3/MPI_Comm_get_errhandler.3in b/ompi/mpi/man/man3/MPI_Comm_get_errhandler.3in index 6d3ccf2d3ab..59ef3984832 100644 --- a/ompi/mpi/man/man3/MPI_Comm_get_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_Comm_get_errhandler.3in @@ -57,7 +57,7 @@ Fortran only: Error status (integer). .SH DESCRIPTION .ft R -MPI_Comm_get_errhandler retrieves the error handler currently associated with a communicator. This call is identical to MPI_Errhandler_get, the use of which is deprecated. +MPI_Comm_get_errhandler retrieves the error handler currently associated with a communicator. .SH ERRORS Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. From 5eed846cfc327c8e8e0e2d292b5e642c155e2b75 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Tue, 30 Apr 2019 11:55:57 +0900 Subject: [PATCH 05/13] fortran: remove all references to MPI_Errhandler_set (removed in MPI 3.0) Signed-off-by: Gilles Gouaillardet --- .../io/romio321/romio/adio/include/mpipr.h | 2 - ompi/mpi/fortran/mpif-h/errhandler_set_f.c | 81 ------------------- ompi/mpi/fortran/mpif-h/prototypes_mpi.h | 1 - ompi/mpi/man/man3/MPI_Comm_set_errhandler.3in | 2 +- 4 files changed, 1 insertion(+), 85 deletions(-) delete mode 100644 ompi/mpi/fortran/mpif-h/errhandler_set_f.c diff --git a/ompi/mca/io/romio321/romio/adio/include/mpipr.h b/ompi/mca/io/romio321/romio/adio/include/mpipr.h index 0ca4e0a1c2d..1f1f8a601f1 100644 --- a/ompi/mca/io/romio321/romio/adio/include/mpipr.h +++ b/ompi/mca/io/romio321/romio/adio/include/mpipr.h @@ -92,8 +92,6 @@ #define MPI_Dims_create PMPI_Dims_create #undef MPI_Errhandler_free #define MPI_Errhandler_free PMPI_Errhandler_free -#undef MPI_Errhandler_set -#define MPI_Errhandler_set PMPI_Errhandler_set #undef MPI_Error_class #define MPI_Error_class PMPI_Error_class #undef MPI_Error_string diff --git a/ompi/mpi/fortran/mpif-h/errhandler_set_f.c b/ompi/mpi/fortran/mpif-h/errhandler_set_f.c deleted file mode 100644 index d6ea8a94b32..00000000000 --- a/ompi/mpi/fortran/mpif-h/errhandler_set_f.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * 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) 2008-2012 Cisco Systems, Inc. All rights reserved. - * Copyright (c) 2015 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/errhandler/errhandler.h" - -#if OMPI_BUILD_MPI_PROFILING -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak PMPI_ERRHANDLER_SET = ompi_errhandler_set_f -#pragma weak pmpi_errhandler_set = ompi_errhandler_set_f -#pragma weak pmpi_errhandler_set_ = ompi_errhandler_set_f -#pragma weak pmpi_errhandler_set__ = ompi_errhandler_set_f - -#pragma weak PMPI_Errhandler_set_f = ompi_errhandler_set_f -#pragma weak PMPI_Errhandler_set_f08 = ompi_errhandler_set_f -#else -OMPI_GENERATE_F77_BINDINGS (PMPI_ERRHANDLER_SET, - pmpi_errhandler_set, - pmpi_errhandler_set_, - pmpi_errhandler_set__, - pompi_errhandler_set_f, - (MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr), - (comm, errhandler, ierr) ) -#endif -#endif - -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak MPI_ERRHANDLER_SET = ompi_errhandler_set_f -#pragma weak mpi_errhandler_set = ompi_errhandler_set_f -#pragma weak mpi_errhandler_set_ = ompi_errhandler_set_f -#pragma weak mpi_errhandler_set__ = ompi_errhandler_set_f - -#pragma weak MPI_Errhandler_set_f = ompi_errhandler_set_f -#pragma weak MPI_Errhandler_set_f08 = ompi_errhandler_set_f -#else -#if ! OMPI_BUILD_MPI_PROFILING -OMPI_GENERATE_F77_BINDINGS (MPI_ERRHANDLER_SET, - mpi_errhandler_set, - mpi_errhandler_set_, - mpi_errhandler_set__, - ompi_errhandler_set_f, - (MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr), - (comm, errhandler, ierr) ) -#else -#define ompi_errhandler_set_f pompi_errhandler_set_f -#endif -#endif - - -void ompi_errhandler_set_f(MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr) -{ - int c_ierr; - MPI_Comm c_comm; - MPI_Errhandler c_errhandler; - - c_comm = PMPI_Comm_f2c(*comm); - c_errhandler = PMPI_Errhandler_f2c(*errhandler); - - c_ierr = PMPI_Errhandler_set(c_comm, c_errhandler); - if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); -} diff --git a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h index 4720b1c4ae5..0e337b3e12f 100644 --- a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h +++ b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h @@ -158,7 +158,6 @@ PN2(void, MPI_Dist_graph_create_adjacent, mpi_dist_graph_create_adjacent, MPI_DI PN2(void, MPI_Dist_graph_neighbors, mpi_dist_graph_neighbors, MPI_DIST_GRAPH_NEIGHBORS, (MPI_Fint* comm, MPI_Fint* maxindegree, MPI_Fint* sources, MPI_Fint* sourceweights, MPI_Fint* maxoutdegree, MPI_Fint* destinations, MPI_Fint* destweights, MPI_Fint *ierr)); PN2(void, MPI_Dist_graph_neighbors_count, mpi_dist_graph_neighbors_count, MPI_DIST_GRAPH_NEIGHBORS_COUNT, (MPI_Fint *comm, MPI_Fint *inneighbors, MPI_Fint *outneighbors, ompi_fortran_logical_t *weighted, MPI_Fint *ierr)); PN2(void, MPI_Errhandler_free, mpi_errhandler_free, MPI_ERRHANDLER_FREE, (MPI_Fint *errhandler, MPI_Fint *ierr)); -PN2(void, MPI_Errhandler_set, mpi_errhandler_set, MPI_ERRHANDLER_SET, (MPI_Fint *comm, MPI_Fint *errhandler, MPI_Fint *ierr)); PN2(void, MPI_Error_class, mpi_error_class, MPI_ERROR_CLASS, (MPI_Fint *errorcode, MPI_Fint *errorclass, MPI_Fint *ierr)); PN2(void, MPI_Error_string, mpi_error_string, MPI_ERROR_STRING, (MPI_Fint *errorcode, char *string, MPI_Fint *resultlen, MPI_Fint *ierr, int string_len)); PN2(void, MPI_Exscan, mpi_exscan, MPI_EXSCAN, (char *sendbuf, char *recvbuf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *op, MPI_Fint *comm, MPI_Fint *ierr)); diff --git a/ompi/mpi/man/man3/MPI_Comm_set_errhandler.3in b/ompi/mpi/man/man3/MPI_Comm_set_errhandler.3in index 4ca4030dd52..d2bc6e72524 100644 --- a/ompi/mpi/man/man3/MPI_Comm_set_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_Comm_set_errhandler.3in @@ -57,7 +57,7 @@ Fortran only: Error status (integer). .SH DESCRIPTION .ft R -MPI_Comm_set_errhandler attaches a new error handler to a communicator. The error handler must be either a predefined error handler or an error handler created by a call to MPI_Comm_create_errhandler. This call is identical to MPI_Errhandler_set, the use of which is deprecated. +MPI_Comm_set_errhandler attaches a new error handler to a communicator. The error handler must be either a predefined error handler or an error handler created by a call to MPI_Comm_create_errhandler. .SH ERRORS Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. From f1c8e160c6dc7cdbf873bb474d6ae50a214b573c Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Tue, 30 Apr 2019 13:09:49 +0900 Subject: [PATCH 06/13] fortran: remove all references to MPI_Type_extent (removed in MPI 3.0) Signed-off-by: Gilles Gouaillardet --- ompi/mca/coll/libnbc/nbc_internal.h | 4 +- .../io/romio321/romio/adio/include/adioi.h | 2 +- ompi/mpi/fortran/mpif-h/prototypes_mpi.h | 1 - ompi/mpi/fortran/mpif-h/type_extent_f.c | 81 ------------------- ompi/mpi/man/man3/MPI_Gather.3in | 2 +- ompi/mpi/man/man3/MPI_Type_create_resized.3in | 4 - ompi/mpi/man/man3/MPI_Type_get_extent.3in | 4 - 7 files changed, 4 insertions(+), 94 deletions(-) delete mode 100644 ompi/mpi/fortran/mpif-h/type_extent_f.c diff --git a/ompi/mca/coll/libnbc/nbc_internal.h b/ompi/mca/coll/libnbc/nbc_internal.h index 735beaa06e2..edfafd216b4 100644 --- a/ompi/mca/coll/libnbc/nbc_internal.h +++ b/ompi/mca/coll/libnbc/nbc_internal.h @@ -10,7 +10,7 @@ * * Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014 NVIDIA Corporation. All rights reserved. - * Copyright (c) 2015-2018 Research Organization for Information Science + * Copyright (c) 2015-2019 Research Organization for Information Science * and Technology (RIST). All rights reserved. * Copyright (c) 2015 Los Alamos National Security, LLC. All rights * reserved. @@ -530,7 +530,7 @@ static inline int NBC_Unpack(void *src, int srccount, MPI_Datatype srctype, void * types are contiguous), we can just use a single memcpy */ res = ompi_datatype_get_extent (srctype, &lb, &ext); if (OMPI_SUCCESS != res) { - NBC_Error ("MPI Error in MPI_Type_extent() (%i)", res); + NBC_Error ("MPI Error in MPI_Type_get_extent() (%i)", res); return res; } diff --git a/ompi/mca/io/romio321/romio/adio/include/adioi.h b/ompi/mca/io/romio321/romio/adio/include/adioi.h index 5656f10bae7..35e079fef4f 100644 --- a/ompi/mca/io/romio321/romio/adio/include/adioi.h +++ b/ompi/mca/io/romio321/romio/adio/include/adioi.h @@ -624,7 +624,7 @@ typedef struct view_state ADIO_Offset disp; /* file view params*/ ADIO_Offset byte_off; ADIO_Offset sz; - ADIO_Offset ext; /* preserved extent from MPI_Type_extent */ + ADIO_Offset ext; /* preserved extent from MPI_Type_get_extent */ ADIO_Offset type_sz; /* Current state */ diff --git a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h index 0e337b3e12f..f530a5ae316 100644 --- a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h +++ b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h @@ -375,7 +375,6 @@ PN2(void, MPI_Type_create_subarray, mpi_type_create_subarray, MPI_TYPE_CREATE_SU PN2(void, MPI_Type_create_resized, mpi_type_create_resized, MPI_TYPE_CREATE_RESIZED, (MPI_Fint *oldtype, MPI_Aint *lb, MPI_Aint *extent, MPI_Fint *newtype, MPI_Fint *ierr)); PN2(void, MPI_Type_delete_attr, mpi_type_delete_attr, MPI_TYPE_DELETE_ATTR, (MPI_Fint *type, MPI_Fint *type_keyval, MPI_Fint *ierr)); PN2(void, MPI_Type_dup, mpi_type_dup, MPI_TYPE_DUP, (MPI_Fint *type, MPI_Fint *newtype, MPI_Fint *ierr)); -PN2(void, MPI_Type_extent, mpi_type_extent, MPI_TYPE_EXTENT, (MPI_Fint *type, MPI_Fint *extent, MPI_Fint *ierr)); PN2(void, MPI_Type_free, mpi_type_free, MPI_TYPE_FREE, (MPI_Fint *type, MPI_Fint *ierr)); PN2(void, MPI_Type_free_keyval, mpi_type_free_keyval, MPI_TYPE_FREE_KEYVAL, (MPI_Fint *type_keyval, MPI_Fint *ierr)); PN2(void, MPI_Type_get_attr, mpi_type_get_attr, MPI_TYPE_GET_ATTR, (MPI_Fint *type, MPI_Fint *type_keyval, MPI_Aint *attribute_val, ompi_fortran_logical_t *flag, MPI_Fint *ierr)); diff --git a/ompi/mpi/fortran/mpif-h/type_extent_f.c b/ompi/mpi/fortran/mpif-h/type_extent_f.c deleted file mode 100644 index a2baf215a6b..00000000000 --- a/ompi/mpi/fortran/mpif-h/type_extent_f.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * 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 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" - -#if OMPI_BUILD_MPI_PROFILING -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak PMPI_TYPE_EXTENT = ompi_type_extent_f -#pragma weak pmpi_type_extent = ompi_type_extent_f -#pragma weak pmpi_type_extent_ = ompi_type_extent_f -#pragma weak pmpi_type_extent__ = ompi_type_extent_f - -#pragma weak PMPI_Type_extent_f = ompi_type_extent_f -#pragma weak PMPI_Type_extent_f08 = ompi_type_extent_f -#else -OMPI_GENERATE_F77_BINDINGS (PMPI_TYPE_EXTENT, - pmpi_type_extent, - pmpi_type_extent_, - pmpi_type_extent__, - pompi_type_extent_f, - (MPI_Fint *type, MPI_Fint *extent, MPI_Fint *ierr), - (type, extent, ierr) ) -#endif -#endif - -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak MPI_TYPE_EXTENT = ompi_type_extent_f -#pragma weak mpi_type_extent = ompi_type_extent_f -#pragma weak mpi_type_extent_ = ompi_type_extent_f -#pragma weak mpi_type_extent__ = ompi_type_extent_f - -#pragma weak MPI_Type_extent_f = ompi_type_extent_f -#pragma weak MPI_Type_extent_f08 = ompi_type_extent_f -#else -#if ! OMPI_BUILD_MPI_PROFILING -OMPI_GENERATE_F77_BINDINGS (MPI_TYPE_EXTENT, - mpi_type_extent, - mpi_type_extent_, - mpi_type_extent__, - ompi_type_extent_f, - (MPI_Fint *type, MPI_Fint *extent, MPI_Fint *ierr), - (type, extent, ierr) ) -#else -#define ompi_type_extent_f pompi_type_extent_f -#endif -#endif - - -void ompi_type_extent_f(MPI_Fint *type, MPI_Fint *extent, MPI_Fint *ierr) -{ - int c_ierr; - MPI_Datatype c_type = PMPI_Type_f2c(*type); - MPI_Aint c_extent; - - c_ierr = PMPI_Type_extent(c_type, &c_extent); - if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); - - if (MPI_SUCCESS == c_ierr) { - *extent = (MPI_Fint)c_extent; - } -} diff --git a/ompi/mpi/man/man3/MPI_Gather.3in b/ompi/mpi/man/man3/MPI_Gather.3in index ecc8ab2712c..3c39a9d4322 100644 --- a/ompi/mpi/man/man3/MPI_Gather.3in +++ b/ompi/mpi/man/man3/MPI_Gather.3in @@ -123,7 +123,7 @@ and the root had executed n calls to recvcount, recvtype, i, \&...) .fi .sp -where extent(recvtype) is the type extent obtained from a call to MPI_Type_extent(). +where extent(recvtype) is the type extent obtained from a call to MPI_Type_get_extent(). .sp An alternative description is that the n messages sent by the processes in the group are concatenated in rank order, and the resulting message is received by the root as if by a call to MPI_RECV(recvbuf, recvcount * n, recvtype, . . . ). .sp diff --git a/ompi/mpi/man/man3/MPI_Type_create_resized.3in b/ompi/mpi/man/man3/MPI_Type_create_resized.3in index 9f01980b875..c40da43e72e 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_resized.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_resized.3in @@ -82,10 +82,6 @@ or where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. -.SH NOTE -.ft R -Use of MPI_Type_create_resized is strongly recommended over the old MPI-1 functions MPI_Type_extent and MPI_Type_lb. - .SH ERRORS Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. .sp diff --git a/ompi/mpi/man/man3/MPI_Type_get_extent.3in b/ompi/mpi/man/man3/MPI_Type_get_extent.3in index f629c59f6d5..5ae64835ebb 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_extent.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_extent.3in @@ -74,10 +74,6 @@ Fortran only: Error status (integer). .ft R MPI_Type_get_extent returns the lower bound and the extent of \fIdatatype\fP. For either function, if either the \fIlb\fP or \fIextent\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. -.SH NOTE -.ft R -Use of MPI_Type_get_extent is strongly recommended over the old MPI-1 functions MPI_Type_extent and MPI_Type_lb. - .SH FORTRAN 77 NOTES .ft R The MPI standard prescribes portable Fortran syntax for From f0b75239ed4576821d8a5afebda3beefda7740ac Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Tue, 30 Apr 2019 13:14:11 +0900 Subject: [PATCH 07/13] fortran: remove all references to MPI_Type_hindexed (removed in MPI 3.0) Signed-off-by: Gilles Gouaillardet --- .../io/romio321/romio/test/types_with_zeros.c | 2 +- ompi/mpi/fortran/mpif-h/prototypes_mpi.h | 1 - ompi/mpi/fortran/mpif-h/type_hindexed_f.c | 108 ------------------ ompi/mpi/man/man3/MPI_Type_get_envelope.3in | 2 +- ompi/mpi/man/man3/MPI_Type_indexed.3in | 2 +- 5 files changed, 3 insertions(+), 112 deletions(-) delete mode 100644 ompi/mpi/fortran/mpif-h/type_hindexed_f.c diff --git a/ompi/mca/io/romio321/romio/test/types_with_zeros.c b/ompi/mca/io/romio321/romio/test/types_with_zeros.c index e2f7799605b..ace887c605a 100644 --- a/ompi/mca/io/romio321/romio/test/types_with_zeros.c +++ b/ompi/mca/io/romio321/romio/test/types_with_zeros.c @@ -76,7 +76,7 @@ static int test_indexed_with_zeros(char *filename, int testcase) MPI_Type_indexed(num, blocklen, indices, MPI_INT, &filetype); break; case HINDEXED: - MPI_Type_hindexed(num, blocklen, addrs, MPI_INT, &filetype); + MPI_Type_create_hindexed(num, blocklen, addrs, MPI_INT, &filetype); break; case STRUCT: MPI_Type_create_struct(num, blocklen, addrs, types, &filetype); diff --git a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h index f530a5ae316..e5511f6f352 100644 --- a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h +++ b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h @@ -385,7 +385,6 @@ PN2(void, MPI_Type_get_extent_x, mpi_type_get_extent_x, MPI_TYPE_GET_EXTENT_X, ( PN2(void, MPI_Type_get_name, mpi_type_get_name, MPI_TYPE_GET_NAME, (MPI_Fint *type, char *type_name, MPI_Fint *resultlen, MPI_Fint *ierr, int name_len)); PN2(void, MPI_Type_get_true_extent, mpi_type_get_true_extent, MPI_TYPE_GET_TRUE_EXTENT, (MPI_Fint *datatype, MPI_Aint *true_lb, MPI_Aint *true_extent, MPI_Fint *ierr)); PN2(void, MPI_Type_get_true_extent_x, mpi_type_get_true_extent_x, MPI_TYPE_GET_TRUE_EXTENT_X, (MPI_Fint *datatype, MPI_Count *true_lb, MPI_Count *true_extent, MPI_Fint *ierr)); -PN2(void, MPI_Type_hindexed, mpi_type_hindexed, MPI_TYPE_HINDEXED, (MPI_Fint *count, MPI_Fint *array_of_blocklengths, MPI_Fint *array_of_displacements, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr)); PN2(void, MPI_Type_hvector, mpi_type_hvector, MPI_TYPE_HVECTOR, (MPI_Fint *count, MPI_Fint *blocklength, MPI_Fint *stride, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr)); PN2(void, MPI_Type_indexed, mpi_type_indexed, MPI_TYPE_INDEXED, (MPI_Fint *count, MPI_Fint *array_of_blocklengths, MPI_Fint *array_of_displacements, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr)); PN2(void, MPI_Type_lb, mpi_type_lb, MPI_TYPE_LB, (MPI_Fint *type, MPI_Fint *lb, MPI_Fint *ierr)); diff --git a/ompi/mpi/fortran/mpif-h/type_hindexed_f.c b/ompi/mpi/fortran/mpif-h/type_hindexed_f.c deleted file mode 100644 index 3b48ec31cef..00000000000 --- a/ompi/mpi/fortran/mpif-h/type_hindexed_f.c +++ /dev/null @@ -1,108 +0,0 @@ -/* - * 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 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/errhandler/errhandler.h" -#include "ompi/communicator/communicator.h" - -#if OMPI_BUILD_MPI_PROFILING -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak PMPI_TYPE_HINDEXED = ompi_type_hindexed_f -#pragma weak pmpi_type_hindexed = ompi_type_hindexed_f -#pragma weak pmpi_type_hindexed_ = ompi_type_hindexed_f -#pragma weak pmpi_type_hindexed__ = ompi_type_hindexed_f - -#pragma weak PMPI_Type_hindexed_f = ompi_type_hindexed_f -#pragma weak PMPI_Type_hindexed_f08 = ompi_type_hindexed_f -#else -OMPI_GENERATE_F77_BINDINGS (PMPI_TYPE_HINDEXED, - pmpi_type_hindexed, - pmpi_type_hindexed_, - pmpi_type_hindexed__, - pompi_type_hindexed_f, - (MPI_Fint *count, MPI_Fint *array_of_blocklengths, MPI_Fint *array_of_displacements, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr), - (count, array_of_blocklengths, array_of_displacements, oldtype, newtype, ierr) ) -#endif -#endif - -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak MPI_TYPE_HINDEXED = ompi_type_hindexed_f -#pragma weak mpi_type_hindexed = ompi_type_hindexed_f -#pragma weak mpi_type_hindexed_ = ompi_type_hindexed_f -#pragma weak mpi_type_hindexed__ = ompi_type_hindexed_f - -#pragma weak MPI_Type_hindexed_f = ompi_type_hindexed_f -#pragma weak MPI_Type_hindexed_f08 = ompi_type_hindexed_f -#else -#if ! OMPI_BUILD_MPI_PROFILING -OMPI_GENERATE_F77_BINDINGS (MPI_TYPE_HINDEXED, - mpi_type_hindexed, - mpi_type_hindexed_, - mpi_type_hindexed__, - ompi_type_hindexed_f, - (MPI_Fint *count, MPI_Fint *array_of_blocklengths, MPI_Fint *array_of_displacements, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr), - (count, array_of_blocklengths, array_of_displacements, oldtype, newtype, ierr) ) -#else -#define ompi_type_hindexed_f pompi_type_hindexed_f -#endif -#endif - - -static const char FUNC_NAME[] = "MPI_TYPE_HINDEXED"; - - -void ompi_type_hindexed_f(MPI_Fint *count, MPI_Fint *array_of_blocklengths, - MPI_Fint *array_of_displacements, - MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr) -{ - MPI_Datatype c_old = PMPI_Type_f2c(*oldtype); - MPI_Datatype c_new; - MPI_Aint *c_disp_array; - int i, c_ierr; - OMPI_ARRAY_NAME_DECL(array_of_blocklengths); - - c_disp_array = (MPI_Aint *) malloc(*count * sizeof(MPI_Aint)); - if (NULL == c_disp_array) { - c_ierr = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_NO_MEM, - FUNC_NAME); - if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); - return; - } - for (i = 0; i < *count; i++) { - c_disp_array[i] = (MPI_Aint) array_of_displacements[i]; - } - - OMPI_ARRAY_FINT_2_INT(array_of_blocklengths, *count); - - c_ierr = PMPI_Type_hindexed(OMPI_FINT_2_INT(*count), - OMPI_ARRAY_NAME_CONVERT(array_of_blocklengths), - c_disp_array, c_old, &c_new); - if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); - - free(c_disp_array); - OMPI_ARRAY_FINT_2_INT_CLEANUP(array_of_blocklengths); - - if (MPI_SUCCESS == c_ierr) { - *newtype = PMPI_Type_c2f(c_new); - } -} diff --git a/ompi/mpi/man/man3/MPI_Type_get_envelope.3in b/ompi/mpi/man/man3/MPI_Type_get_envelope.3in index e624a291c04..18010d5e507 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_envelope.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_envelope.3in @@ -86,7 +86,7 @@ MPI_COMBINER_CONTIGUOUS MPI_Type_contiguous MPI_COMBINER_VECTOR MPI_Type_vector MPI_COMBINER_HVECTOR MPI_Type_hvector MPI_COMBINER_INDEXED MPI_Type_indexed -MPI_COMBINER_HINDEXED MPI_Type_hindexed +MPI_COMBINER_HINDEXED MPI_Type_create_hindexed MPI_COMBINER_INDEXED_BLOCK MPI_Type_create_indexed_block MPI_COMBINER_STRUCT MPI_Type_struct MPI_COMBINER_SUBARRAY MPI_Type_create_subarray diff --git a/ompi/mpi/man/man3/MPI_Type_indexed.3in b/ompi/mpi/man/man3/MPI_Type_indexed.3in index 451dcecc45e..6ee0d10fa0d 100644 --- a/ompi/mpi/man/man3/MPI_Type_indexed.3in +++ b/ompi/mpi/man/man3/MPI_Type_indexed.3in @@ -165,6 +165,6 @@ called. By default, this error handler aborts the MPI job, except for I/O functi .SH SEE ALSO .ft R .sp -MPI_Type_hindexed +MPI_Type_create_hindexed .br From e0190b3e175b714c93f3d1cbc958d73a5f277eb0 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Tue, 30 Apr 2019 13:14:39 +0900 Subject: [PATCH 08/13] fortran: remove all references to MPI_Type_hvector (removed in MPI 3.0) Signed-off-by: Gilles Gouaillardet --- ompi/mpi/fortran/mpif-h/prototypes_mpi.h | 1 - ompi/mpi/fortran/mpif-h/type_hvector_f.c | 87 ------------------- ompi/mpi/man/man3/MPI_Type_create_hvector.3in | 4 - ompi/mpi/man/man3/MPI_Type_get_envelope.3in | 2 +- ompi/mpi/man/man3/MPI_Type_vector.3in | 2 - 5 files changed, 1 insertion(+), 95 deletions(-) delete mode 100644 ompi/mpi/fortran/mpif-h/type_hvector_f.c diff --git a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h index e5511f6f352..c33e717f8da 100644 --- a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h +++ b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h @@ -385,7 +385,6 @@ PN2(void, MPI_Type_get_extent_x, mpi_type_get_extent_x, MPI_TYPE_GET_EXTENT_X, ( PN2(void, MPI_Type_get_name, mpi_type_get_name, MPI_TYPE_GET_NAME, (MPI_Fint *type, char *type_name, MPI_Fint *resultlen, MPI_Fint *ierr, int name_len)); PN2(void, MPI_Type_get_true_extent, mpi_type_get_true_extent, MPI_TYPE_GET_TRUE_EXTENT, (MPI_Fint *datatype, MPI_Aint *true_lb, MPI_Aint *true_extent, MPI_Fint *ierr)); PN2(void, MPI_Type_get_true_extent_x, mpi_type_get_true_extent_x, MPI_TYPE_GET_TRUE_EXTENT_X, (MPI_Fint *datatype, MPI_Count *true_lb, MPI_Count *true_extent, MPI_Fint *ierr)); -PN2(void, MPI_Type_hvector, mpi_type_hvector, MPI_TYPE_HVECTOR, (MPI_Fint *count, MPI_Fint *blocklength, MPI_Fint *stride, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr)); PN2(void, MPI_Type_indexed, mpi_type_indexed, MPI_TYPE_INDEXED, (MPI_Fint *count, MPI_Fint *array_of_blocklengths, MPI_Fint *array_of_displacements, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr)); PN2(void, MPI_Type_lb, mpi_type_lb, MPI_TYPE_LB, (MPI_Fint *type, MPI_Fint *lb, MPI_Fint *ierr)); PN2(void, MPI_Type_match_size, mpi_type_match_size, MPI_TYPE_MATCH_SIZE, (MPI_Fint *typeclass, MPI_Fint *size, MPI_Fint *type, MPI_Fint *ierr)); diff --git a/ompi/mpi/fortran/mpif-h/type_hvector_f.c b/ompi/mpi/fortran/mpif-h/type_hvector_f.c deleted file mode 100644 index 1bc5720e9bb..00000000000 --- a/ompi/mpi/fortran/mpif-h/type_hvector_f.c +++ /dev/null @@ -1,87 +0,0 @@ -/* - * 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 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" - -#if OMPI_BUILD_MPI_PROFILING -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak PMPI_TYPE_HVECTOR = ompi_type_hvector_f -#pragma weak pmpi_type_hvector = ompi_type_hvector_f -#pragma weak pmpi_type_hvector_ = ompi_type_hvector_f -#pragma weak pmpi_type_hvector__ = ompi_type_hvector_f - -#pragma weak PMPI_Type_hvector_f = ompi_type_hvector_f -#pragma weak PMPI_Type_hvector_f08 = ompi_type_hvector_f -#else -OMPI_GENERATE_F77_BINDINGS (PMPI_TYPE_HVECTOR, - pmpi_type_hvector, - pmpi_type_hvector_, - pmpi_type_hvector__, - pompi_type_hvector_f, - (MPI_Fint *count, MPI_Fint *blocklength, MPI_Fint *stride, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr), - (count, blocklength, stride, oldtype, newtype, ierr) ) -#endif -#endif - -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak MPI_TYPE_HVECTOR = ompi_type_hvector_f -#pragma weak mpi_type_hvector = ompi_type_hvector_f -#pragma weak mpi_type_hvector_ = ompi_type_hvector_f -#pragma weak mpi_type_hvector__ = ompi_type_hvector_f - -#pragma weak MPI_Type_hvector_f = ompi_type_hvector_f -#pragma weak MPI_Type_hvector_f08 = ompi_type_hvector_f -#else -#if ! OMPI_BUILD_MPI_PROFILING -OMPI_GENERATE_F77_BINDINGS (MPI_TYPE_HVECTOR, - mpi_type_hvector, - mpi_type_hvector_, - mpi_type_hvector__, - ompi_type_hvector_f, - (MPI_Fint *count, MPI_Fint *blocklength, MPI_Fint *stride, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr), - (count, blocklength, stride, oldtype, newtype, ierr) ) -#else -#define ompi_type_hvector_f pompi_type_hvector_f -#endif -#endif - - -void ompi_type_hvector_f(MPI_Fint *count, MPI_Fint *blocklength, - MPI_Fint *stride, MPI_Fint *oldtype, - MPI_Fint *newtype, MPI_Fint *ierr) -{ - int c_ierr; - MPI_Datatype c_oldtype, c_newtype; - - c_oldtype = PMPI_Type_f2c(*oldtype); - - c_ierr = PMPI_Type_hvector(OMPI_FINT_2_INT(*count), - OMPI_FINT_2_INT(*blocklength), - (MPI_Aint)*stride, - c_oldtype, &c_newtype); - if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); - - if (MPI_SUCCESS == c_ierr) { - *newtype = PMPI_Type_c2f(c_newtype); - } -} diff --git a/ompi/mpi/man/man3/MPI_Type_create_hvector.3in b/ompi/mpi/man/man3/MPI_Type_create_hvector.3in index afb905708fe..bb88bcae3cd 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_hvector.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_hvector.3in @@ -72,8 +72,6 @@ Fortran only: Error status (integer). .SH DESCRIPTION MPI_Type_create_hvector creates a vector (strided) data type with offset in bytes. -.PP -NOTE \- This routine replaces MPI_Type_hvector, which is deprecated. See the man page MPI_Type_hvector(3) for information about that routine. .SH FORTRAN 77 NOTES .ft R @@ -96,7 +94,5 @@ called. By default, this error handler aborts the MPI job, except for I/O functi .SH SEE ALSO .ft R -MPI_Type_hvector -.br MPI_Type_vector .br diff --git a/ompi/mpi/man/man3/MPI_Type_get_envelope.3in b/ompi/mpi/man/man3/MPI_Type_get_envelope.3in index 18010d5e507..fc98a9e86b0 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_envelope.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_envelope.3in @@ -84,7 +84,7 @@ MPI_COMBINER_NAMED a named predefined data type MPI_COMBINER_DUP MPI_Type_dup MPI_COMBINER_CONTIGUOUS MPI_Type_contiguous MPI_COMBINER_VECTOR MPI_Type_vector -MPI_COMBINER_HVECTOR MPI_Type_hvector +MPI_COMBINER_HVECTOR MPI_Type_create_hvector MPI_COMBINER_INDEXED MPI_Type_indexed MPI_COMBINER_HINDEXED MPI_Type_create_hindexed MPI_COMBINER_INDEXED_BLOCK MPI_Type_create_indexed_block diff --git a/ompi/mpi/man/man3/MPI_Type_vector.3in b/ompi/mpi/man/man3/MPI_Type_vector.3in index e3b377bfc0d..2e4c7c07d1f 100644 --- a/ompi/mpi/man/man3/MPI_Type_vector.3in +++ b/ompi/mpi/man/man3/MPI_Type_vector.3in @@ -127,6 +127,4 @@ called. By default, this error handler aborts the MPI job, except for I/O functi .sp MPI_Type_create_hvector .br -MPI_Type_hvector -.br From a01054a0ae495769f974be7b1fde58283cd150d6 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Tue, 30 Apr 2019 12:10:58 +0900 Subject: [PATCH 09/13] fortran: remove all references to MPI_Type_lb (removed in MPI 3.0) Signed-off-by: Gilles Gouaillardet --- .../io/romio321/romio/adio/common/iscontig.c | 4 +- ompi/mpi/fortran/mpif-h/prototypes_mpi.h | 1 - ompi/mpi/fortran/mpif-h/type_lb_f.c | 81 ------------------- 3 files changed, 2 insertions(+), 84 deletions(-) delete mode 100644 ompi/mpi/fortran/mpif-h/type_lb_f.c diff --git a/ompi/mca/io/romio321/romio/adio/common/iscontig.c b/ompi/mca/io/romio321/romio/adio/common/iscontig.c index 3c8aa712f4e..4212b01a8b0 100644 --- a/ompi/mca/io/romio321/romio/adio/common/iscontig.c +++ b/ompi/mca/io/romio321/romio/adio/common/iscontig.c @@ -45,8 +45,8 @@ int MPI_SGI_type_is_contig(MPI_Datatype datatype); void ADIOI_Datatype_iscontig(MPI_Datatype datatype, int *flag) { - MPI_Aint displacement; - MPI_Type_lb(datatype, &distplacement); + MPI_Aint displacement, ub; + MPI_Type_get_extent(datatype, &distplacement, &ub); /* SGI's MPI_SGI_type_is_contig() returns true for indexed * datatypes with holes at the beginning, which causes diff --git a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h index c33e717f8da..cff7aba3fc1 100644 --- a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h +++ b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h @@ -386,7 +386,6 @@ PN2(void, MPI_Type_get_name, mpi_type_get_name, MPI_TYPE_GET_NAME, (MPI_Fint *ty PN2(void, MPI_Type_get_true_extent, mpi_type_get_true_extent, MPI_TYPE_GET_TRUE_EXTENT, (MPI_Fint *datatype, MPI_Aint *true_lb, MPI_Aint *true_extent, MPI_Fint *ierr)); PN2(void, MPI_Type_get_true_extent_x, mpi_type_get_true_extent_x, MPI_TYPE_GET_TRUE_EXTENT_X, (MPI_Fint *datatype, MPI_Count *true_lb, MPI_Count *true_extent, MPI_Fint *ierr)); PN2(void, MPI_Type_indexed, mpi_type_indexed, MPI_TYPE_INDEXED, (MPI_Fint *count, MPI_Fint *array_of_blocklengths, MPI_Fint *array_of_displacements, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr)); -PN2(void, MPI_Type_lb, mpi_type_lb, MPI_TYPE_LB, (MPI_Fint *type, MPI_Fint *lb, MPI_Fint *ierr)); PN2(void, MPI_Type_match_size, mpi_type_match_size, MPI_TYPE_MATCH_SIZE, (MPI_Fint *typeclass, MPI_Fint *size, MPI_Fint *type, MPI_Fint *ierr)); PN2(void, MPI_Type_set_attr, mpi_type_set_attr, MPI_TYPE_SET_ATTR, (MPI_Fint *type, MPI_Fint *type_keyval, MPI_Aint *attr_val, MPI_Fint *ierr)); PN2(void, MPI_Type_set_name, mpi_type_set_name, MPI_TYPE_SET_NAME, (MPI_Fint *type, char *type_name, MPI_Fint *ierr, int name_len)); diff --git a/ompi/mpi/fortran/mpif-h/type_lb_f.c b/ompi/mpi/fortran/mpif-h/type_lb_f.c deleted file mode 100644 index 3867c35ad29..00000000000 --- a/ompi/mpi/fortran/mpif-h/type_lb_f.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * 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 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" - -#if OMPI_BUILD_MPI_PROFILING -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak PMPI_TYPE_LB = ompi_type_lb_f -#pragma weak pmpi_type_lb = ompi_type_lb_f -#pragma weak pmpi_type_lb_ = ompi_type_lb_f -#pragma weak pmpi_type_lb__ = ompi_type_lb_f - -#pragma weak PMPI_Type_lb_f = ompi_type_lb_f -#pragma weak PMPI_Type_lb_f08 = ompi_type_lb_f -#else -OMPI_GENERATE_F77_BINDINGS (PMPI_TYPE_LB, - pmpi_type_lb, - pmpi_type_lb_, - pmpi_type_lb__, - pompi_type_lb_f, - (MPI_Fint *type, MPI_Fint *lb, MPI_Fint *ierr), - (type, lb, ierr) ) -#endif -#endif - -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak MPI_TYPE_LB = ompi_type_lb_f -#pragma weak mpi_type_lb = ompi_type_lb_f -#pragma weak mpi_type_lb_ = ompi_type_lb_f -#pragma weak mpi_type_lb__ = ompi_type_lb_f - -#pragma weak MPI_Type_lb_f = ompi_type_lb_f -#pragma weak MPI_Type_lb_f08 = ompi_type_lb_f -#else -#if ! OMPI_BUILD_MPI_PROFILING -OMPI_GENERATE_F77_BINDINGS (MPI_TYPE_LB, - mpi_type_lb, - mpi_type_lb_, - mpi_type_lb__, - ompi_type_lb_f, - (MPI_Fint *type, MPI_Fint *lb, MPI_Fint *ierr), - (type, lb, ierr) ) -#else -#define ompi_type_lb_f pompi_type_lb_f -#endif -#endif - - -void ompi_type_lb_f(MPI_Fint *type, MPI_Fint *lb, MPI_Fint *ierr) -{ - int c_ierr; - MPI_Datatype c_type = PMPI_Type_f2c(*type); - MPI_Aint c_lb; - - c_ierr = PMPI_Type_lb(c_type, &c_lb); - if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); - - if (MPI_SUCCESS == c_ierr) { - *lb = OMPI_INT_2_FINT(c_lb); - } -} From 2a16bfad706c3efc426f9ff823544b89b7bf2b13 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Tue, 30 Apr 2019 12:18:57 +0900 Subject: [PATCH 10/13] fortran: remove all references to MPI_Type_struct (removed in MPI 3.0) Signed-off-by: Gilles Gouaillardet --- ompi/datatype/ompi_datatype_create_darray.c | 2 +- .../romio/adio/ad_pvfs2/ad_pvfs2_open.c | 2 +- .../romio/adio/ad_zoidfs/ad_zoidfs_open.c | 2 +- .../io/romio321/romio/adio/common/ad_darray.c | 2 +- .../romio/test-internal/io_bounds_test.c | 4 +- ompi/mca/io/romio321/romio/test/i_noncontig.c | 2 +- ompi/mca/io/romio321/romio/test/noncontig.c | 2 +- .../io/romio321/romio/test/noncontig_coll.c | 2 +- .../io/romio321/romio/test/noncontig_coll2.c | 2 +- ompi/mpi/fortran/mpif-h/prototypes_mpi.h | 1 - ompi/mpi/fortran/mpif-h/type_struct_f.c | 114 ------------------ ompi/mpi/man/man3/MPI_Gatherv.3in | 4 +- ompi/mpi/man/man3/MPI_Scan.3in | 2 +- ompi/mpi/man/man3/MPI_Type_create_struct.3in | 6 +- ompi/mpi/man/man3/MPI_Type_get_envelope.3in | 2 +- 15 files changed, 15 insertions(+), 134 deletions(-) delete mode 100644 ompi/mpi/fortran/mpif-h/type_struct_f.c diff --git a/ompi/datatype/ompi_datatype_create_darray.c b/ompi/datatype/ompi_datatype_create_darray.c index a245dcebce4..e2fe363ee8c 100644 --- a/ompi/datatype/ompi_datatype_create_darray.c +++ b/ompi/datatype/ompi_datatype_create_darray.c @@ -136,7 +136,7 @@ cyclic(const int *gsize_array, int dim, int ndims, int nprocs, if (rem) { /* if the last block is of size less than blksize, include - it separately using MPI_Type_struct */ + it separately using MPI_Type_create_struct */ types [0] = *type_new; types [1] = type_old; disps [0] = 0; disps [1] = count*stride; diff --git a/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_open.c b/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_open.c index f266c88e5c9..113f465d703 100644 --- a/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_open.c +++ b/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_open.c @@ -211,7 +211,7 @@ void ADIOI_PVFS2_Open(ADIO_File fd, int *error_code) MPI_Get_address(&o_status.error, &offsets[0]); MPI_Get_address(&o_status.object_ref, &offsets[1]); - MPI_Type_struct(2, lens, offsets, types, &open_status_type); + MPI_Type_create_struct(2, lens, offsets, types, &open_status_type); MPI_Type_commit(&open_status_type); /* Assertion: if we hit this Bcast, then all processes collectively diff --git a/ompi/mca/io/romio321/romio/adio/ad_zoidfs/ad_zoidfs_open.c b/ompi/mca/io/romio321/romio/adio/ad_zoidfs/ad_zoidfs_open.c index 3c22cb54e1f..3b5ec632960 100644 --- a/ompi/mca/io/romio321/romio/adio/ad_zoidfs/ad_zoidfs_open.c +++ b/ompi/mca/io/romio321/romio/adio/ad_zoidfs/ad_zoidfs_open.c @@ -118,7 +118,7 @@ void ADIOI_ZOIDFS_Open(ADIO_File fd, int *error_code) MPI_Get_address(&o_status.error, &offsets[0]); MPI_Get_address(&o_status.handle, &offsets[1]); - MPI_Type_struct(2, lens, offsets, types, &open_status_type); + MPI_Type_create_struct(2, lens, offsets, types, &open_status_type); MPI_Type_commit(&open_status_type); /* Assertion: if we hit this Bcast, then all processes collectively diff --git a/ompi/mca/io/romio321/romio/adio/common/ad_darray.c b/ompi/mca/io/romio321/romio/adio/common/ad_darray.c index 3c9ca36a8e1..65a7c5a07d6 100644 --- a/ompi/mca/io/romio321/romio/adio/common/ad_darray.c +++ b/ompi/mca/io/romio321/romio/adio/common/ad_darray.c @@ -248,7 +248,7 @@ static int MPIOI_Type_cyclic(int *array_of_gsizes, int dim, int ndims, int nproc if (rem) { /* if the last block is of size less than blksize, include - it separately using MPI_Type_struct */ + it separately using MPI_Type_create_struct */ types[0] = *type_new; types[1] = type_old; diff --git a/ompi/mca/io/romio321/romio/test-internal/io_bounds_test.c b/ompi/mca/io/romio321/romio/test-internal/io_bounds_test.c index f7514764e42..30a85a09a5c 100644 --- a/ompi/mca/io/romio321/romio/test-internal/io_bounds_test.c +++ b/ompi/mca/io/romio321/romio/test-internal/io_bounds_test.c @@ -105,8 +105,8 @@ int run_test (test_param_t *test) { MPI_Datatype filetype; - MPI_Type_struct (test->type_count, test->type_blocklens, - test->type_indices, test->type_oldtypes, &filetype); + MPI_Type_create_struct (test->type_count, test->type_blocklens, + test->type_indices, test->type_oldtypes, &filetype); MPI_Type_commit (&filetype); MPI_File_open (MPI_COMM_WORLD, "test_file.txt" , MPI_MODE_RDWR, diff --git a/ompi/mca/io/romio321/romio/test/i_noncontig.c b/ompi/mca/io/romio321/romio/test/i_noncontig.c index db5bd36f0f9..52dcb2868a9 100644 --- a/ompi/mca/io/romio321/romio/test/i_noncontig.c +++ b/ompi/mca/io/romio321/romio/test/i_noncontig.c @@ -71,7 +71,7 @@ int main(int argc, char **argv) t[1] = typevec; t[2] = MPI_UB; - MPI_Type_struct(3, b, d, t, &newtype); + MPI_Type_create_struct(3, b, d, t, &newtype); MPI_Type_commit(&newtype); MPI_Type_free(&typevec); diff --git a/ompi/mca/io/romio321/romio/test/noncontig.c b/ompi/mca/io/romio321/romio/test/noncontig.c index 8be18dc6703..1455d88e2bc 100644 --- a/ompi/mca/io/romio321/romio/test/noncontig.c +++ b/ompi/mca/io/romio321/romio/test/noncontig.c @@ -75,7 +75,7 @@ int main(int argc, char **argv) t[2] = MPI_UB; /* keep the struct, ditch the vector */ - MPI_Type_struct(3, b, d, t, &newtype); + MPI_Type_create_struct(3, b, d, t, &newtype); MPI_Type_commit(&newtype); MPI_Type_free(&typevec); diff --git a/ompi/mca/io/romio321/romio/test/noncontig_coll.c b/ompi/mca/io/romio321/romio/test/noncontig_coll.c index 2916776a63c..e92a3115393 100644 --- a/ompi/mca/io/romio321/romio/test/noncontig_coll.c +++ b/ompi/mca/io/romio321/romio/test/noncontig_coll.c @@ -69,7 +69,7 @@ int main(int argc, char **argv) t[1] = typevec; t[2] = MPI_UB; - MPI_Type_struct(3, b, d, t, &newtype); + MPI_Type_create_struct(3, b, d, t, &newtype); MPI_Type_commit(&newtype); MPI_Type_free(&typevec); diff --git a/ompi/mca/io/romio321/romio/test/noncontig_coll2.c b/ompi/mca/io/romio321/romio/test/noncontig_coll2.c index 4699da89aca..9e8a79f1978 100644 --- a/ompi/mca/io/romio321/romio/test/noncontig_coll2.c +++ b/ompi/mca/io/romio321/romio/test/noncontig_coll2.c @@ -384,7 +384,7 @@ int test_file(char *filename, int mynod, int nprocs, char * cb_hosts, const char t[1] = typevec; t[2] = MPI_UB; - MPI_Type_struct(3, b, d, t, &newtype); + MPI_Type_create_struct(3, b, d, t, &newtype); MPI_Type_commit(&newtype); MPI_Type_free(&typevec); diff --git a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h index cff7aba3fc1..329497aef9f 100644 --- a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h +++ b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h @@ -391,7 +391,6 @@ PN2(void, MPI_Type_set_attr, mpi_type_set_attr, MPI_TYPE_SET_ATTR, (MPI_Fint *ty PN2(void, MPI_Type_set_name, mpi_type_set_name, MPI_TYPE_SET_NAME, (MPI_Fint *type, char *type_name, MPI_Fint *ierr, int name_len)); PN2(void, MPI_Type_size, mpi_type_size, MPI_TYPE_SIZE, (MPI_Fint *type, MPI_Fint *size, MPI_Fint *ierr)); PN2(void, MPI_Type_size_x, mpi_type_size_x, MPI_TYPE_SIZE_X, (MPI_Fint *type, MPI_Count *size, MPI_Fint *ierr)); -PN2(void, MPI_Type_struct, mpi_type_struct, MPI_TYPE_STRUCT, (MPI_Fint *count, MPI_Fint *array_of_blocklengths, MPI_Fint *array_of_displacements, MPI_Fint *array_of_types, MPI_Fint *newtype, MPI_Fint *ierr)); PN2(void, MPI_Type_ub, mpi_type_ub, MPI_TYPE_UB, (MPI_Fint *mtype, MPI_Fint *ub, MPI_Fint *ierr)); PN2(void, MPI_Type_vector, mpi_type_vector, MPI_TYPE_VECTOR, (MPI_Fint *count, MPI_Fint *blocklength, MPI_Fint *stride, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr)); PN2(void, MPI_Unpack, mpi_unpack, MPI_UNPACK, (char *inbuf, MPI_Fint *insize, MPI_Fint *position, char *outbuf, MPI_Fint *outcount, MPI_Fint *datatype, MPI_Fint *comm, MPI_Fint *ierr)); diff --git a/ompi/mpi/fortran/mpif-h/type_struct_f.c b/ompi/mpi/fortran/mpif-h/type_struct_f.c deleted file mode 100644 index 03a05d9a548..00000000000 --- a/ompi/mpi/fortran/mpif-h/type_struct_f.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - * 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 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/errhandler/errhandler.h" -#include "ompi/communicator/communicator.h" - -#if OMPI_BUILD_MPI_PROFILING -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak PMPI_TYPE_STRUCT = ompi_type_struct_f -#pragma weak pmpi_type_struct = ompi_type_struct_f -#pragma weak pmpi_type_struct_ = ompi_type_struct_f -#pragma weak pmpi_type_struct__ = ompi_type_struct_f - -#pragma weak PMPI_Type_struct_f = ompi_type_struct_f -#pragma weak PMPI_Type_struct_f08 = ompi_type_struct_f -#else -OMPI_GENERATE_F77_BINDINGS (PMPI_TYPE_STRUCT, - pmpi_type_struct, - pmpi_type_struct_, - pmpi_type_struct__, - pompi_type_struct_f, - (MPI_Fint *count, MPI_Fint *array_of_blocklengths, MPI_Fint *array_of_displacements, MPI_Fint *array_of_types, MPI_Fint *newtype, MPI_Fint *ierr), - (count, array_of_blocklengths, array_of_displacements, array_of_types, newtype, ierr) ) -#endif -#endif - -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak MPI_TYPE_STRUCT = ompi_type_struct_f -#pragma weak mpi_type_struct = ompi_type_struct_f -#pragma weak mpi_type_struct_ = ompi_type_struct_f -#pragma weak mpi_type_struct__ = ompi_type_struct_f - -#pragma weak MPI_Type_struct_f = ompi_type_struct_f -#pragma weak MPI_Type_struct_f08 = ompi_type_struct_f -#else -#if ! OMPI_BUILD_MPI_PROFILING -OMPI_GENERATE_F77_BINDINGS (MPI_TYPE_STRUCT, - mpi_type_struct, - mpi_type_struct_, - mpi_type_struct__, - ompi_type_struct_f, - (MPI_Fint *count, MPI_Fint *array_of_blocklengths, MPI_Fint *array_of_displacements, MPI_Fint *array_of_types, MPI_Fint *newtype, MPI_Fint *ierr), - (count, array_of_blocklengths, array_of_displacements, array_of_types, newtype, ierr) ) -#else -#define ompi_type_struct_f pompi_type_struct_f -#endif -#endif - - -static const char FUNC_NAME[] = "MPI_TYPE_STRUCT"; - - -void ompi_type_struct_f(MPI_Fint *count, MPI_Fint *array_of_blocklengths, - MPI_Fint *array_of_displacements, - MPI_Fint *array_of_types, MPI_Fint *newtype, - MPI_Fint *ierr) -{ - MPI_Aint *c_disp_array; - MPI_Datatype *c_type_old_array; - MPI_Datatype c_new; - int i, c_ierr; - OMPI_ARRAY_NAME_DECL(array_of_blocklengths); - - c_type_old_array = (MPI_Datatype *) malloc(*count * (sizeof(MPI_Datatype) + - sizeof(MPI_Aint))); - if (NULL == c_type_old_array) { - c_ierr = OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_NO_MEM, - FUNC_NAME); - if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); - return; - } - c_disp_array = (MPI_Aint*) c_type_old_array + *count; - - for (i = 0; i < *count; i++) { - c_disp_array[i] = (MPI_Aint) array_of_displacements[i]; - c_type_old_array[i] = PMPI_Type_f2c(array_of_types[i]); - } - - OMPI_ARRAY_FINT_2_INT(array_of_blocklengths, *count); - - c_ierr = PMPI_Type_struct(OMPI_FINT_2_INT(*count), - OMPI_ARRAY_NAME_CONVERT(array_of_blocklengths), - c_disp_array, - c_type_old_array, &c_new); - if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); - - OMPI_ARRAY_FINT_2_INT_CLEANUP(array_of_blocklengths); - free(c_type_old_array); - - if (MPI_SUCCESS == c_ierr) { - *newtype = PMPI_Type_c2f(c_new); - } -} diff --git a/ompi/mpi/man/man3/MPI_Gatherv.3in b/ompi/mpi/man/man3/MPI_Gatherv.3in index 7c38c56bce6..71053e7dcd8 100644 --- a/ompi/mpi/man/man3/MPI_Gatherv.3in +++ b/ompi/mpi/man/man3/MPI_Gatherv.3in @@ -255,7 +255,7 @@ Note that a different amount of data is received from each process. disp[0] = 0; disp[1] = 150*sizeof(int); type[0] = MPI_INT; type[1] = MPI_UB; blocklen[0] = 1; blocklen[1] = 1; - MPI_Type_struct( 2, blocklen, disp, type, &stype ); + MPI_Type_create_struct( 2, blocklen, disp, type, &stype ); MPI_Type_commit( &stype ); sptr = &sendarray[0][myrank]; MPI_Gatherv(sptr, 100-myrank, stype, rbuf, rcounts, @@ -341,7 +341,7 @@ we make the stride between received blocks vary from block to block. disp[0] = 0; disp[1] = 150*sizeof(int); type[0] = MPI_INT; type[1] = MPI_UB; blocklen[0] = 1; blocklen[1] = 1; - MPI_Type_struct( 2, blocklen, disp, type, &stype ); + MPI_Type_create_struct( 2, blocklen, disp, type, &stype ); MPI_Type_commit( &stype ); sptr = &sendarray[0][myrank]; MPI_Gatherv(sptr, num, stype, rbuf, rcounts, diff --git a/ompi/mpi/man/man3/MPI_Scan.3in b/ompi/mpi/man/man3/MPI_Scan.3in index 46da5f589dd..234caeedbb0 100644 --- a/ompi/mpi/man/man3/MPI_Scan.3in +++ b/ompi/mpi/man/man3/MPI_Scan.3in @@ -191,7 +191,7 @@ following: base = disp[0]; for (i = 0; i < 2; ++i) disp[i] -= base; - MPI_Type_struct(2, blocklen, disp, type, &sspair); + MPI_Type_create_struct(2, blocklen, disp, type, &sspair); MPI_Type_commit(&sspair); /* diff --git a/ompi/mpi/man/man3/MPI_Type_create_struct.3in b/ompi/mpi/man/man3/MPI_Type_create_struct.3in index 1d2d7c9b11e..efa668565dc 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_struct.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_struct.3in @@ -76,9 +76,7 @@ IERROR Fortran only: Error status (integer). .SH DESCRIPTION -MPI_Type_create_struct creates a structured data type. This routine replaces MPI_Type_struct, which is now deprecated. -.PP -NOTE \- This routine replaces MPI_Type_struct, which is deprecated. See the man page MPI_Type_struct(3) for information about that routine. +MPI_Type_create_struct creates a structured data type. .SH FORTRAN 77 NOTES .ft R @@ -102,7 +100,5 @@ called. By default, this error handler aborts the MPI job, except for I/O functi .SH SEE ALSO .ft R .sp -MPI_Type_struct -.br MPI_Type_create_hindexed diff --git a/ompi/mpi/man/man3/MPI_Type_get_envelope.3in b/ompi/mpi/man/man3/MPI_Type_get_envelope.3in index fc98a9e86b0..94448a65246 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_envelope.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_envelope.3in @@ -88,7 +88,7 @@ MPI_COMBINER_HVECTOR MPI_Type_create_hvector MPI_COMBINER_INDEXED MPI_Type_indexed MPI_COMBINER_HINDEXED MPI_Type_create_hindexed MPI_COMBINER_INDEXED_BLOCK MPI_Type_create_indexed_block -MPI_COMBINER_STRUCT MPI_Type_struct +MPI_COMBINER_STRUCT MPI_Type_create_struct MPI_COMBINER_SUBARRAY MPI_Type_create_subarray MPI_COMBINER_DARRAY MPI_Type_create_darray MPI_COMBINER_F90_REAL MPI_Type_create_f90_real From 24b71eeb6f9e0f826d5d7d00039d00437c84f1db Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Tue, 30 Apr 2019 12:19:46 +0900 Subject: [PATCH 11/13] fortran: remove all references to MPI_Type_ub (removed in MPI 3.0) Signed-off-by: Gilles Gouaillardet --- ompi/mpi/fortran/mpif-h/prototypes_mpi.h | 1 - ompi/mpi/fortran/mpif-h/type_ub_f.c | 81 ------------------------ 2 files changed, 82 deletions(-) delete mode 100644 ompi/mpi/fortran/mpif-h/type_ub_f.c diff --git a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h index 329497aef9f..930883d1e8b 100644 --- a/ompi/mpi/fortran/mpif-h/prototypes_mpi.h +++ b/ompi/mpi/fortran/mpif-h/prototypes_mpi.h @@ -391,7 +391,6 @@ PN2(void, MPI_Type_set_attr, mpi_type_set_attr, MPI_TYPE_SET_ATTR, (MPI_Fint *ty PN2(void, MPI_Type_set_name, mpi_type_set_name, MPI_TYPE_SET_NAME, (MPI_Fint *type, char *type_name, MPI_Fint *ierr, int name_len)); PN2(void, MPI_Type_size, mpi_type_size, MPI_TYPE_SIZE, (MPI_Fint *type, MPI_Fint *size, MPI_Fint *ierr)); PN2(void, MPI_Type_size_x, mpi_type_size_x, MPI_TYPE_SIZE_X, (MPI_Fint *type, MPI_Count *size, MPI_Fint *ierr)); -PN2(void, MPI_Type_ub, mpi_type_ub, MPI_TYPE_UB, (MPI_Fint *mtype, MPI_Fint *ub, MPI_Fint *ierr)); PN2(void, MPI_Type_vector, mpi_type_vector, MPI_TYPE_VECTOR, (MPI_Fint *count, MPI_Fint *blocklength, MPI_Fint *stride, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr)); PN2(void, MPI_Unpack, mpi_unpack, MPI_UNPACK, (char *inbuf, MPI_Fint *insize, MPI_Fint *position, char *outbuf, MPI_Fint *outcount, MPI_Fint *datatype, MPI_Fint *comm, MPI_Fint *ierr)); PN2(void, MPI_Unpublish_name, mpi_unpublish_name, MPI_UNPUBLISH_NAME, (char *service_name, MPI_Fint *info, char *port_name, MPI_Fint *ierr, int service_name_len, int port_name_len)); diff --git a/ompi/mpi/fortran/mpif-h/type_ub_f.c b/ompi/mpi/fortran/mpif-h/type_ub_f.c deleted file mode 100644 index 17a468a6343..00000000000 --- a/ompi/mpi/fortran/mpif-h/type_ub_f.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * 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 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" - -#if OMPI_BUILD_MPI_PROFILING -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak PMPI_TYPE_UB = ompi_type_ub_f -#pragma weak pmpi_type_ub = ompi_type_ub_f -#pragma weak pmpi_type_ub_ = ompi_type_ub_f -#pragma weak pmpi_type_ub__ = ompi_type_ub_f - -#pragma weak PMPI_Type_ub_f = ompi_type_ub_f -#pragma weak PMPI_Type_ub_f08 = ompi_type_ub_f -#else -OMPI_GENERATE_F77_BINDINGS (PMPI_TYPE_UB, - pmpi_type_ub, - pmpi_type_ub_, - pmpi_type_ub__, - pompi_type_ub_f, - (MPI_Fint *mtype, MPI_Fint *ub, MPI_Fint *ierr), - (mtype, ub, ierr) ) -#endif -#endif - -#if OPAL_HAVE_WEAK_SYMBOLS -#pragma weak MPI_TYPE_UB = ompi_type_ub_f -#pragma weak mpi_type_ub = ompi_type_ub_f -#pragma weak mpi_type_ub_ = ompi_type_ub_f -#pragma weak mpi_type_ub__ = ompi_type_ub_f - -#pragma weak MPI_Type_ub_f = ompi_type_ub_f -#pragma weak MPI_Type_ub_f08 = ompi_type_ub_f -#else -#if ! OMPI_BUILD_MPI_PROFILING -OMPI_GENERATE_F77_BINDINGS (MPI_TYPE_UB, - mpi_type_ub, - mpi_type_ub_, - mpi_type_ub__, - ompi_type_ub_f, - (MPI_Fint *mtype, MPI_Fint *ub, MPI_Fint *ierr), - (mtype, ub, ierr) ) -#else -#define ompi_type_ub_f pompi_type_ub_f -#endif -#endif - - -void ompi_type_ub_f(MPI_Fint *mtype, MPI_Fint *ub, MPI_Fint *ierr) -{ - int c_ierr; - MPI_Datatype c_mtype = PMPI_Type_f2c(*mtype); - MPI_Aint c_ub; - - c_ierr = PMPI_Type_ub(c_mtype, &c_ub); - if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); - - if (MPI_SUCCESS == c_ierr) { - *ub = OMPI_INT_2_FINT(c_ub); - } -} From 954f9ab43065fc20898a11193800bb50b9d723d6 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Tue, 30 Apr 2019 12:34:01 +0900 Subject: [PATCH 12/13] mpi: remove references to symbols removed in MPI 3.0 - MPI_COMBINER_HVECTOR_INTEGER - MPI_COMBINER_HINDEXED_INTEGER - MPI_COMBINER_STRUCT_INTEGERo note this commit breaks ABI compatibility since a public enum is modified. Thanks Lisandro Dalcin for reporting this. Signed-off-by: Gilles Gouaillardet --- ompi/datatype/ompi_datatype_args.c | 6 ---- ompi/include/mpi.h.in | 7 ++--- ompi/include/mpif-values.pl | 31 +++++++++---------- ompi/mca/coll/hcoll/coll_hcoll_rte.c | 6 ++-- .../romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c | 10 ------ .../io/romio321/romio/adio/common/flatten.c | 12 ++----- ompi/mpi/cxx/constants.h | 5 +-- 7 files changed, 22 insertions(+), 55 deletions(-) diff --git a/ompi/datatype/ompi_datatype_args.c b/ompi/datatype/ompi_datatype_args.c index 8ed3a6ac42a..2392f765b86 100644 --- a/ompi/datatype/ompi_datatype_args.c +++ b/ompi/datatype/ompi_datatype_args.c @@ -138,7 +138,6 @@ int32_t ompi_datatype_set_args( ompi_datatype_t* pData, pArgs->i[2] = i[2][0]; break; - case MPI_COMBINER_HVECTOR_INTEGER: case MPI_COMBINER_HVECTOR: pArgs->i[0] = i[0][0]; pArgs->i[1] = i[1][0]; @@ -152,7 +151,6 @@ int32_t ompi_datatype_set_args( ompi_datatype_t* pData, memcpy( pArgs->i + pos, i[2], i[0][0] * sizeof(int) ); break; - case MPI_COMBINER_HINDEXED_INTEGER: case MPI_COMBINER_HINDEXED: pArgs->i[0] = i[0][0]; memcpy( pArgs->i + 1, i[1], i[0][0] * sizeof(int) ); @@ -164,7 +162,6 @@ int32_t ompi_datatype_set_args( ompi_datatype_t* pData, memcpy( pArgs->i + 2, i[2], i[0][0] * sizeof(int) ); break; - case MPI_COMBINER_STRUCT_INTEGER: case MPI_COMBINER_STRUCT: pArgs->i[0] = i[0][0]; memcpy( pArgs->i + 1, i[1], i[0][0] * sizeof(int) ); @@ -707,7 +704,6 @@ static ompi_datatype_t* __ompi_datatype_create_from_args( int32_t* i, MPI_Aint* } break; /******************************************************************/ - case MPI_COMBINER_HVECTOR_INTEGER: case MPI_COMBINER_HVECTOR: ompi_datatype_create_hvector( i[0], i[1], a[0], d[0], &datatype ); { @@ -724,7 +720,6 @@ static ompi_datatype_t* __ompi_datatype_create_from_args( int32_t* i, MPI_Aint* } break; /******************************************************************/ - case MPI_COMBINER_HINDEXED_INTEGER: case MPI_COMBINER_HINDEXED: ompi_datatype_create_hindexed( i[0], &(i[1]), a, d[0], &datatype ); { @@ -741,7 +736,6 @@ static ompi_datatype_t* __ompi_datatype_create_from_args( int32_t* i, MPI_Aint* } break; /******************************************************************/ - case MPI_COMBINER_STRUCT_INTEGER: case MPI_COMBINER_STRUCT: ompi_datatype_create_struct( i[0], &(i[1]), a, d, &datatype ); { diff --git a/ompi/include/mpi.h.in b/ompi/include/mpi.h.in index bf916920d00..87948eb6155 100644 --- a/ompi/include/mpi.h.in +++ b/ompi/include/mpi.h.in @@ -17,8 +17,8 @@ * reserved. * Copyright (c) 2011-2013 INRIA. All rights reserved. * Copyright (c) 2015 University of Houston. 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) 2017-2019 IBM Corporation. All rights reserved. * Copyright (c) 2018 FUJITSU LIMITED. All rights reserved. * $COPYRIGHT$ @@ -630,13 +630,10 @@ enum { MPI_COMBINER_DUP, MPI_COMBINER_CONTIGUOUS, MPI_COMBINER_VECTOR, - MPI_COMBINER_HVECTOR_INTEGER, MPI_COMBINER_HVECTOR, MPI_COMBINER_INDEXED, - MPI_COMBINER_HINDEXED_INTEGER, MPI_COMBINER_HINDEXED, MPI_COMBINER_INDEXED_BLOCK, - MPI_COMBINER_STRUCT_INTEGER, MPI_COMBINER_STRUCT, MPI_COMBINER_SUBARRAY, MPI_COMBINER_DARRAY, diff --git a/ompi/include/mpif-values.pl b/ompi/include/mpif-values.pl index 86536b86852..96e3d079f39 100755 --- a/ompi/include/mpif-values.pl +++ b/ompi/include/mpif-values.pl @@ -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$ # @@ -354,21 +354,18 @@ sub write_file { $constants->{MPI_COMBINER_DUP} = 1; $constants->{MPI_COMBINER_CONTIGUOUS} = 2; $constants->{MPI_COMBINER_VECTOR} = 3; -$constants->{MPI_COMBINER_HVECTOR_INTEGER} = 4; -$constants->{MPI_COMBINER_HVECTOR} = 5; -$constants->{MPI_COMBINER_INDEXED} = 6; -$constants->{MPI_COMBINER_HINDEXED_INTEGER} = 7; -$constants->{MPI_COMBINER_HINDEXED} = 8; -$constants->{MPI_COMBINER_INDEXED_BLOCK} = 9; -$constants->{MPI_COMBINER_STRUCT_INTEGER} = 10; -$constants->{MPI_COMBINER_STRUCT} = 11; -$constants->{MPI_COMBINER_SUBARRAY} = 12; -$constants->{MPI_COMBINER_DARRAY} = 13; -$constants->{MPI_COMBINER_F90_REAL} = 14; -$constants->{MPI_COMBINER_F90_COMPLEX} = 15; -$constants->{MPI_COMBINER_F90_INTEGER} = 16; -$constants->{MPI_COMBINER_RESIZED} = 17; -$constants->{MPI_COMBINER_HINDEXED_BLOCK} = 18; +$constants->{MPI_COMBINER_HVECTOR} = 4; +$constants->{MPI_COMBINER_INDEXED} = 5; +$constants->{MPI_COMBINER_HINDEXED} = 6; +$constants->{MPI_COMBINER_INDEXED_BLOCK} = 7; +$constants->{MPI_COMBINER_STRUCT} = 8; +$constants->{MPI_COMBINER_SUBARRAY} = 9; +$constants->{MPI_COMBINER_DARRAY} = 10; +$constants->{MPI_COMBINER_F90_REAL} = 11; +$constants->{MPI_COMBINER_F90_COMPLEX} = 12; +$constants->{MPI_COMBINER_F90_INTEGER} = 13; +$constants->{MPI_COMBINER_RESIZED} = 14; +$constants->{MPI_COMBINER_HINDEXED_BLOCK} = 15; $constants->{MPI_COMM_TYPE_SHARED} = 0; $constants->{OMPI_COMM_TYPE_HWTHREAD} = 1; diff --git a/ompi/mca/coll/hcoll/coll_hcoll_rte.c b/ompi/mca/coll/hcoll/coll_hcoll_rte.c index 6df2dde7e90..54c27efa43b 100644 --- a/ompi/mca/coll/hcoll/coll_hcoll_rte.c +++ b/ompi/mca/coll/hcoll/coll_hcoll_rte.c @@ -7,8 +7,8 @@ * reserved. * Copyright (c) 2015 Los Alamos National Security, LLC. All rights * reserved. - * Copyright (c) 2015 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$ * * Additional copyrights may follow @@ -402,7 +402,6 @@ hcoll_mpi_type_combiner_t ompi_combiner_2_hcoll_combiner(int ompi_combiner) { return HCOLL_MPI_COMBINER_HVECTOR; case MPI_COMBINER_INDEXED: return HCOLL_MPI_COMBINER_INDEXED; - case MPI_COMBINER_HINDEXED_INTEGER: case MPI_COMBINER_HINDEXED: return HCOLL_MPI_COMBINER_HINDEXED; case MPI_COMBINER_DUP: @@ -424,7 +423,6 @@ hcoll_mpi_type_combiner_t ompi_combiner_2_hcoll_combiner(int ompi_combiner) { case MPI_COMBINER_RESIZED: return HCOLL_MPI_COMBINER_RESIZED; case MPI_COMBINER_STRUCT: - case MPI_COMBINER_STRUCT_INTEGER: return HCOLL_MPI_COMBINER_STRUCT; default: break; diff --git a/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c b/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c index 02219293cad..3a933b05e99 100644 --- a/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c +++ b/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c @@ -351,16 +351,6 @@ int convert_mpi_pvfs2_dtype(MPI_Datatype *mpi_dtype, fprintf(stderr, "convert_mpi_pvfs2_dtype: " "HINDEXED_BLOCK is unsupported\n"); break; - case MPI_COMBINER_HINDEXED_INTEGER: - ADIOI_Free(old_pvfs_dtype); - fprintf(stderr, "convert_mpi_pvfs2_dtype: " - "HINDEXED_INTEGER is unsupported\n"); - break; - case MPI_COMBINER_STRUCT_INTEGER: - ADIOI_Free(old_pvfs_dtype); - fprintf(stderr, "convert_mpi_pvfs2_dtype: " - "STRUCT_INTEGER is unsupported\n"); - break; case MPI_COMBINER_SUBARRAY: ADIOI_Free(old_pvfs_dtype); fprintf(stderr, "convert_mpi_pvfs2_dtype: " diff --git a/ompi/mca/io/romio321/romio/adio/common/flatten.c b/ompi/mca/io/romio321/romio/adio/common/flatten.c index b468ec2f0f4..eaad5e1e001 100644 --- a/ompi/mca/io/romio321/romio/adio/common/flatten.c +++ b/ompi/mca/io/romio321/romio/adio/common/flatten.c @@ -410,9 +410,8 @@ void ADIOI_Flatten(MPI_Datatype datatype, ADIOI_Flatlist_node *flat, break; case MPI_COMBINER_HVECTOR: - case MPI_COMBINER_HVECTOR_INTEGER: #ifdef FLATTEN_DEBUG - DBG_FPRINTF(stderr,"ADIOI_Flatten:: MPI_COMBINER_HVECTOR_INTEGER\n"); + DBG_FPRINTF(stderr,"ADIOI_Flatten:: MPI_COMBINER_HVECTOR\n"); #endif top_count = ints[0]; ADIOI_Type_get_envelope(types[0], &old_nints, &old_nadds, @@ -667,9 +666,8 @@ void ADIOI_Flatten(MPI_Datatype datatype, ADIOI_Flatlist_node *flat, break; case MPI_COMBINER_HINDEXED: - case MPI_COMBINER_HINDEXED_INTEGER: #ifdef FLATTEN_DEBUG - DBG_FPRINTF(stderr,"ADIOI_Flatten:: MPI_COMBINER_HINDEXED_INTEGER\n"); + DBG_FPRINTF(stderr,"ADIOI_Flatten:: MPI_COMBINER_HINDEXED\n"); #endif top_count = ints[0]; ADIOI_Type_get_envelope(types[0], &old_nints, &old_nadds, @@ -758,9 +756,8 @@ void ADIOI_Flatten(MPI_Datatype datatype, ADIOI_Flatlist_node *flat, break; case MPI_COMBINER_STRUCT: - case MPI_COMBINER_STRUCT_INTEGER: #ifdef FLATTEN_DEBUG - DBG_FPRINTF(stderr,"ADIOI_Flatten:: MPI_COMBINER_STRUCT_INTEGER\n"); + DBG_FPRINTF(stderr,"ADIOI_Flatten:: MPI_COMBINER_STRUCT\n"); #endif top_count = ints[0]; for (n=0; n Date: Tue, 30 Apr 2019 14:03:04 +0900 Subject: [PATCH 13/13] mpi: remove references to MPI_LB and MPI_UB (removed in MPI 3.0) Signed-off-by: Gilles Gouaillardet --- ompi/datatype/ompi_datatype_create_subarray.c | 6 - ompi/datatype/ompi_datatype_internal.h | 3 - ompi/datatype/ompi_datatype_module.c | 155 +++++++++--------- ompi/include/mpif-values.pl | 140 ++++++++-------- .../coll/portals4/coll_portals4_component.c | 3 - .../romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c | 92 +---------- .../romio/test-internal/io_bounds_test.c | 6 - ompi/mca/io/romio321/romio/test/i_noncontig.c | 17 +- ompi/mca/io/romio321/romio/test/noncontig.c | 18 +- .../io/romio321/romio/test/noncontig_coll.c | 18 +- .../io/romio321/romio/test/noncontig_coll2.c | 18 +- ompi/mpi/fortran/use-mpi-f08/constants.c | 6 +- .../fortran/use-mpi-f08/mod/mpi-f08-types.F90 | 6 +- ompi/mpi/man/man3/MPI_Gatherv.3in | 10 +- .../mpi/man/man3/MPI_Type_get_true_extent.3in | 4 +- .../mpif-h/mpiext_shortfloat_mpifh.h.in | 8 +- 16 files changed, 184 insertions(+), 326 deletions(-) diff --git a/ompi/datatype/ompi_datatype_create_subarray.c b/ompi/datatype/ompi_datatype_create_subarray.c index fcf44407725..475603e1602 100644 --- a/ompi/datatype/ompi_datatype_create_subarray.c +++ b/ompi/datatype/ompi_datatype_create_subarray.c @@ -40,12 +40,6 @@ int32_t ompi_datatype_create_subarray(int ndims, int32_t i, step, end_loop; MPI_Aint size, displ, extent; - /** - * If the oldtype contains the original MPI_LB and MPI_UB markers then we - * are forced to follow the MPI standard suggestion and reset these 2 - * markers (MPI 3.0 page 96 line 37). Otherwise we can simply resize the - * datatype. - */ ompi_datatype_type_extent( oldtype, &extent ); /* If the ndims is zero then return the NULL datatype */ diff --git a/ompi/datatype/ompi_datatype_internal.h b/ompi/datatype/ompi_datatype_internal.h index 0c175c4266c..845f3028cd7 100644 --- a/ompi/datatype/ompi_datatype_internal.h +++ b/ompi/datatype/ompi_datatype_internal.h @@ -92,9 +92,6 @@ #define OMPI_DATATYPE_MPI_C_DOUBLE_COMPLEX 0x2B #define OMPI_DATATYPE_MPI_C_LONG_DOUBLE_COMPLEX 0x2C -#define OMPI_DATATYPE_MPI_LB 0x2D -#define OMPI_DATATYPE_MPI_UB 0x2E - /* * Datatypes from the MPI 3.0 standard */ diff --git a/ompi/datatype/ompi_datatype_module.c b/ompi/datatype/ompi_datatype_module.c index a51214a3b31..feadc72c82b 100644 --- a/ompi/datatype/ompi_datatype_module.c +++ b/ompi/datatype/ompi_datatype_module.c @@ -68,8 +68,6 @@ ompi_predefined_datatype_t ompi_mpi_datatype_null = ompi_predefined_datatype_t ompi_mpi_unavailable = OMPI_DATATYPE_INIT_PREDEFINED (UNAVAILABLE, 0); -ompi_predefined_datatype_t ompi_mpi_lb = OMPI_DATATYPE_INIT_PREDEFINED (LB, 0); -ompi_predefined_datatype_t ompi_mpi_ub = OMPI_DATATYPE_INIT_PREDEFINED (UB, 0); ompi_predefined_datatype_t ompi_mpi_char = OMPI_DATATYPE_INIT_PREDEFINED (CHAR, OMPI_DATATYPE_FLAG_DATA_C); ompi_predefined_datatype_t ompi_mpi_signed_char = OMPI_DATATYPE_INIT_PREDEFINED (SIGNED_CHAR, OMPI_DATATYPE_FLAG_DATA_C | OMPI_DATATYPE_FLAG_DATA_INT ); ompi_predefined_datatype_t ompi_mpi_unsigned_char = OMPI_DATATYPE_INIT_PREDEFINED (UNSIGNED_CHAR, OMPI_DATATYPE_FLAG_DATA_C | OMPI_DATATYPE_FLAG_DATA_INT ); @@ -363,9 +361,6 @@ const ompi_datatype_t* ompi_datatype_basicDatatypes[OMPI_DATATYPE_MPI_MAX_PREDEF [OMPI_DATATYPE_MPI_C_DOUBLE_COMPLEX] = &ompi_mpi_c_double_complex.dt, [OMPI_DATATYPE_MPI_C_LONG_DOUBLE_COMPLEX] = &ompi_mpi_c_long_double_complex.dt, - [OMPI_DATATYPE_MPI_LB] = &ompi_mpi_lb.dt, - [OMPI_DATATYPE_MPI_UB] = &ompi_mpi_ub.dt, - /* MPI 3.0 types */ [OMPI_DATATYPE_MPI_COUNT] = &ompi_mpi_count.dt, @@ -557,98 +552,96 @@ int32_t ompi_datatype_init( void ) MOOG(datatype_null, 0); MOOG(byte, 1); MOOG(packed, 2); - MOOG(ub, 3); - MOOG(lb, 4); - MOOG(character, 5); - MOOG(logical, 6); - MOOG(integer, 7); - MOOG(integer1, 8); - MOOG(integer2, 9); - MOOG(integer4, 10); - MOOG(integer8, 11); - MOOG(integer16, 12); - MOOG(real, 13); - MOOG(real4, 14); - MOOG(real8, 15); - MOOG(real16, 16); - MOOG(dblprec, 17); - MOOG(cplex, 18); - MOOG(complex8, 19); - MOOG(complex16, 20); - MOOG(complex32, 21); - MOOG(dblcplex, 22); - MOOG(2real, 23); - MOOG(2dblprec, 24); - MOOG(2integer, 25); - MOOG(2cplex, 26); - MOOG(2dblcplex, 27); - MOOG(real2, 28); - MOOG(logical1, 29); - MOOG(logical2, 30); - MOOG(logical4, 31); - MOOG(logical8, 32); + MOOG(character, 3); + MOOG(logical, 4); + MOOG(integer, 5); + MOOG(integer1, 6); + MOOG(integer2, 7); + MOOG(integer4, 8); + MOOG(integer8, 9); + MOOG(integer16, 10); + MOOG(real, 11); + MOOG(real4, 12); + MOOG(real8, 13); + MOOG(real16, 14); + MOOG(dblprec, 15); + MOOG(cplex, 16); + MOOG(complex8, 17); + MOOG(complex16, 18); + MOOG(complex32, 19); + MOOG(dblcplex, 20); + MOOG(2real, 21); + MOOG(2dblprec, 22); + MOOG(2integer, 23); + MOOG(2cplex, 24); + MOOG(2dblcplex, 25); + MOOG(real2, 26); + MOOG(logical1, 27); + MOOG(logical2, 28); + MOOG(logical4, 29); + MOOG(logical8, 30); /* Now the C types */ - MOOG(wchar, 33); - MOOG(char, 34); - MOOG(unsigned_char, 35); - MOOG(signed_char, 36); - MOOG(short, 37); - MOOG(unsigned_short, 38); - MOOG(int, 39); - MOOG(unsigned, 40); - MOOG(long, 41); - MOOG(unsigned_long, 42); - MOOG(long_long_int, 43); - MOOG(unsigned_long_long, 44); - - MOOG(float, 45); - MOOG(double, 46); - MOOG(long_double, 47); - - MOOG(float_int, 48); - MOOG(double_int, 49); - MOOG(longdbl_int, 50); - MOOG(long_int, 51); - MOOG(2int, 52); - MOOG(short_int, 53); + MOOG(wchar, 31); + MOOG(char, 32); + MOOG(unsigned_char, 33); + MOOG(signed_char, 34); + MOOG(short, 35); + MOOG(unsigned_short, 36); + MOOG(int, 37); + MOOG(unsigned, 38); + MOOG(long, 39); + MOOG(unsigned_long, 40); + MOOG(long_long_int, 41); + MOOG(unsigned_long_long, 42); + + MOOG(float, 43); + MOOG(double, 44); + MOOG(long_double, 45); + + MOOG(float_int, 46); + MOOG(double_int, 47); + MOOG(longdbl_int, 48); + MOOG(long_int, 49); + MOOG(2int, 50); + MOOG(short_int, 51); /* C++ types */ - MOOG(cxx_bool, 54); - MOOG(cxx_cplex, 55); - MOOG(cxx_dblcplex, 56); - MOOG(cxx_ldblcplex, 57); + MOOG(cxx_bool, 52); + MOOG(cxx_cplex, 53); + MOOG(cxx_dblcplex, 54); + MOOG(cxx_ldblcplex, 55); /* MPI 2.2 types */ - MOOG(int8_t, 58); - MOOG(uint8_t, 59); - MOOG(int16_t, 60); - MOOG(uint16_t, 61); - MOOG(int32_t, 62); - MOOG(uint32_t, 63); - MOOG(int64_t, 64); - MOOG(uint64_t, 65); - MOOG(aint, 66); - MOOG(offset, 67); - MOOG(c_bool, 68); - MOOG(c_float_complex, 69); - MOOG(c_double_complex, 70); - MOOG(c_long_double_complex, 71); + MOOG(int8_t, 56); + MOOG(uint8_t, 57); + MOOG(int16_t, 58); + MOOG(uint16_t, 59); + MOOG(int32_t, 60); + MOOG(uint32_t, 61); + MOOG(int64_t, 62); + MOOG(uint64_t, 63); + MOOG(aint, 64); + MOOG(offset, 65); + MOOG(c_bool, 66); + MOOG(c_float_complex, 67); + MOOG(c_double_complex, 68); + MOOG(c_long_double_complex, 69); /* MPI 3.0 types */ - MOOG(count, 72); + MOOG(count, 70); /* Datatype missing in old Open MPI */ - MOOG(complex4, 73); + MOOG(complex4, 71); /* Datatypes proposed to the MPI Forum in June 2017 for proposal in * the MPI 4.0 standard. As of February 2019, it is not accepted yet. * See https://github.com/mpi-forum/mpi-issues/issues/65 */ - MOOG(short_float, 74); - MOOG(c_short_float_complex, 75); - MOOG(cxx_sfltcplex, 76); + MOOG(short_float, 72); + MOOG(c_short_float_complex, 73); + MOOG(cxx_sfltcplex, 74); /** * Now make sure all non-contiguous types are marked as such. diff --git a/ompi/include/mpif-values.pl b/ompi/include/mpif-values.pl index 96e3d079f39..3162b9d428b 100755 --- a/ompi/include/mpif-values.pl +++ b/ompi/include/mpif-values.pl @@ -122,80 +122,78 @@ sub write_file { $handles->{MPI_BYTE} = 1; $handles->{MPI_PACKED} = 2; -$handles->{MPI_UB} = 3; -$handles->{MPI_LB} = 4; -$handles->{MPI_CHARACTER} = 5; -$handles->{MPI_LOGICAL} = 6; -$handles->{MPI_INTEGER} = 7; -$handles->{MPI_INTEGER1} = 8; -$handles->{MPI_INTEGER2} = 9; -$handles->{MPI_INTEGER4} = 10; -$handles->{MPI_INTEGER8} = 11; -$handles->{MPI_INTEGER16} = 12; -$handles->{MPI_REAL} = 13; -$handles->{MPI_REAL4} = 14; -$handles->{MPI_REAL8} = 15; -$handles->{MPI_REAL16} = 16; -$handles->{MPI_DOUBLE_PRECISION} = 17; -$handles->{MPI_COMPLEX} = 18; -$handles->{MPI_COMPLEX8} = 19; -$handles->{MPI_COMPLEX16} = 20; -$handles->{MPI_COMPLEX32} = 21; -$handles->{MPI_DOUBLE_COMPLEX} = 22; -$handles->{MPI_2REAL} = 23; -$handles->{MPI_2DOUBLE_PRECISION} = 24; -$handles->{MPI_2INTEGER} = 25; -$handles->{MPI_2COMPLEX} = 26; -$handles->{MPI_2DOUBLE_COMPLEX} = 27; -$handles->{MPI_REAL2} = 28; -$handles->{MPI_LOGICAL1} = 29; -$handles->{MPI_LOGICAL2} = 30; -$handles->{MPI_LOGICAL4} = 31; -$handles->{MPI_LOGICAL8} = 32; -$handles->{MPI_WCHAR} = 33; -$handles->{MPI_CHAR} = 34; -$handles->{MPI_UNSIGNED_CHAR} = 35; -$handles->{MPI_SIGNED_CHAR} = 36; -$handles->{MPI_SHORT} = 37; -$handles->{MPI_UNSIGNED_SHORT} = 38; -$handles->{MPI_INT} = 39; -$handles->{MPI_UNSIGNED} = 40; -$handles->{MPI_LONG} = 41; -$handles->{MPI_UNSIGNED_LONG} = 42; -$handles->{MPI_LONG_LONG_INT} = 43; +$handles->{MPI_CHARACTER} = 3; +$handles->{MPI_LOGICAL} = 4; +$handles->{MPI_INTEGER} = 5; +$handles->{MPI_INTEGER1} = 6; +$handles->{MPI_INTEGER2} = 7; +$handles->{MPI_INTEGER4} = 8; +$handles->{MPI_INTEGER8} = 9; +$handles->{MPI_INTEGER16} = 10; +$handles->{MPI_REAL} = 11; +$handles->{MPI_REAL4} = 12; +$handles->{MPI_REAL8} = 13; +$handles->{MPI_REAL16} = 14; +$handles->{MPI_DOUBLE_PRECISION} = 15; +$handles->{MPI_COMPLEX} = 16; +$handles->{MPI_COMPLEX8} = 17; +$handles->{MPI_COMPLEX16} = 18; +$handles->{MPI_COMPLEX32} = 19; +$handles->{MPI_DOUBLE_COMPLEX} = 20; +$handles->{MPI_2REAL} = 21; +$handles->{MPI_2DOUBLE_PRECISION} = 22; +$handles->{MPI_2INTEGER} = 23; +$handles->{MPI_2COMPLEX} = 24; +$handles->{MPI_2DOUBLE_COMPLEX} = 25; +$handles->{MPI_REAL2} = 26; +$handles->{MPI_LOGICAL1} = 27; +$handles->{MPI_LOGICAL2} = 28; +$handles->{MPI_LOGICAL4} = 29; +$handles->{MPI_LOGICAL8} = 30; +$handles->{MPI_WCHAR} = 31; +$handles->{MPI_CHAR} = 32; +$handles->{MPI_UNSIGNED_CHAR} = 33; +$handles->{MPI_SIGNED_CHAR} = 34; +$handles->{MPI_SHORT} = 35; +$handles->{MPI_UNSIGNED_SHORT} = 36; +$handles->{MPI_INT} = 37; +$handles->{MPI_UNSIGNED} = 38; +$handles->{MPI_LONG} = 39; +$handles->{MPI_UNSIGNED_LONG} = 40; +$handles->{MPI_LONG_LONG_INT} = 41; $handles->{MPI_LONG_LONG} = $handles->{MPI_LONG_LONG_INT}; -$handles->{MPI_UNSIGNED_LONG_LONG} = 44; -$handles->{MPI_FLOAT} = 45; -$handles->{MPI_DOUBLE} = 46; -$handles->{MPI_LONG_DOUBLE} = 47; -$handles->{MPI_FLOAT_INT} = 48; -$handles->{MPI_DOUBLE_INT} = 49; -$handles->{MPI_LONG_DOUBLE_INT} = 50; -$handles->{MPI_LONG_INT} = 51; -$handles->{MPI_2INT} = 52; -$handles->{MPI_SHORT_INT} = 53; -$handles->{MPI_CXX_BOOL} = 54; -$handles->{MPI_CXX_FLOAT_COMPLEX} = 55; +$handles->{MPI_UNSIGNED_LONG_LONG} = 42; +$handles->{MPI_FLOAT} = 43; +$handles->{MPI_DOUBLE} = 44; +$handles->{MPI_LONG_DOUBLE} = 45; +$handles->{MPI_FLOAT_INT} = 46; +$handles->{MPI_DOUBLE_INT} = 47; +$handles->{MPI_LONG_DOUBLE_INT} = 48; +$handles->{MPI_LONG_INT} = 49; +$handles->{MPI_2INT} = 50; +$handles->{MPI_SHORT_INT} = 51; +$handles->{MPI_CXX_BOOL} = 52; +$handles->{MPI_CXX_FLOAT_COMPLEX} = 53; $handles->{MPI_CXX_COMPLEX} = $handles->{MPI_CXX_FLOAT_COMPLEX}; -$handles->{MPI_CXX_DOUBLE_COMPLEX} = 56; -$handles->{MPI_CXX_LONG_DOUBLE_COMPLEX} = 57; -$handles->{MPI_INT8_T} = 58; -$handles->{MPI_UINT8_T} = 59; -$handles->{MPI_INT16_T} = 60; -$handles->{MPI_UINT16_T} = 61; -$handles->{MPI_INT32_T} = 62; -$handles->{MPI_UINT32_T} = 63; -$handles->{MPI_INT64_T} = 64; -$handles->{MPI_UINT64_T} = 65; -$handles->{MPI_AINT} = 66; -$handles->{MPI_OFFSET} = 67; -$handles->{MPI_C_BOOL} = 68; -$handles->{MPI_C_COMPLEX} = 69; +$handles->{MPI_CXX_DOUBLE_COMPLEX} = 54; +$handles->{MPI_CXX_LONG_DOUBLE_COMPLEX} = 55; +$handles->{MPI_INT8_T} = 56; +$handles->{MPI_UINT8_T} = 57; +$handles->{MPI_INT16_T} = 58; +$handles->{MPI_UINT16_T} = 59; +$handles->{MPI_INT32_T} = 60; +$handles->{MPI_UINT32_T} = 61; +$handles->{MPI_INT64_T} = 62; +$handles->{MPI_UINT64_T} = 63; +$handles->{MPI_AINT} = 64; +$handles->{MPI_OFFSET} = 65; +$handles->{MPI_C_BOOL} = 66; +$handles->{MPI_C_COMPLEX} = 67; $handles->{MPI_C_FLOAT_COMPLEX} = $handles->{MPI_C_COMPLEX}; -$handles->{MPI_C_DOUBLE_COMPLEX} = 70; -$handles->{MPI_C_LONG_DOUBLE_COMPLEX} = 71; -$handles->{MPI_COUNT} = 72; -$handles->{MPI_COMPLEX4} = 73; +$handles->{MPI_C_DOUBLE_COMPLEX} = 68; +$handles->{MPI_C_LONG_DOUBLE_COMPLEX} = 69; +$handles->{MPI_COUNT} = 70; +$handles->{MPI_COMPLEX4} = 71; $handles->{MPI_MESSAGE_NO_PROC} = 1; diff --git a/ompi/mca/coll/portals4/coll_portals4_component.c b/ompi/mca/coll/portals4/coll_portals4_component.c index 29e13b7ec0d..612cb4817c5 100644 --- a/ompi/mca/coll/portals4/coll_portals4_component.c +++ b/ompi/mca/coll/portals4/coll_portals4_component.c @@ -111,9 +111,6 @@ ptl_datatype_t ompi_coll_portals4_atomic_datatype [OMPI_DATATYPE_MPI_MAX_PREDEFI [OMPI_DATATYPE_MPI_C_DOUBLE_COMPLEX] = COLL_PORTALS4_NO_DTYPE, [OMPI_DATATYPE_MPI_C_LONG_DOUBLE_COMPLEX] = COLL_PORTALS4_NO_DTYPE, - [OMPI_DATATYPE_MPI_LB] = COLL_PORTALS4_NO_DTYPE, - [OMPI_DATATYPE_MPI_UB] = COLL_PORTALS4_NO_DTYPE, - /* MPI 3.0 types */ [OMPI_DATATYPE_MPI_COUNT] = COLL_PORTALS4_NO_DTYPE, diff --git a/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c b/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c index 3a933b05e99..a3823611359 100644 --- a/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c +++ b/ompi/mca/io/romio321/romio/adio/ad_pvfs2/ad_pvfs2_io_dtype.c @@ -416,38 +416,7 @@ int convert_mpi_pvfs2_dtype(MPI_Datatype *mpi_dtype, MPI_Aint mpi_lb = -1, mpi_extent = -1; PVFS_offset pvfs_lb = -1; PVFS_size pvfs_extent = -1; - int has_lb_ub = 0; - - /* When converting into a PVFS_Request_struct, we no longer - * can use MPI_LB and MPI_UB. Therfore, we have to do the - * following. - * We simply ignore all the MPI_LB and MPI_UB types and - * get the lb and extent and pass it on through a - * PVFS resized_req */ - - arr_count = 0; - for (i = 0; i < arr_int[0]; i++) - { - if (arr_dtype[i] != MPI_LB && - arr_dtype[i] != MPI_UB) - { - arr_count++; - } - } - - if (arr_int[0] != arr_count) - { - MPI_Type_get_extent(*mpi_dtype, &mpi_lb, &mpi_extent); - pvfs_lb = mpi_lb; - pvfs_extent = mpi_extent; - if ((pvfs_arr_len = ADIOI_Malloc(arr_count*sizeof(int))) - == NULL) - { - fprintf(stderr, "convert_mpi_pvfs2_dtype: " - "Failed to allocate pvfs_arr_len\n"); - } - has_lb_ub = 1; - } + arr_count = arr_int[0]; if ((old_pvfs_dtype_arr = ADIOI_Malloc(arr_count*sizeof(PVFS_Request))) == NULL) @@ -464,70 +433,15 @@ int convert_mpi_pvfs2_dtype(MPI_Datatype *mpi_dtype, arr_count = 0; for (i = 0; i < arr_int[0]; i++) { - if (arr_dtype[i] != MPI_LB && - arr_dtype[i] != MPI_UB) - { leaf = convert_mpi_pvfs2_dtype( &arr_dtype[i], &old_pvfs_dtype_arr[arr_count]); if (leaf != 1) MPI_Type_free(&arr_dtype[i]); pvfs_arr_disp[arr_count] = (PVFS_size) arr_addr[i]; - if (has_lb_ub) - { - pvfs_arr_len[arr_count] = - arr_int[i+1]; - } arr_count++; - } } - /* If a MPI_UB or MPI_LB did exist, we have to - * resize the datatype */ - if (has_lb_ub) - { - PVFS_Request *tmp_pvfs_dtype = NULL; - if ((tmp_pvfs_dtype = ADIOI_Malloc(sizeof(PVFS_Request))) == NULL) - fprintf(stderr, "convert_mpi_pvfs2_dtype: " - "Failed to allocate PVFS_Request\n"); - - ret = PVFS_Request_struct(arr_count, pvfs_arr_len, - pvfs_arr_disp, - old_pvfs_dtype_arr, tmp_pvfs_dtype); - if (ret != 0) - fprintf(stderr, "Error in PVFS_Request_struct\n"); - - arr_count = 0; - for (i = 0; i < arr_int[0]; i++) - { - if (arr_dtype[i] != MPI_LB && - arr_dtype[i] != MPI_UB) - { - PVFS_Request_free(&old_pvfs_dtype_arr[arr_count]); - arr_count++; - } - } - -#ifdef DEBUG_DTYPE - fprintf(stderr, "STRUCT(WITHOUT %d LB or UB)(%d,[", - arr_int[0] - arr_count, arr_count); - for (i = 0; i < arr_count; i++) - fprintf(stderr, "(%d,%Ld) ", - pvfs_arr_len[i], - pvfs_arr_disp[i]); - fprintf(stderr, "]\n"); - fprintf(stderr, "RESIZED(LB = %Ld, EXTENT = %Ld)\n", - pvfs_lb, pvfs_extent); -#endif - ret = PVFS_Request_resized(*tmp_pvfs_dtype, - pvfs_lb, pvfs_extent, pvfs_dtype); - if (ret != 0) - fprintf(stderr, "Error in PVFS_Request_resize\n"); - - PVFS_Request_free(tmp_pvfs_dtype); - ADIOI_Free(tmp_pvfs_dtype); - } - else /* No MPI_LB or MPI_UB datatypes */ { ret = PVFS_Request_struct(arr_int[0], &arr_int[1], pvfs_arr_disp, @@ -537,9 +451,7 @@ int convert_mpi_pvfs2_dtype(MPI_Datatype *mpi_dtype, for (i = 0; i < arr_int[0]; i++) { - if (arr_dtype[i] != MPI_LB && - arr_dtype[i] != MPI_UB) - PVFS_Request_free(&old_pvfs_dtype_arr[i]); + PVFS_Request_free(&old_pvfs_dtype_arr[i]); } #ifdef DEBUG_DTYPE diff --git a/ompi/mca/io/romio321/romio/test-internal/io_bounds_test.c b/ompi/mca/io/romio321/romio/test-internal/io_bounds_test.c index 30a85a09a5c..2a387ce23ba 100644 --- a/ompi/mca/io/romio321/romio/test-internal/io_bounds_test.c +++ b/ompi/mca/io/romio321/romio/test-internal/io_bounds_test.c @@ -191,12 +191,6 @@ int print_test_params (test_param_t *test) if (test->type_oldtypes[i] == MPI_BYTE) { printf ( "%s)\n", "MPI_BYTE"); } - else if (test->type_oldtypes[i] == MPI_UB) { - printf ( "%s)\n", "MPI_UB"); - } - else if (test->type_oldtypes[i] == MPI_LB) { - printf ( "%s)\n", "MPI_LB"); - } } printf ( "Expected Start offset: %lld\n" diff --git a/ompi/mca/io/romio321/romio/test/i_noncontig.c b/ompi/mca/io/romio321/romio/test/i_noncontig.c index 52dcb2868a9..32134abd054 100644 --- a/ompi/mca/io/romio321/romio/test/i_noncontig.c +++ b/ompi/mca/io/romio321/romio/test/i_noncontig.c @@ -16,13 +16,13 @@ int main(int argc, char **argv) { - int *buf, i, mynod, nprocs, len, b[3]; + int *buf, i, mynod, nprocs, len, b; int errs=0, toterrs; - MPI_Aint d[3]; + MPI_Aint d; MPI_File fh; MPI_Status status; char *filename; - MPI_Datatype typevec, newtype, t[3]; + MPI_Datatype typevec, typevec2, newtype; MPIO_Request req; MPI_Init(&argc,&argv); @@ -63,15 +63,8 @@ int main(int argc, char **argv) MPI_Type_vector(SIZE/2, 1, 2, MPI_INT, &typevec); - b[0] = b[1] = b[2] = 1; - d[0] = 0; - d[1] = mynod*sizeof(int); - d[2] = SIZE*sizeof(int); - t[0] = MPI_LB; - t[1] = typevec; - t[2] = MPI_UB; - - MPI_Type_create_struct(3, b, d, t, &newtype); + MPI_Type_create_struct(1, &b, &d, &typevec, &typevec2); + MPI_Type_create_resized(typevec2, 0, SIZE*sizeof(int), &newtype); MPI_Type_commit(&newtype); MPI_Type_free(&typevec); diff --git a/ompi/mca/io/romio321/romio/test/noncontig.c b/ompi/mca/io/romio321/romio/test/noncontig.c index 1455d88e2bc..2600e5286f6 100644 --- a/ompi/mca/io/romio321/romio/test/noncontig.c +++ b/ompi/mca/io/romio321/romio/test/noncontig.c @@ -15,13 +15,13 @@ #define VERBOSE 0 int main(int argc, char **argv) { - int *buf, i, mynod, nprocs, len, b[3]; + int *buf, i, mynod, nprocs, len, b; int errs=0, toterrs; - MPI_Aint d[3]; + MPI_Aint d; MPI_File fh; MPI_Status status; char *filename; - MPI_Datatype typevec, newtype, t[3]; + MPI_Datatype typevec, typevec2, newtype; MPI_Info info; MPI_Init(&argc,&argv); @@ -66,16 +66,12 @@ int main(int argc, char **argv) * of typevec are such that the types for the two processes won't * overlap. */ - b[0] = b[1] = b[2] = 1; - d[0] = 0; - d[1] = mynod*sizeof(int); - d[2] = SIZE*sizeof(int); - t[0] = MPI_LB; - t[1] = typevec; - t[2] = MPI_UB; + b = 1; + d = mynod*sizeof(int); /* keep the struct, ditch the vector */ - MPI_Type_create_struct(3, b, d, t, &newtype); + MPI_Type_create_struct(1, &b, &d, typevec, &typevec2); + MPI_Type_create_resized(typevec2, 0, SIZE*sizeof(int), &newtype); MPI_Type_commit(&newtype); MPI_Type_free(&typevec); diff --git a/ompi/mca/io/romio321/romio/test/noncontig_coll.c b/ompi/mca/io/romio321/romio/test/noncontig_coll.c index e92a3115393..d021680d517 100644 --- a/ompi/mca/io/romio321/romio/test/noncontig_coll.c +++ b/ompi/mca/io/romio321/romio/test/noncontig_coll.c @@ -15,13 +15,13 @@ #define VERBOSE 0 int main(int argc, char **argv) { - int *buf, i, mynod, nprocs, len, b[3]; + int *buf, i, mynod, nprocs, len, b; int errs=0, toterrs; - MPI_Aint d[3]; + MPI_Aint d; MPI_File fh; MPI_Status status; char *filename; - MPI_Datatype typevec, newtype, t[3]; + MPI_Datatype typevec, typevec2, newtype; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD, &nprocs); @@ -61,15 +61,11 @@ int main(int argc, char **argv) MPI_Type_vector(SIZE/2, 1, 2, MPI_INT, &typevec); - b[0] = b[1] = b[2] = 1; - d[0] = 0; - d[1] = mynod*sizeof(int); - d[2] = SIZE*sizeof(int); - t[0] = MPI_LB; - t[1] = typevec; - t[2] = MPI_UB; + b = 1; + d = mynod*sizeof(int); - MPI_Type_create_struct(3, b, d, t, &newtype); + MPI_Type_create_struct(1, &b, &d, &typevec, &typevec2); + MPI_Type_create_resized(typevec2, 0, SIZE*sizeof(int), &newtype); MPI_Type_commit(&newtype); MPI_Type_free(&typevec); diff --git a/ompi/mca/io/romio321/romio/test/noncontig_coll2.c b/ompi/mca/io/romio321/romio/test/noncontig_coll2.c index 9e8a79f1978..38e17e85b42 100644 --- a/ompi/mca/io/romio321/romio/test/noncontig_coll2.c +++ b/ompi/mca/io/romio321/romio/test/noncontig_coll2.c @@ -350,10 +350,10 @@ int main(int argc, char **argv) int test_file(char *filename, int mynod, int nprocs, char * cb_hosts, const char *msg, int verbose) { - MPI_Datatype typevec, newtype, t[3]; - int *buf, i, b[3], errcode, errors=0; + MPI_Datatype typevec, typevec2, newtype; + int *buf, i, b, errcode, errors=0; MPI_File fh; - MPI_Aint d[3]; + MPI_Aint d; MPI_Status status; int SIZE = (STARTING_SIZE/nprocs)*nprocs; MPI_Info info; @@ -376,15 +376,11 @@ int test_file(char *filename, int mynod, int nprocs, char * cb_hosts, const char MPI_Type_vector(SIZE/nprocs, 1, nprocs, MPI_INT, &typevec); - b[0] = b[1] = b[2] = 1; - d[0] = 0; - d[1] = mynod*sizeof(int); - d[2] = SIZE*sizeof(int); - t[0] = MPI_LB; - t[1] = typevec; - t[2] = MPI_UB; + b = 1; + d = mynod*sizeof(int); - MPI_Type_create_struct(3, b, d, t, &newtype); + MPI_Type_create_struct(1, &b, &d, typevec, &typevec2); + MPI_Type_create_resized(typevec2, 0, SIZE*sizeof(int), &newtype); MPI_Type_commit(&newtype); MPI_Type_free(&typevec); diff --git a/ompi/mpi/fortran/use-mpi-f08/constants.c b/ompi/mpi/fortran/use-mpi-f08/constants.c index f741b166400..2bed49c3bec 100644 --- a/ompi/mpi/fortran/use-mpi-f08/constants.c +++ b/ompi/mpi/fortran/use-mpi-f08/constants.c @@ -1,7 +1,7 @@ /* * 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) 2015-2019 Research Organization for Information Science + * and Technology (RIST). All rights reserved. * * Copyright (c) 2018 FUJITSU LIMITED. All rights reserved. * $COPYRIGHT$ @@ -72,8 +72,6 @@ OMPI_DECLSPEC ompi_fortran_08_handle_t OMPI_F08_HANDLE_ALIGNED ompi_f08_mpi_file 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}; diff --git a/ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-types.F90 b/ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-types.F90 index 3371d2056ee..dbfb1e42d0b 100644 --- a/ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-types.F90 +++ b/ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-types.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$ ! @@ -130,8 +130,6 @@ module mpi_f08_types 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 diff --git a/ompi/mpi/man/man3/MPI_Gatherv.3in b/ompi/mpi/man/man3/MPI_Gatherv.3in index 71053e7dcd8..2c7f39e7069 100644 --- a/ompi/mpi/man/man3/MPI_Gatherv.3in +++ b/ompi/mpi/man/man3/MPI_Gatherv.3in @@ -252,10 +252,7 @@ Note that a different amount of data is received from each process. } /* Create datatype for one int, with extent of entire row */ - disp[0] = 0; disp[1] = 150*sizeof(int); - type[0] = MPI_INT; type[1] = MPI_UB; - blocklen[0] = 1; blocklen[1] = 1; - MPI_Type_create_struct( 2, blocklen, disp, type, &stype ); + MPI_Type_create_resized( MPI_INT, 0, 150*sizeof(int), &stype ); MPI_Type_commit( &stype ); sptr = &sendarray[0][myrank]; MPI_Gatherv(sptr, 100-myrank, stype, rbuf, rcounts, @@ -338,10 +335,7 @@ we make the stride between received blocks vary from block to block. *sizeof(int)); /* Create datatype for one int, with extent of entire row */ - disp[0] = 0; disp[1] = 150*sizeof(int); - type[0] = MPI_INT; type[1] = MPI_UB; - blocklen[0] = 1; blocklen[1] = 1; - MPI_Type_create_struct( 2, blocklen, disp, type, &stype ); + MPI_Type_create_resized( MPI_INT, 0, 150*sizeof(int), &stype ); MPI_Type_commit( &stype ); sptr = &sendarray[0][myrank]; MPI_Gatherv(sptr, num, stype, rbuf, rcounts, diff --git a/ompi/mpi/man/man3/MPI_Type_get_true_extent.3in b/ompi/mpi/man/man3/MPI_Type_get_true_extent.3in index 7191ef066fc..2357822c8cd 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_true_extent.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_true_extent.3in @@ -6,7 +6,7 @@ .\" $COPYRIGHT$ .TH MPI_Type_get_true_extent 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME -\fBMPI_Type_get_true_extent\fP, \fBMPI_Type_get_true_extent_x\fP \- Returns the true lower bound and extent of a data type's corresponding typemap, ignoring MPI_UB and MPI_LB markers. +\fBMPI_Type_get_true_extent\fP, \fBMPI_Type_get_true_extent_x\fP \- Returns the true lower bound and extent of a data type's corresponding typemap, ignoring how the datatype was resized. .SH SYNTAX .ft R @@ -72,7 +72,7 @@ Fortran only: Error status (integer). .SH DESCRIPTION .ft R -The \fItrue_lb\fP parameter returns the offset of the lowest unit of store that is addressed by the data type, that is, the lower bound of the corresponding typemap, ignoring MPI_LB markers. The \fItrue_extent\fP parameter returns the true size of the data type, that is, the extent of the corresponding typemap, ignoring MPI_LB and MPI_UB markers, and performing no rounding for alignment. For both functions, if either the \fItrue_lb\fP or \fItrue_extent\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. +The \fItrue_lb\fP parameter returns the offset of the lowest unit of store that is addressed by the data type, that is, the lower bound of the corresponding typemap, ignoring how it was resized. The \fItrue_extent\fP parameter returns the true size of the data type, that is, the extent of the corresponding typemap, ignoring how the datatype was resized, and performing no rounding for alignment. For both functions, if either the \fItrue_lb\fP or \fItrue_extent\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. .sp The \fItrue_extent\fP is the minimum number of bytes of memory necessary to hold a data type, uncompressed. .sp diff --git a/ompi/mpiext/shortfloat/mpif-h/mpiext_shortfloat_mpifh.h.in b/ompi/mpiext/shortfloat/mpif-h/mpiext_shortfloat_mpifh.h.in index 3bf3692e594..18b7bd3b693 100644 --- a/ompi/mpiext/shortfloat/mpif-h/mpiext_shortfloat_mpifh.h.in +++ b/ompi/mpiext/shortfloat/mpif-h/mpiext_shortfloat_mpifh.h.in @@ -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 @@ -13,7 +15,7 @@ integer MPIX_CXX_SHORT_FLOAT_COMPLEX @OMPI_MPIX_C_FLOAT16_FORTRAN_COMMENT_OUT@ integer MPIX_C_FLOAT16 - parameter (MPIX_SHORT_FLOAT=74) - parameter (MPIX_C_SHORT_FLOAT_COMPLEX=75) - parameter (MPIX_CXX_SHORT_FLOAT_COMPLEX=76) + parameter (MPIX_SHORT_FLOAT=72) + parameter (MPIX_C_SHORT_FLOAT_COMPLEX=73) + parameter (MPIX_CXX_SHORT_FLOAT_COMPLEX=74) @OMPI_MPIX_C_FLOAT16_FORTRAN_COMMENT_OUT@ parameter (MPIX_C_FLOAT16=74)