Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] RFC: Rename several OMPI_* names to OPAL_*
From: George Bosilca (bosilca_at_[hidden])
Date: 2009-02-10 16:38:22


These changes look fine to me. However, I would like to amend this
proposal to include the splitting of the config directory. Over the
last months, I know several project that use OPAL, and they like to
use it as an independent part and not as a subset of ompi. Therefore,
I had to extract everything related to OPAL from the ompi tree. While
the source code is pretty well divided in sub-projects, this is not
the case for the m4 scripts in the config directory.

I would like to propose to split the config directory in several
parts: opal/config, orte/config and ompi/config and to modify the
autogen script to take them into account.

   Thanks,
     george.

On Feb 10, 2009, at 12:54 , Greg Koenig wrote:

> RFC: Rename several OMPI_* names to OPAL_*
>
> WHAT: Rename several #define values that encode the prefix "OMPI_" to
> instead encode the prefix "OPAL_" throughout the entire Open MPI
> source code
> tree. Also, eliminate unnecessary #include lines from source code
> files
> under the ".../ompi/mca/btl" subtree.
>
> WHY: (1) These are general source code improvements that update
> #define
> values to more accurately describe which layer the values belong and
> remove
> unnecessary dependencies within the source code; (2) These changes
> will help
> with the effort to move the BTL code into an independent layer.
>
> WHERE: 1.4 trunk
>
> WHEN: Negotiable -- see below, but probably near split for 1.4
> (No earlier than February 19, 2009)
>
> Timeout: February 19, 2009
>
> ====================================
>
> The proposed change involves renaming several #define values that
> encode the
> prefix "OMPI_" to instead encode the prefix "OPAL_" throughout the
> entire
> Open MPI source code tree. These names are holdovers from when the
> three
> existing layers of Open MPI were developed together prior to being
> split
> apart. Additionally, the proposed change eliminates a few unnecessary
> #include lines in BTL source code files under the .../ompi/mca/btl
> subtree.
>
> Specific modifications are detailed following this message text. A
> script
> to carry out these modifications is also attached to this message
> (gzipped
> to pass unmolested through the ORNL e-mail server).
>
> We believe these modifications improve the Open MPI source code by
> renaming
> values such that they correspond to the Open MPI layer to which they
> most
> closely belong, and that this improvement is itself of benefit to
> Open MPI.
> These modifications will also aid our ongoing efforts to extract the
> BTL
> code into a new layer ("ONET") that can be built with just direct
> dependence
> on the OPAL layer.
>
> Although these changes are simple string substitutions, they touch a
> fair
> amount of code in the Open MPI tree. Three people have tested these
> changes
> at our site on various platforms and have not discovered any problems.
> However, we recognize that some members of the community may have
> input/feedback regarding testing and we remain open to suggestions
> related
> to testing.
>
> One challenge that has been brought up regarding this RFC is that
> applying
> patches and/or CMRs to the source code tree after the proposed
> changes are
> performed will be more difficult. To that end, the best opportunity
> to
> apply the modifications proposed in this RFC seems to be in
> conjunction with
> 1.4. (My understanding from the developer conference call this
> morning is
> that there are a few other changes waiting for this switch as
> well.) We are
> open to suggestions about the best time to apply this RFC to avoid
> major
> disruptions.
>
>
> Specific changes follow:
>
> * From .../configure.ac.
> * OMPI_NEED_C_BOOL
> * OMPI_HAVE_WEAK_SYMBOLS
> * OMPI_C_HAVE_WEAK_SYMBOLS
> * OMPI_USE_STDBOOL_H
> * OMPI_HAVE_SA_RESTART
> * OMPI_HAVE_VA_COPY
> * OMPI_HAVE_UNDERSCORE_VA_COPY
> * OMPI_PTRDIFF_TYPE
> * (also, ompi_ptrdiff_t)
> * OMPI_ALIGN_WORD_SIZE_INTEGERS
> * OMPI_WANT_LIBLTDL
> * (also, OMPI_ENABLE_DLOPEN_SUPPORT)
> * OMPI_STDC_HEADERS
> * OMPI_HAVE_SYS_TIME_H
> * OMPI_HAVE_LONG_LONG
> * OMPI_HAVE_SYS_SYNCH_H
> * OMPI_SIZEOF_BOOL
> * OMPI_SIZEOF_INT
>
> * From .../config/ompi_check_attributes.m4.
> * OMPI_HAVE_ATTRIBUTE
> * (also, ompi_cv___attribute__)
> * OMPI_HAVE_ATTRIBUTE_ALIGNED
> * (also, ompi_cv___attribute__aligned)
> * OMPI_HAVE_ATTRIBUTE_ALWAYS_INLINE
> * (also, ompi_cv___attribute__always_inline)
> * OMPI_HAVE_ATTRIBUTE_COLD
> * (also, ompi_cv___attribute__cold)
> * OMPI_HAVE_ATTRIBUTE_CONST
> * (also, ompi_cv___attribute__const)
> * OMPI_HAVE_ATTRIBUTE_DEPRECATED
> * (also, ompi_cv___attribute__deprecated)
> * OMPI_HAVE_ATTRIBUTE_FORMAT
> * (also, ompi_cv___attribute__format)
> * OMPI_HAVE_ATTRIBUTE_HOT
> * (also, ompi_cv___attribute__hot)
> * OMPI_HAVE_ATTRIBUTE_MALLOC
> * (also, ompi_cv___attribute__malloc)
> * OMPI_HAVE_ATTRIBUTE_MAY_ALIAS
> * (also, ompi_cv___attribute__may_alias)
> * OMPI_HAVE_ATTRIBUTE_NO_INSTRUMENT_FUNCTION
> * (also, ompi_cv___attribute__no_instrument_function)
> * OMPI_HAVE_ATTRIBUTE_NONNULL
> * (also, ompi_cv___attribute__nonnull)
> * OMPI_HAVE_ATTRIBUTE_NORETURN
> * (also, ompi_cv___attribute__noreturn)
> * OMPI_HAVE_ATTRIBUTE_PACKED
> * (also, ompi_cv___attribute__packed)
> * OMPI_HAVE_ATTRIBUTE_PURE
> * (also, ompi_cv___attribute__pure)
> * OMPI_HAVE_ATTRIBUTE_SENTINEL
> * (also, ompi_cv___attribute__sentinel)
> * OMPI_HAVE_ATTRIBUTE_UNUSED
> * (also, ompi_cv___attribute__unused)
> * OMPI_HAVE_ATTRIBUTE_VISIBILITY
> * (also, ompi_cv___attribute__visibility)
> * OMPI_HAVE_ATTRIBUTE_WARN_UNUSED_RESULT
> * (also, ompi_cv___attribute__warn_unused_result)
> * OMPI_HAVE_ATTRIBUTE_WEAK_ALIAS
> * (also, ompi_cv___attribute__weak_alias)
>
> * From .../config/ompi_check_ident.m4.
> * OMPI_$1_USE_PRAGMA_IDENT
> * (also, ompi_pragma_ident_happy)
> * OMPI_$1_USE_IDENT
> * (also, ompi_ident_happy)
> * OMPI_$1_USE_PRAGMA_COMMENT
> * (also, ompi_pragma_comment_happy)
> * OMPI_$1_USE_CONST_CHAR_IDENT
> * (also, ompi_static_const_char_happy)
>
> * From .../config/ompi_check_pthreads_pids.m4.
> * OMPI_THREADS_HAVE_DIFFERENT_PIDS
>
> * From .../config/ompi_check_visibility.m4.
> * OMPI_C_HAVE_VISIBILITY
>
> * From .../config/ompi_config_asm.m4.
> * OMPI_ASM_TEXT
> * (also, ompi_cv_asm_text)
> * OMPI_ASM_GLOBAL
> * (also, ompi_cv_asm_global)
> * OMPI_ASM_LSYM
> * (also, ompi_cv_asm_lsym)
> * OMPI_ASM_GSYM
> * (also, ompi_cv_asm_gsym)
> * OMPI_ASM_LABEL_SUFFIX
> * (also, ompi_cv_asm_latel_suffix)
> * OMPI_ASM_ALIGN_LOG
> * OMPI_ASM_TYPE
> * (also, ompi_cv_asm_type)
> * OMPI_ASM_SIZE
> * (also, ompi_asm_size)
> * OMPI_POWERPC_R_REGISTERS
> * (also, ompi_cv_asm_powerpc_r_reg)
> * OMPI_C_GCC_INLINE_ASSEMBLY
> * OMPI_C_DEC_INLINE_ASSEMBLY
> * OMPI_C_XLC_INLINE_ASSEMBLY
> * OMPI_WANT_SMP_LOCKS
> * OMPI_ASM_SUPPORT_64BIT
> * OMPI_ASSEMBLY_FORMAT
> * OMPI_ASSEMBLY_ARCH
> * OMPI_HAVE_ASM_FILE
>
> * From .../config/ompi_config_threads.m4.
> * OMPI_HAVE_POSIX_THREADS
> * OMPI_HAVE_SOLARIS_THREADS
> * OMPI_THREADS_HAVE_DIFFERENT_PIDS
> * OMPI_ENABLE_MPI_THREADS
> * OMPI_ENABLE_PROGRESS_THREADS
>
> * From .../config/ompi_functions.m4.
> * OMPI_ARCH
>
> * From .../config/ompi_setup_cc.m4.
> * OMPI_C_HAVE_BUILTIN_EXPECT
> * OMPI_C_HAVE_BUILTIN_PREFETCH
> * OMPI_CC
>
> * From .../config/ompi_configure_options.m4.
> * OMPI_ENABLE_MEM_DEBUG
> * OMPI_ENABLE_MEM_PROFILE
> * OMPI_ENABLE_DEBUG
> * OMPI_WANT_PRETTY_PRINT_STACKTRACE
> * OMPI_ENABLE_PTY_SUPPORT
> * OMPI_ENABLE_HETEROGENEOUS_SUPPORT
> * OMPI_WANT_HOME_CONFIG_FILES
>
> * From .../opal/include/opal_config_bottom.h.
> * OMPI_HAVE_THREADS
> * OMPI_HAVE_THREAD_SUPPORT
> * OMPI_ALIGNMENT_CHAR
> * OMPI_ALIGNMENT_SHORT
> * OMPI_ALIGNMENT_INT
> * OMPI_ALIGNMENT_LONG
> * OMPI_PATH_MAX
> * OMPI_DISABLE_ENABLE_MEM_DEBUG
> * OMPI_DEBUG_ZERO
> * OMPI_HAVE_BROKEN_QSORT
>
> * Due to changing the values set in the above steps, the .m4
> configure macro
> files are now named inappropriately. Therefore, update the following
> filenames and change the configure scripts to point to the correct new
> names.
> * .../config/ompi_check_attributes.m4 to
> .../config/opal_check_attributes.m4
> * .../config/ompi_check_ident.m4 to
> .../config/opal_check_ident.m4
> * .../config/ompi_check_pthread_pids.m4 to
> .../config/opal_check_pthread_pids.m4
> * .../config/ompi_check_visibility.m4 to
> .../config/opal_check_visibility.m4
> * .../config/ompi_config_asm.m4 to
> .../config/opal_config_asm.m4
> * .../config/ompi_config_threads.m4 to
> .../config/opal_config_threads.m4
> * .../config/ompi_functions.m4 to
> .../config/opal_functions.m4
> * .../config/ompi_setup_cc.m4 to
> .../config/opal_setup_cc.m4
> * .../config/ompi_configure_options.m4 to
> .../config/opal_configure_options.m4
>
> * Remove unnecessary #include lines from source code files under the
> .../ompi/mca/btl subtree that are not needed.
> * #include "ompi/mca/pml/oml.h"
>
> <koenig-fix1.sh.gz>_______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel