Re: [OMPI devel] Incorrect and undefined return code/function/data type at C++ header
Dear All, I fixed the patch. (MPI::Fint etc.) So, please replace the patch. Best regards. --- Yuki MATSUMOTO MPI development team, Fujitsu (2011/12/09 11:35), Y.MATSUMOTO wrote: Dear Jeff and all, Thank you for your comment. I'm sorry for not replying sooner. 1:MPI::Fint We checked C++ header using MPI-2.1 standard. So, it doesn't need MPI::Fint definition. (Please remove it!) 2:MPI::Grequest::Start Sorry! I send you incorrect list. Best regards. --- Yuki MATSUMOTO MPI development team, Fujitsu (2011/12/06 1:35), Jeff Squyres wrote: Many thanks for the patch! Two minor points: 1. I do not believe that MPI::Fint exists. It's surprising, but I'm pretty sure we double checked this back in the MPI-2.2 timeframe and came to the conclusions that a) it does not exist, and b) it should not exist, because all C++<--> Fortran interaction is supposed to go through the C translation routines. 2. Grequest::Start is a static function on the MPI namespace -- it is not marked "const" in MPI 2.1 or 2.2 (I don't see it in the patch, either). On Dec 4, 2011, at 9:31 PM, Y.MATSUMOTO wrote: Dear all, We send next feed back. It's about C++ header file. In ompi/mpi/cxx/*.h, Some definitions of return code, type and function are lacked or incorrect. Attached patch fixes them (This Patch is for V1.4.X). Following list is what is lacked and incorrect. *Undefined return code -- MPI::ERR_ACCESS MPI::ERR_AMODE MPI::ERR_ASSERT MPI::ERR_BAD_FILE MPI::ERR_CONVERSION MPI::ERR_DISP MPI::ERR_DUP_DATAREP MPI::ERR_FILE_EXISTS MPI::ERR_FILE_IN_USE MPI::ERR_FILE MPI::ERR_INFO MPI::ERR_IO MPI::ERR_LOCKTYPE MPI::ERR_NOT_SAME MPI::ERR_NO_SPACE MPI::ERR_NO_SUCH_FILE MPI::ERR_PORT MPI::ERR_QUOTA MPI::ERR_READ_ONLY MPI::ERR_RMA_CONFLICT MPI::ERR_RMA_SYNC MPI::ERR_SIZE MPI::ERR_UNSUPPORTED_DATAREP MPI::ERR_UNSUPPORTED_OPERATION -- *Undefined data type -- MPI::LONG_LONG_INT MPI::Fint MPI::F_DOUBLE_COMPLEX -- *Undefined function -- MPI::Datatype::Create_darray MPI::Datatype::Pack_external MPI::Datatype::Pack_external_size MPI::Datatype::Unpack_external MPI::Add_error_class MPI::Add_error_code MPI::Add_error_string MPI::Datatype::Create_f90_complex MPI::Datatype::Create_f90_integer MPI::Datatype::Create_f90_real MPI::Datatype::Match_size -- *Incorrect of definitions (MPI-2.1 standard defines these as "const", but they are not "const" in code) -- MPI::Intercomm::Merge MPI::Cartcomm::Sub MPI::Grequest::Start -- *Incorrect of definitions (MPI-2.1 standard defines these as not "const", but they are "const" in code) -- MPI::Comm::Set_errhandler MPI::File::Set_errhandler MPI::Win::Set_errhandler -- Best regards. -- Yuki MATSUMOTO MPI development team, Fujitsu ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel Index: ompi/mpi/cxx/comm.h === --- ompi/mpi/cxx/comm.h (revision 25570) +++ ompi/mpi/cxx/comm.h (working copy) @@ -382,7 +382,7 @@ static Errhandler Create_errhandler(Comm::Errhandler_fn* function); - virtual void Set_errhandler(const Errhandler& errhandler) const; + virtual void Set_errhandler(const Errhandler& errhandler); virtual Errhandler Get_errhandler() const; Index: ompi/mpi/cxx/topology_inln.h === --- ompi/mpi/cxx/topology_inln.h(revision 25570) +++ ompi/mpi/cxx/topology_inln.h(working copy) @@ -99,7 +99,7 @@ } inline MPI::Cartcomm -MPI::Cartcomm::Sub(const bool remain_dims[]) +MPI::Cartcomm::Sub(const bool remain_dims[]) const { int ndims; MPI_Cartdim_get(mpi_comm, &ndims); Index: ompi/mpi/cxx/intercomm.h === --- ompi/mpi/cxx/intercomm.h(revision 25570) +++ ompi/mpi/cxx/intercomm.h(working copy) @@ -77,7 +77,7 @@ virtual Group Get_remote_group() const; - virtual Intracomm Merge(bool high); + virtual Intracomm Merge(bool high) const; virtual Intercomm Create(const Group& group) const; Index: ompi/mpi/cxx/mpicxx.cc === --- ompi/mpi/cxx/mpicxx.cc (revision 25570) +++ ompi/mpi/cxx/mpicxx.cc (working copy) @@ -102,11 +102,13 @@ // optional datatype (C / C++) const D
Re: [OMPI devel] Incorrect and undefined return code/function/data type at C++ header
Dear Jeff and all, Thank you for your comment. I'm sorry for not replying sooner. 1:MPI::Fint We checked C++ header using MPI-2.1 standard. So, it doesn't need MPI::Fint definition. (Please remove it!) 2:MPI::Grequest::Start Sorry! I send you incorrect list. Best regards. --- Yuki MATSUMOTO MPI development team, Fujitsu (2011/12/06 1:35), Jeff Squyres wrote: Many thanks for the patch! Two minor points: 1. I do not believe that MPI::Fint exists. It's surprising, but I'm pretty sure we double checked this back in the MPI-2.2 timeframe and came to the conclusions that a) it does not exist, and b) it should not exist, because all C++<--> Fortran interaction is supposed to go through the C translation routines. 2. Grequest::Start is a static function on the MPI namespace -- it is not marked "const" in MPI 2.1 or 2.2 (I don't see it in the patch, either). On Dec 4, 2011, at 9:31 PM, Y.MATSUMOTO wrote: Dear all, We send next feed back. It's about C++ header file. In ompi/mpi/cxx/*.h, Some definitions of return code, type and function are lacked or incorrect. Attached patch fixes them (This Patch is for V1.4.X). Following list is what is lacked and incorrect. *Undefined return code -- MPI::ERR_ACCESS MPI::ERR_AMODE MPI::ERR_ASSERT MPI::ERR_BAD_FILE MPI::ERR_CONVERSION MPI::ERR_DISP MPI::ERR_DUP_DATAREP MPI::ERR_FILE_EXISTS MPI::ERR_FILE_IN_USE MPI::ERR_FILE MPI::ERR_INFO MPI::ERR_IO MPI::ERR_LOCKTYPE MPI::ERR_NOT_SAME MPI::ERR_NO_SPACE MPI::ERR_NO_SUCH_FILE MPI::ERR_PORT MPI::ERR_QUOTA MPI::ERR_READ_ONLY MPI::ERR_RMA_CONFLICT MPI::ERR_RMA_SYNC MPI::ERR_SIZE MPI::ERR_UNSUPPORTED_DATAREP MPI::ERR_UNSUPPORTED_OPERATION -- *Undefined data type -- MPI::LONG_LONG_INT MPI::Fint MPI::F_DOUBLE_COMPLEX -- *Undefined function -- MPI::Datatype::Create_darray MPI::Datatype::Pack_external MPI::Datatype::Pack_external_size MPI::Datatype::Unpack_external MPI::Add_error_class MPI::Add_error_code MPI::Add_error_string MPI::Datatype::Create_f90_complex MPI::Datatype::Create_f90_integer MPI::Datatype::Create_f90_real MPI::Datatype::Match_size -- *Incorrect of definitions (MPI-2.1 standard defines these as "const", but they are not "const" in code) -- MPI::Intercomm::Merge MPI::Cartcomm::Sub MPI::Grequest::Start -- *Incorrect of definitions (MPI-2.1 standard defines these as not "const", but they are "const" in code) -- MPI::Comm::Set_errhandler MPI::File::Set_errhandler MPI::Win::Set_errhandler -- Best regards. -- Yuki MATSUMOTO MPI development team, Fujitsu ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel
Re: [OMPI devel] Incorrect and undefined return code/function/data type at C++ header
Many thanks for the patch! Two minor points: 1. I do not believe that MPI::Fint exists. It's surprising, but I'm pretty sure we double checked this back in the MPI-2.2 timeframe and came to the conclusions that a) it does not exist, and b) it should not exist, because all C++ <--> Fortran interaction is supposed to go through the C translation routines. 2. Grequest::Start is a static function on the MPI namespace -- it is not marked "const" in MPI 2.1 or 2.2 (I don't see it in the patch, either). On Dec 4, 2011, at 9:31 PM, Y.MATSUMOTO wrote: > Dear all, > > We send next feed back. > It's about C++ header file. > > In ompi/mpi/cxx/*.h, > Some definitions of return code, type and function are lacked or incorrect. > Attached patch fixes them (This Patch is for V1.4.X). > > Following list is what is lacked and incorrect. > > *Undefined return code > -- > MPI::ERR_ACCESS > MPI::ERR_AMODE > MPI::ERR_ASSERT > MPI::ERR_BAD_FILE > MPI::ERR_CONVERSION > MPI::ERR_DISP > MPI::ERR_DUP_DATAREP > MPI::ERR_FILE_EXISTS > MPI::ERR_FILE_IN_USE > MPI::ERR_FILE > MPI::ERR_INFO > MPI::ERR_IO > MPI::ERR_LOCKTYPE > MPI::ERR_NOT_SAME > MPI::ERR_NO_SPACE > MPI::ERR_NO_SUCH_FILE > MPI::ERR_PORT > MPI::ERR_QUOTA > MPI::ERR_READ_ONLY > MPI::ERR_RMA_CONFLICT > MPI::ERR_RMA_SYNC > MPI::ERR_SIZE > MPI::ERR_UNSUPPORTED_DATAREP > MPI::ERR_UNSUPPORTED_OPERATION > -- > *Undefined data type > -- > MPI::LONG_LONG_INT > MPI::Fint > MPI::F_DOUBLE_COMPLEX > -- > > *Undefined function > -- > MPI::Datatype::Create_darray > MPI::Datatype::Pack_external > MPI::Datatype::Pack_external_size > MPI::Datatype::Unpack_external > MPI::Add_error_class > MPI::Add_error_code > MPI::Add_error_string > MPI::Datatype::Create_f90_complex > MPI::Datatype::Create_f90_integer > MPI::Datatype::Create_f90_real > MPI::Datatype::Match_size > -- > > *Incorrect of definitions > (MPI-2.1 standard defines these as "const", but they are not "const" in code) > -- > MPI::Intercomm::Merge > MPI::Cartcomm::Sub > MPI::Grequest::Start > -- > > *Incorrect of definitions > (MPI-2.1 standard defines these as not "const", but they are "const" in code) > -- > MPI::Comm::Set_errhandler > MPI::File::Set_errhandler > MPI::Win::Set_errhandler > -- > > Best regards. > -- > Yuki MATSUMOTO > MPI development team, > Fujitsu > > ___ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
[OMPI devel] Incorrect and undefined return code/function/data type at C++ header
Dear all, We send next feed back. It's about C++ header file. In ompi/mpi/cxx/*.h, Some definitions of return code, type and function are lacked or incorrect. Attached patch fixes them (This Patch is for V1.4.X). Following list is what is lacked and incorrect. *Undefined return code -- MPI::ERR_ACCESS MPI::ERR_AMODE MPI::ERR_ASSERT MPI::ERR_BAD_FILE MPI::ERR_CONVERSION MPI::ERR_DISP MPI::ERR_DUP_DATAREP MPI::ERR_FILE_EXISTS MPI::ERR_FILE_IN_USE MPI::ERR_FILE MPI::ERR_INFO MPI::ERR_IO MPI::ERR_LOCKTYPE MPI::ERR_NOT_SAME MPI::ERR_NO_SPACE MPI::ERR_NO_SUCH_FILE MPI::ERR_PORT MPI::ERR_QUOTA MPI::ERR_READ_ONLY MPI::ERR_RMA_CONFLICT MPI::ERR_RMA_SYNC MPI::ERR_SIZE MPI::ERR_UNSUPPORTED_DATAREP MPI::ERR_UNSUPPORTED_OPERATION -- *Undefined data type -- MPI::LONG_LONG_INT MPI::Fint MPI::F_DOUBLE_COMPLEX -- *Undefined function -- MPI::Datatype::Create_darray MPI::Datatype::Pack_external MPI::Datatype::Pack_external_size MPI::Datatype::Unpack_external MPI::Add_error_class MPI::Add_error_code MPI::Add_error_string MPI::Datatype::Create_f90_complex MPI::Datatype::Create_f90_integer MPI::Datatype::Create_f90_real MPI::Datatype::Match_size -- *Incorrect of definitions (MPI-2.1 standard defines these as "const", but they are not "const" in code) -- MPI::Intercomm::Merge MPI::Cartcomm::Sub MPI::Grequest::Start -- *Incorrect of definitions (MPI-2.1 standard defines these as not "const", but they are "const" in code) -- MPI::Comm::Set_errhandler MPI::File::Set_errhandler MPI::Win::Set_errhandler -- Best regards. -- Yuki MATSUMOTO MPI development team, Fujitsu Index: ompi/mpi/cxx/comm.h === --- ompi/mpi/cxx/comm.h (revision 25518) +++ ompi/mpi/cxx/comm.h (working copy) @@ -11,6 +11,7 @@ // Copyright (c) 2004-2005 The Regents of the University of California. // All rights reserved. // Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved. +// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. // $COPYRIGHT$ // // Additional copyrights may follow @@ -382,7 +383,7 @@ static Errhandler Create_errhandler(Comm::Errhandler_fn* function); - virtual void Set_errhandler(const Errhandler& errhandler) const; + virtual void Set_errhandler(const Errhandler& errhandler); virtual Errhandler Get_errhandler() const; Index: ompi/mpi/cxx/topology_inln.h === --- ompi/mpi/cxx/topology_inln.h(revision 25518) +++ ompi/mpi/cxx/topology_inln.h(working copy) @@ -11,6 +11,7 @@ // Copyright (c) 2004-2005 The Regents of the University of California. // All rights reserved. // Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. +// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. // $COPYRIGHT$ // // Additional copyrights may follow @@ -99,7 +100,7 @@ } inline MPI::Cartcomm -MPI::Cartcomm::Sub(const bool remain_dims[]) +MPI::Cartcomm::Sub(const bool remain_dims[]) const { int ndims; MPI_Cartdim_get(mpi_comm, &ndims); Index: ompi/mpi/cxx/intercomm.h === --- ompi/mpi/cxx/intercomm.h(revision 25518) +++ ompi/mpi/cxx/intercomm.h(working copy) @@ -11,6 +11,7 @@ // Copyright (c) 2004-2005 The Regents of the University of California. // All rights reserved. // Copyright (c) 2006 Cisco Systems, Inc. All rights reserved. +// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. // $COPYRIGHT$ // // Additional copyrights may follow @@ -77,7 +78,7 @@ virtual Group Get_remote_group() const; - virtual Intracomm Merge(bool high); + virtual Intracomm Merge(bool high) const; virtual Intercomm Create(const Group& group) const; Index: ompi/mpi/cxx/mpicxx.cc === --- ompi/mpi/cxx/mpicxx.cc (revision 25518) +++ ompi/mpi/cxx/mpicxx.cc (working copy) @@ -12,6 +12,7 @@ // All rights reserved. // Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved. // Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. +// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. // $COPYRIGHT$ // // Additional copyrights may follow @@ -102,11 +103,13 @@ // optional datatype (C / C++) const Datatype UNSIGNED_LONG_LONG(MPI_UNSIGNED_LONG_LONG); const Dat