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)