charm AT lists.siebelschool.illinois.edu
Subject: Charm++ parallel programming system
List archive
- From: Jeff Hammond <jeff.science AT gmail.com>
- To: "charm AT cs.illinois.edu" <charm AT cs.illinois.edu>
- Subject: [charm] MPI namespace sanctity and AMPI extensions
- Date: Tue, 12 Jan 2016 14:55:27 -0800
http://charm.cs.illinois.edu/manuals/html/ampi/manual.html lists a number of extensions to MPI that are implemented in AMPI.
MPI_Migrate MPI_Checkpoint MPI_MemCheckpoint MPI_Register
MPI_MigrateTo MPI_Register_main MPI_Setmigratable MPI_Get_userdata
MPI_Start_measure MPI_Stop_measure MPI_Just_migrated MPI_About_to_migrate
MPI_My_pe MPI_My_node MPI_Num_pes MPI_Num_nodes
MPI_Set_load MPI_Command_argument_count MPI_Get_command_argument
From MPI 3.1 2.6.3:
"All MPI names have an MPI_ prefix, defined constants are in all capital letters, and defined types and functions have one capital letter after the prefix. Programs must not declare names (identifiers), e.g., for variables, functions, constants, types, or macros, beginning with any prefix of the form MPI_, where any of the letters are either upper or lower case. To support the profiling interface, programs must not declare functions with names beginning with any prefix of the form PMPI_, where any of the letters are either upper or lower case."
MPI_Migrate MPI_Checkpoint MPI_MemCheckpoint MPI_Register
MPI_MigrateTo MPI_Register_main MPI_Setmigratable MPI_Get_userdata
MPI_Start_measure MPI_Stop_measure MPI_Just_migrated MPI_About_to_migrate
MPI_My_pe MPI_My_node MPI_Num_pes MPI_Num_nodes
MPI_Set_load MPI_Command_argument_count MPI_Get_command_argument
From MPI 3.1 2.6.3:
"All MPI names have an MPI_ prefix, defined constants are in all capital letters, and defined types and functions have one capital letter after the prefix. Programs must not declare names (identifiers), e.g., for variables, functions, constants, types, or macros, beginning with any prefix of the form MPI_, where any of the letters are either upper or lower case. To support the profiling interface, programs must not declare functions with names beginning with any prefix of the form PMPI_, where any of the letters are either upper or lower case."
This text is slightly stronger in MPI-3 than in older versions, but the intent has always been the same.
Normally, this point is academic. However, the MPI Forum has debated adding two functions with the same names as AMPI extensions (https://github.com/jeffhammond/miscellaneous-mpi-issues/issues/2 - note that this location is temporary and may falsely suggest it is a pet project of mine; migrating from Trac - e.g. https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/351 - has been a lot of work for some of us). While the syntax and semantics may end up being the same, since they should match Fortran 2008, if they are not, it's going to be a major headache for users. While this ticket may not ever pass, it demonstrates the real possibility of problems caused by using the MPI_ namespace.
Best,
Normally, this point is academic. However, the MPI Forum has debated adding two functions with the same names as AMPI extensions (https://github.com/jeffhammond/miscellaneous-mpi-issues/issues/2 - note that this location is temporary and may falsely suggest it is a pet project of mine; migrating from Trac - e.g. https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/351 - has been a lot of work for some of us). While the syntax and semantics may end up being the same, since they should match Fortran 2008, if they are not, it's going to be a major headache for users. While this ticket may not ever pass, it demonstrates the real possibility of problems caused by using the MPI_ namespace.
Currently, MPICH uses MPIX_ for extensions, while Open-MPI uses OMPI_. I would encourage the AMPI_ namespace to avoid conflicts with those, although the MPI standard is silent on this topic.
This is low priority and I'll submit a patch at some point if it is below the ZBB line for you all, assuming you are amenable to making the change.
Best,
- [charm] MPI namespace sanctity and AMPI extensions, Jeff Hammond, 01/12/2016
- Re: [charm] [ppl] MPI namespace sanctity and AMPI extensions, Jim Phillips, 01/12/2016
- Re: [charm] [ppl] MPI namespace sanctity and AMPI extensions, Jeff Hammond, 01/12/2016
- <Possible follow-up(s)>
- Re: [charm] MPI namespace sanctity and AMPI extensions, Sam White, 01/12/2016
- Re: [charm] [ppl] MPI namespace sanctity and AMPI extensions, Jim Phillips, 01/12/2016
Archive powered by MHonArc 2.6.16.