Skip to content

INI Section MPI Install

Jeff Squyres edited this page Sep 3, 2014 · 1 revision

MPI Install Section

This section is used for installing MPI imeplemtations that will be tested. It has both fields and plugin modules.

Fields

Note that many of the fields in the MPI Install section are actually fairly specific to source-based MPI implementations, and may someday move into a specific module (e.g., "OMPI").

append_path

This field is identical to prepend_path except that the value is appended to path-like environment variables (as opposed to prepending them).

bitness

A comma-delimited list of "bitness" values for the MPI installation. The bitness values are mainly used for searching for specific results in the MTT database. Accepted values are:

  • 32
  • 64

Most MPI installations will only have one bitness, but some platforms support multi-build scenarios/packages where a single MPI implementation may actually support multiple bitness values simultaneously (which is why a comma-delimited list is acceptable). The default value for this field is to call the '''&get_mpi_install_bitness()''' funclet (if this field is not specified, the default value will be used), which attempts to determine the bitness(es) of the MPI automatically by running some tests on libmpi. The value can be overridden for cross-compilation purposes, or cases where '''&get_mpi_install_bitness()''' is unable to determine the correct bitness of the MPI installation.

compiler_name

This field indicates the name of the compiler and is mainly used for categorizing results in the MTT database. Any values are valid, but it is most helpful when a convention is used so that searches can be queried uniformly within the database results. Common names include:

  • absoft
  • gnu
  • intel
  • pathscale
  • pgi
  • sun

NOTE: This field is fairly specific to source-based MPI installations, and may someday be moved to a module.

compiler_version

This field represents the version of the compiler. It is usually obtained by a funclet (to ensure that the version is correct and up-to-date), although hard-coding is also fine.

NOTE: This field is fairly specific to source-based MPI installations, and may someday be moved to a module.

configure_arugments

The value of this field is passed to the back-end configure process.

NOTE: This field is fairly specific to source-based MPI installations, and may someday be moved to a module.

endian

Similar to bitness, this field is a comma-delimited value indicating the endian(s) of the MPI installation. Accepted values are:

  • little
  • big

The default value of this field is '''&get_mpi_install_endian()'''.

env_module

If set, the value a comma-delimited list of names of environment modules (see the environment modules project on SourceForge) to load before installing this MPI. The module(s) will be unloaded when the install phase section has completed. This value will also "carry through" to Test Build and Test Run sections, meaning that when this MPI install is used with test builds or runs, the module(s) will be loaded before the phase section and unloaded after the phase section.

make_all_arguments

The value of this field is passed to the "make all" command in the MPI install module.

NOTE: This field is fairly specific to source-based MPI installations, and may someday be moved to a module.

make_check

This field is a logical indicating whether "make check" should be run in the MPI install module or not. Valid values are:

  • 0 (no)
  • 1 (yes)

NOTE: This field is fairly specific to source-based MPI installations, and may someday be moved to a module.

merge_stdout_stderr

A logical value (0 or 1) indicating whether to keep separate streams of stdout and stderr or merge them together into one stream for reporting purposes.

module

The name of the module used to build the MPI implementation.

mpi_get

A comma-delimited list of MPI Get sections that this MPI Install section is eligible to install.

prepend_path

Similar to setenv, prepend a path-like environment variable with the value of this field. The original environment variable value is restored after the phase section has completed. This value is also "carried forward" like env_module.

The value of this field is similar in form to setenv: the first token is the environment variable, the remaining tokens are assumed to be the value. For example:

prepend_path = PATH /path/to/some/compiler

This will prepend the value "/path/to/some/compiler" to the PATH environment variable.

The prepend_path field can be specified multiple times in a single section to prepend multiple environment variables.

save_stdout_on_success

A logical value (0 or 1) indicating whether the stdout of the installation should be saved if the install succeeds.

setenv

Similar to env_module, set an environment variable before executing this phase section. This value is also "carried forward" like env_module.

The value of this field is broken into two parts: the first token is the environment variable name; the second is the value of that environment variable. For example:

setenv = MyVariable a quick brown fox

This translates into setting the ''!MyVariable'' environment variable to the value "a quick brown fox".

The setenv field can be specified multiple times in a single section to set multiple environment variables.

stderr_save_lines

This field represents how many lines of stderr output from the MPI install module to save in the report / database. Values can be:

  • Negative: indicating that all lines of stderr should be saved (warning: this can be EXTREMELY expensive in terms of disk space, both on the MTT client and in the back-end database server! Unless you are absoultely sure that you will not have large amounts of output, the use of this value is strongly discouraged!)
  • 0: indicating that no lines of stderr should be saved
  • Positive: indicating that the final N lines of stderr should be saved

stdout_save_lines

Same as sterr_save_lines but applied to the stdout generated by the MPI install module.

unsetenv

Similar to setenv, unset an environment variable before executing this phase section. The original environment variable value is restored after the phase section has completed. This value is also "carried forward" like env_module.

The value of this field is the name of the environment variable to unset.

The unsetenv field can be specified multiple times in a single section to unset multiple environment variables.

vpath_mode

The value of this field indicates whether a VPATH build should be used to build the MPI. Valid values are:

  • absolute, indicating that an absolute path to "configure" should be used
  • relative, indicating that a relative path to "configure" should be used

NOTE: This field is fairly specific to source-based MPI installations, and may someday be moved to a module.

Modules

OMPI

The OMPI module is used to install Open MPI from source tarballs.

ompi_make_all_arguments

Arguments to pass to "make all". These arguments typically include "-j 8", or the like, to speed up the building of Open MPI.

ompi_compiler_name

The name of the compiler used. It's a string and can be any value, but by convention (and for easing searching in MTT results), the following names are typically used:

  • absoft
  • gnu
  • intel
  • pathscale
  • pgi
  • sun

ompi_compiler_version

The version of the compiler used. It is usually the result of a funclet that will dynamically go obtain the version of the compiler. For example:

ompi_compiler_version = &gcc_get_version()

ompi_make_check

This field specifies whether to run "make check" or not. It defaults to "0".

ompi_autogen

This field specifies whether to run "autogen.pl" (or "autogen.sh" -- whichever is in the tarball under test) or not. It defaults to "0".