4.9.6. MPI功能

以下是用于设置各种MPI API行为默认值的命令行选项,可与configure一起使用:

  • --with-mpi-param-check[=VALUE]: 是否在运行时检查MPI函数参数错误。允许以下VALUE值:

    • always: 始终检查MPI函数参数是否存在错误

    • never: 从不检查MPI函数参数的错误

    • runtime: MPI函数参数是否检查取决于MCA参数mpi_param_check的值(默认:是)。

    • yes: "always"的同义词(等同于--with-mpi-param-check)。

    • no: "never"的同义词(等同于--without-mpi-param-check)。

    如果未指定--with-mpi-param,则默认使用runtime

  • --disable-mpi-thread-multiple: 禁用MPI线程级别MPI_THREAD_MULTIPLE(默认情况下是启用的)。

  • --disable-ft: 在Open MPI中禁用用户级故障缓解(ULFM)支持 (默认情况下是启用的)。

    See the ULFM section 获取更多信息。

  • --enable-mpi-java: 启用构建实验性的Java MPI接口(默认禁用)。您可能还需要指定--with-jdk-dir--with-jdk-bindir和/或--with-jdk-headers

    警告

    请注意该Java接口是不完整的 (即:不支持所有MPI功能)且可能会变更。Open MPI开发团队非常希望 听取您对该接口的反馈意见。

    参见Java章节获取更多详细信息。

  • --enable-mpi-fortran[=VALUE]: 默认情况下,Open MPI会尝试构建所有3种Fortran绑定: mpif.hmpi模块和mpi_f08模块。允许使用以下 VALUE值:

    • all: yes的同义词。

    • yes: 尝试构建所有3种Fortran绑定;跳过任何无法构建的绑定(与--enable-mpi-fortran相同)。

    • mpifh: 仅构建mpif.h支持。

    • usempi: 仅构建mpif.hmpi模块支持。

    • usempif08: 构建mpif.hmpi模块以及mpi_f08模块支持。

    • none: no的同义词。

    • no: 不构建任何MPI Fortran支持(等同于--disable-mpi-fortran)。此选项与构建OpenSHMEM Fortran接口互斥。

  • --with-mpi-moduledir=DIR: 指定安装MPI Fortran绑定模块文件的具体DIR目录。默认情况下,Open MPI会将Fortran模块文件安装到$libdir中。

  • --enable-mpi-ext[=LIST]: 启用Open MPI的非便携式API扩展。LIST是一个 以逗号分隔的扩展列表。如果未指定LIST,则所有 扩展都将被启用。

    详情请参阅"Open MPI API扩展"部分。

  • --disable-mpi-io: 禁用内置的MPI-2 I/O支持,通常是因为将使用外部提供的MPI I/O包。默认是使用内部框架系统,该系统采用ompio组件和专门修改过的ROMIO版本(集成在romio组件中)

  • --disable-io-romio: 禁用ROMIO MPI-IO组件的编译。这是一种已弃用的机制;其效果等同于将io-romio341添加到传递给--enable-mca-no-build的选项列表中。

  • --with-io-romio-flags=FLAGS: 将FLAGS传递给ROMIO发行版的配置脚本。该选项通常仅用于将特定并行文件系统的预处理器/编译器/链接器标志回传给ROMIO系统。

  • --disable-io-ompio: 禁用ompio MPI-IO组件

  • --enable-sparse-groups: 启用稀疏组功能。这将显著节省内存,特别是在创建大型通信器时。(默认禁用)