LAMINFO(1)

NAME
laminfo - Display configuration information about LAM/MPI

SYNTAX
laminfo [-arch] [-config] [-help|-h] [-param <type> <module>]
        [-parsable|-pretty] [-path <item>] [-version <item> <scope>]

OPTIONS

-all
    Show all configuration information

-arch
    Show architecture that LAM was configured for

-config
    Show some information about LAM configuration

-help
    Show help message

-param
    Show SSI parameter(s) for a given SSI type and module

-parsable
    Show output in an easily parsable format

-path <item>
    Print a given configuration path

-pretty
    Show output in a prettyprint format (default)

-version
    Print some or part of a version number of a given item

DESCRIPTION
The laminfo command is used to display information about a LAM/MPI installation. Particularly with the SSI run-time module selection system, the laminfo command can be useful to scripts and resource managers to determine the capabilities of the installed LAM/MPI in order to pass run-time parameters to MPI programs.

Output can be displayed in a "pretty" format (i.e., suitable for human reading) and also in a parsable format (i.e., suitable for easy parsing by scripts or other automated mechanisms). There are no other LAM API functions to retrieve this data (in any language); the laminfo command is the best mechanism to obtain any configuration information about LAM/MPI. The parsable output was designed such that common utilities such as grep, awk, cut, and sed can easily be used to extract relevant information.

Running laminfo with no arguments will display a subset of configuration parameters in the "pretty" format (see the EXAMPLES section, below). Several command line options are available to limit exactly which information is displayed. These options, when used in conjunction with the parsable output, can provide automated mechanisms specific information about the capabilities of LAM/MPI.

  GENERAL PARAMETERS
The -pretty and -parsable switches are used to select whether to display the output in "pretty" or machine-parsable format, respectively. If neither is specified, -pretty is the default.

The -arch switch will display the architecture that LAM/MPI was configured and compiled on.

The -config switch will display a set of configuration information about the MPI capabilities of LAM/MPI, such as whether there are C, C++, and Fortran MPI bindings available, whether there is MPI profiling support for C, C++, and Fortran, whether ROMIO support is available, whether IMPI support is available, whether debugging support is available (mostly for LAM/MPI maintainers), and whether LAM/MPI is "purify clean" (meaning that it is suitable for use with memory checking debuggers). Most of these are options to the LAM/MPI configure script, and are configure/compile-time selections that cannot be changed once LAM has been installed. While there is no fine-grained control to individually request each of these pieces of information, using -config in conjunction with -parsable and commands such as grep can return any individual piece of information.

  PARAM PARAMETERS
The -param switch can be used to show available SSI parameters and their default values. The type and module arguments can be used to specify a particular SSI type and/or module, or use the special keyword "all" to indicate all available SSI types/modules (respectively).

Available SSI types are:

all Show all SSI types

base
    Intrinsic LAM/MPI parameters

boot
    Boot modules (e.g., lamboot)

coll
    MPI collectives

cr  Checkpoint / restart

RPI MPI point-to-point.

The names of the modules that are available are dependant upon which modules are available for any given type. See EXAMPLES, below, for example usage.

  PATH PARAMETERS
The -path switch returns various paths that were compiled into LAM/MPI. These were all decided when LAM was configured, and cannot be changed at run-time. However, knowing the location of these directories can be useful in order to find LAM data files, binaries, include files, etc. The -path switch takes a parameter: item. Possible values for item are:

prefix
    Display the prefix directory for LAM/MPI

bindir
    Display the directory where the LAM/MPI executables were installed

libdir
    Display the directory where the LAM/MPI libraries were installed

incdir
    Display the directory where the LAM/MPI include files were installed

pkglibdir
    Display the directory where the LAM/MPI dynamic libraries were installed

sysconfdir
    Display the directory where the LAM/MPI help and configuration files were installed

