4.9.8. Miscellaneous functionality

The following are command line options that don’t fit any any of the above categories that can be used with configure:

  • --without-memory-manager: Disable building Open MPI’s memory manager. Open MPI’s memory manager is usually built on Linux based platforms, and is generally only used for optimizations with some OpenFabrics-based networks (it is not necessary for OpenFabrics networks, but some performance loss may be observed without it).

    Warning

    Open MPI’s memory management functionality, which provides important performance optimizations on OS-bypass networks such as InfiniBand, requires the dlsym(3) interface, and therefore does not work with fully-static applications.

  • --with-ft=TYPE: Specify the type of fault tolerance to enable. The only allowed values are ulfm and none. See the ULFM section for more details.

  • --enable-peruse: Enable the PERUSE MPI data analysis interface.

  • --enable-heterogeneous: Enable support for running on heterogeneous clusters (e.g., machines with different endian representations). Heterogeneous support is disabled by default because it imposes a minor performance penalty.

    Danger

    The heterogeneous functionality is currently broken — do not use.

  • --with-wrapper-cflags=CFLAGS

  • --with-wrapper-cxxflags=CXXFLAGS

  • --with-wrapper-fcflags=FCFLAGS

  • --with-wrapper-ldflags=LDFLAGS

  • --with-wrapper-libs=LIBS: Add the specified flags to the default flags that are used in Open MPI’s “wrapper” compilers (e.g., mpicc — see below for more information about Open MPI’s wrapper compilers). By default, Open MPI’s wrapper compilers use the same compilers used to build Open MPI and specify a minimum set of additional flags that are necessary to compile/link MPI applications. These configure options give system administrators the ability to embed additional flags in OMPI’s wrapper compilers (which is a local policy decision). The meanings of the different flags are:

    • CFLAGS: Flags passed by the mpicc wrapper to the C compiler

    • CXXFLAGS: Flags passed by the mpic++ and mpiCC wrappers to the C++ compiler

    • FCFLAGS: Flags passed by the mpifort wrapper to the Fortran compiler

    • LDFLAGS: Flags passed by all the wrappers to the linker

    • LIBS: Flags passed by all the wrappers to the linker

    See the section on customizing wrapper compiler behavior to see how to alter the wrapper compiler behavior at run time.

  • --with-mpi-moduledir: Specify the directory where the Fortran MPI module files are installed.

    For historical reasons, Open MPI’s Fortran MPI modulefiles are installed into $libdir by default. This option lets you change where they are installed; some users prefer Fortran module files installed into $installdir, for example.

    Note

    If you intend to make your Open MPI installation relocatable via the OPAL_PREFIX mechanism, you will want to ensure to specify the module directory relative to the prefix. For example:

    $ ./configure --prefix=/opt/openmpi --with-mpi-moduledir='${includedir}/modules`...
    

    Note the additional shell quoting that is likely necessary to prevent shell variable expansion, and the additional ${} around includedir that is necessary for Open MPI to recognize that it is a special name that needs to be expanded.

    Finally, note that the Fortran module installation directory is not one of the recognized directories that can be specified via environment variable at run time. Instead, to make the Fortran module directory relocatable, it needs to be relative to one of the other recognized directories.