4.9.8. 其他功能

以下是无法归类到上述任何类别的命令行选项,可用于configure

  • --without-memory-manager: 禁用构建Open MPI的内存管理器。Open MPI的内存管理器通常在基于Linux的平台上构建,主要用于某些基于OpenFabrics网络的优化(对于OpenFabrics网络并非必需,但缺少它可能会观察到一些性能损失)。

    警告

    Open MPI的内存管理功能为诸如InfiniBand等绕过操作系统的网络提供了重要的性能优化,该功能需要dlsym(3)接口支持,因此无法在完全静态的应用程序中工作。

  • --with-ft=TYPE: 指定要启用的容错类型。唯一允许的值为ulfmno(默认值为no)。更多详情请参阅the ULFM section

  • --enable-peruse: 启用PERUSE MPI数据分析接口。

  • --enable-heterogeneous: 启用对异构集群(例如具有不同字节序表示的机器)运行的支持。默认情况下禁用异构支持,因为它会带来轻微的性能损失。

    警告

    当前异构功能已损坏——请勿使用。

  • --with-wrapper-cflags=CFLAGS

  • --with-wrapper-cxxflags=CXXFLAGS

  • --with-wrapper-fcflags=FCFLAGS

  • --with-wrapper-ldflags=LDFLAGS

  • --with-wrapper-libs=LIBS: 将指定的标志添加到Open MPI"包装器"编译器(如mpicc——有关Open MPI包装器编译器的更多信息请见下文)使用的默认标志中。默认情况下,Open MPI的包装器编译器使用与构建Open MPI相同的编译器,并指定编译/链接MPI应用程序所需的最小附加标志集。这些配置选项使系统管理员能够在OMPI的包装器编译器中嵌入额外的标志(这是本地策略决定)。不同标志的含义如下:

    • CFLAGS: 由mpicc封装器传递给C编译器的标志参数

    • CXXFLAGS: 由mpic++mpiCC包装器传递给C++编译器的标志

    • FCFLAGS: 由mpifort包装器传递给Fortran编译器的标志

    • LDFLAGS: 所有包装器传递给链接器的标志

    • LIBS: 所有包装器传递给链接器的标志

    请参阅自定义包装器编译器行为部分,了解如何在运行时修改包装器编译器的行为。

  • --with-mpi-moduledir: 指定Fortran MPI模块文件的安装目录。

    由于历史原因,Open MPI的Fortran MPI模块文件默认安装在$libdir目录下。此选项允许您更改安装位置;例如,有些用户更倾向于将Fortran模块文件安装在$installdir目录中。

    注意

    如果您打算通过OPAL_PREFIX机制使Open MPI安装可重定位,则需要确保模块目录相对于prefix指定。例如:

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

    请注意可能需要额外的shell引号来防止shell变量扩展,以及在includedir周围添加${}是必要的,这样Open MPI才能识别这是一个需要扩展的特殊名称。

    最后,请注意Fortran模块安装目录不是可以通过运行时环境变量指定的已识别目录之一。要使Fortran模块目录可重定位,它需要相对于其他已识别的目录之一。