Note that although LAM's GNU configure script defaults to certain values for all of these directories based on the prefix (e.g., bindir is typically $prefix/bin), they can all be overriden by command line switches to configure, and should therefore never be assumed. Use laminfo to determine what values were selected at configure time.

  VERSION PARAMETERS
Since each SSI module in LAM/MPI is an independant entity in itself, it may have an entirely different version number than LAM/MPI itself. Indeed, each SSI module has three version numbers: the version of the base SSI API that it supports, the version of the component type API that it supports, and its own version number. Most users will only care about the last one (the module's own version number).

The -path switch takes two parameters: item and scope.

The item can be the main LAM version itself, any of the SSI types, or a specific SSI module. There are currently four kinds of SSI modules that can be queried: boot, coll, rpi, and cr. Hence, the version numbers that can be obtained from the -version switch are:

lam The version of LAM/MPI

boot
    The three versions of each boot SSI module

boot:name
    The three versions of a specific boot SSI module

coll
    The three versions of each coll SSI module

coll:name
    The three versions of a specific coll SSI module

rpi The three versions of each rpi SSI module

rpi:name
    The three versions of a specific rpi SSI module

cr  The three versions of each cr SSI module

cr:name
    The three versions of a specific cr SSI module

The scope argument describes what part of the version number to display. This allows either the full version number to be displayed, or any specific individual component of the version number. Valid values for scope are:

full
    Display the full version number (i.e., all components). A sequence of rules are used to run all the components together into a single string. Generally: major and minor are always displayed, but other components are only displayed if they are not zero.

major
    Display the major version number

minor
    Display the minor version number

release
    Display the release version number

alpha
    Display the alpha version number. In the full scope, if nonzero, this number will be preceeded by "a".

beta
    Display the beta version number. In the full scope, if nonzero, this number will be preceeded by "b".

cvs Display whether LAM was installed from a CVS checkout. In pretty mode, this will be the string "cvs" if true, or blank if false. In parsable mode, this will be 1 if true, 0 if false.

EXAMPLES

laminfo
    With no parameters, laminfo displays a default set of information about the LAM/MPI installation. This information includes:

-   Version of LAM/MPI

-   Installation prefix directory

-   Architecture that LAM/MPI is installed for

-   User who configured LAM/MPI

-   Time/datestamp when LAM/MPI was configured

-   Host that LAM/MPI was configured on

-   Whether MPI bindings are provided for C, C++, Fortran

-   Whether MPI profiling is available for C, C++, Fortran

-   Whether ROMIO support is included

-   Whether IMPI support is included

-   Whether debug support is included (mainly for LAM/MPI maintainers; specifically indicates whether --with-debug was used to configure LAM)

-   Whether LAM/MPI is "purify clean" (suitable for memory-checking debuggers; specifically indicates whether --with-purify was used to configure LAM)

-   List all boot, coll, and rpi SSI modules that are available, and their corresponding versions

laminfo -parsable
    Display the same default set of information but in a machine-readable format.

laminfo -all
    Display all information that is available to laminfo.

laminfo -param all all
    Show all SSI parameters (and their corresponding default values) for all available SSI types and modules.

laminfo -param rpi all
    Show all SSI parameters (and their corresponding default values) for all rpi SSI modules.

laminfo -param rpi tcp
    Show all SSI parameters (and their corresponding default values) for the tcp rpi SSI module.

laminfo -param rpi tcp -parsable
    Show all SSI parameters (and their corresponding default values) for the tcp rpi SSI module in a machine-readable format.

laminfo -path bindir -path sysconfdir -parsable
    Display the directories where the LAM/MPI executables and help/configuration files were installed in a machine-readable format.

laminfo -version lam full -parsable
    Display the full version of LAM/MPI in a machine-readable format.

laminfo -version rpi:tcp full
    Show the full version of the TCP RPI SSI module.

SEE ALSO
lamssi(7), mpirun(1), lamboot(1), lamwipe(1)