1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
.. This file is included by building-open-mpi.rst
MPI functionality
^^^^^^^^^^^^^^^^^
The following are command line options to set the default for various
MPI API behaviors that can be used with ``configure``:
* ``--with-mpi-param-check[=VALUE]``:
Whether or not to check MPI function parameters for errors at
runtime. The following ``VALUE``\s are permitted:
* ``always``: MPI function parameters are always checked for errors
* ``never``: MPI function parameters are never checked for errors
* ``runtime``: Whether MPI function parameters are checked depends on
the value of the MCA parameter ``mpi_param_check`` (default: yes).
* ``yes``: Synonym for "always" (same as ``--with-mpi-param-check``).
* ``no``: Synonym for "never" (same as ``--without-mpi-param-check``).
If ``--with-mpi-param`` is not specified, ``runtime`` is the default.
* ``--disable-mpi-thread-multiple``:
Disable the MPI thread level ``MPI_THREAD_MULTIPLE`` (it is enabled by
default).
* ``--disable-ft``:
Disable the User-Level Fault Mitigation (ULFM) support in Open MPI
(it is enabled by default).
:ref:`See the ULFM section <ulfm-label>` for more information.
* ``--enable-mpi-java``:
Enable building of an **EXPERIMENTAL** Java MPI interface (disabled
by default). You may also need to specify ``--with-jdk-dir``,
``--with-jdk-bindir``, and/or ``--with-jdk-headers``.
.. warning:: Note that this Java interface is **INCOMPLETE**
(meaning: it does not support all MPI functionality) and **LIKELY
TO CHANGE**. The Open MPI developers would very much like to
hear your feedback about this interface.
:ref:`See the Java section <open-mpi-java-label>` for many more
details.
* ``--enable-mpi-fortran[=VALUE]``:
By default, Open MPI will attempt to build all 3 Fortran bindings:
``mpif.h``, the ``mpi`` module, and the ``mpi_f08`` module. The following
``VALUE``\s are permitted:
* ``all``: Synonym for ``yes``.
* ``yes``: Attempt to build all 3 Fortran bindings; skip
any binding that cannot be built (same as
``--enable-mpi-fortran``).
* ``mpifh``: Only build ``mpif.h`` support.
* ``usempi``: Only build ``mpif.h`` and ``mpi`` module support.
* ``usempif08``: Build ``mpif.h``, ``mpi`` module, and ``mpi_f08``
module support.
* ``none``: Synonym for ``no``.
* ``no``: Do not build any MPI Fortran support (same as
``--disable-mpi-fortran``). This is mutually exclusive
with building the OpenSHMEM Fortran interface.
* ``--with-mpi-moduledir=DIR``:
Specify a specific ``DIR`` directory where to install the MPI
Fortran bindings modulefiles. By default, Open MPI will install
Fortran modulefiles into ``$libdir``.
* ``--enable-mpi-ext[=LIST]``:
Enable Open MPI's non-portable API extensions. ``LIST`` is a
comma-delmited list of extensions. If no ``LIST`` is specified, all
of the extensions are enabled.
See the "Open MPI API Extensions" section for more details.
* ``--disable-mpi-io``:
Disable built-in support for MPI-2 I/O, likely because an
externally-provided MPI I/O package will be used. Default is to use
the internal framework system that uses the ompio component and a
specially modified version of ROMIO that fits inside the romio
component
* ``--disable-io-romio``:
Disable the :ref:`ROMIO MPI-IO <label-romio-reference>` component
from being compiled. This is a deprecated mechanism; it is effectively
the same as adding ``io-romio341`` to the list of items passed to
``--enable-mca-no-build``.
* ``--with-io-romio-flags=FLAGS``:
Pass ``FLAGS`` to the ROMIO distribution configuration script. This
option is usually only necessary to pass
parallel-filesystem-specific preprocessor/compiler/linker flags back
to the ROMIO system.
* ``--disable-io-ompio``:
Disable the ompio MPI-IO component
* ``--enable-sparse-groups``:
Enable the usage of sparse groups. This would save memory
significantly especially if you are creating large
communicators. (Disabled by default)
|