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/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/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/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..3162b9d428b 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$ # @@ -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; @@ -354,21 +352,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/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/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 02219293cad..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 @@ -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: " @@ -426,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) @@ -474,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, @@ -547,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/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/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; ntype_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, @@ -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 db5bd36f0f9..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_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 8be18dc6703..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_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 2916776a63c..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_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 4699da89aca..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_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/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/cxx/constants.h b/ompi/mpi/cxx/constants.h index 255853e7d28..4247d106874 100644 --- a/ompi/mpi/cxx/constants.h +++ b/ompi/mpi/cxx/constants.h @@ -12,7 +12,7 @@ // All rights reserved. // Copyright (c) 2008-2009 Cisco Systems, Inc. All rights reserved. // Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// Copyright (c) 2017 Research Organization for Information Science +// Copyright (c) 2017-2019 Research Organization for Information Science // and Technology (RIST). All rights reserved. // $COPYRIGHT$ // @@ -180,13 +180,10 @@ static const int COMBINER_NAMED = MPI_COMBINER_NAMED; static const int COMBINER_DUP = MPI_COMBINER_DUP; static const int COMBINER_CONTIGUOUS = MPI_COMBINER_CONTIGUOUS; static const int COMBINER_VECTOR = MPI_COMBINER_VECTOR; -static const int COMBINER_HVECTOR_INTEGER = MPI_COMBINER_HVECTOR_INTEGER; static const int COMBINER_HVECTOR = MPI_COMBINER_HVECTOR; static const int COMBINER_INDEXED = MPI_COMBINER_INDEXED; -static const int COMBINER_HINDEXED_INTEGER = MPI_COMBINER_HINDEXED_INTEGER; static const int COMBINER_HINDEXED = MPI_COMBINER_HINDEXED; static const int COMBINER_INDEXED_BLOCK = MPI_COMBINER_INDEXED_BLOCK; -static const int COMBINER_STRUCT_INTEGER = MPI_COMBINER_STRUCT_INTEGER; static const int COMBINER_STRUCT = MPI_COMBINER_STRUCT; static const int COMBINER_SUBARRAY = MPI_COMBINER_SUBARRAY; static const int COMBINER_DARRAY = MPI_COMBINER_DARRAY; 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/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/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/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 6a664e9bd2f..930883d1e8b 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)); @@ -158,10 +157,7 @@ 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)); 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)); @@ -379,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)); @@ -390,17 +385,12 @@ 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)); 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)); 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)); 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_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/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/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/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); - } -} 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/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); - } -} 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/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 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 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. 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. 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_Gatherv.3in b/ompi/mpi/man/man3/MPI_Gatherv.3in index 7c38c56bce6..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_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_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_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_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_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_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 e624a291c04..94448a65246 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_envelope.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_envelope.3in @@ -84,11 +84,11 @@ 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_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_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 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 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/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 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 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)