LAMINFO(1)
π LAMINFO β the glow-up guide π
okay so bestie, this is laminfo from the LAM TOOLS collection, and it's literally the vibe-check tool for your whole LAM/MPI install. it tells you everything about how your LAM was configured, no cap. π«Ά
β¨ NAME β¨
laminfo β display configuration information about LAM/MPI πΈ
β¨ SYNOPSIS β¨
laminfo [-arch] [-config] [-help|-h] [-param type module]
[-parsable|-pretty] [-path item] [-version item scope]
β¨ OPTIONS β¨
-allβ show all the configuration information, the whole entire menu, no skips π-archβ show the architecture that LAM was configured for-configβ show some info about the LAM configuration-helpβ show the help message (we love a supportive icon)-paramβ show SSI parameter(s) for a given SSI type and module-parsableβ show output in an easily parsable format, for the script girlies π€-path itemβ print a given configuration path-prettyβ show output in a prettyprint format (this is the default, bestie, we stay cute by default π)-versionβ print some or part of a version number of a given item
β¨ DESCRIPTION β¨
so the laminfo command displays information about a LAM/MPI installation. and honestly? especially with the SSI run-time module selection system, laminfo is so useful to scripts and resource managers, because it's how they figure out the capabilities of the installed LAM/MPI so they can pass run-time parameters to MPI programs. main character tool fr fr π
output can come in a "pretty" format (aka suitable for human reading, gorgeous, we love) and also in a parsable format (aka suitable for easy parsing by scripts or other automated mechanisms, the nerdy-but-hot version). and here's the thing: there are no other LAM API functions to retrieve this data β in any language β so laminfo is literally the best mechanism to obtain any configuration information about LAM/MPI. the parsable output was designed so that common utilities like grep, awk, cut, and sed can easily extract the relevant info. iconic behavior. π
running laminfo with no arguments displays a subset of configuration parameters in the "pretty" format (peep the EXAMPLES section below π). several command line options let you limit exactly which information gets displayed. and when you pair those options with the parsable output, automated mechanisms can grab specific info about the capabilities of LAM/MPI. slay.
π GENERAL PARAMETERS π
the -pretty and -parsable switches pick whether the output shows in "pretty" or machine-parsable format respectively. if you specify neither, -pretty is the default. periodt.
the -arch switch displays the architecture that LAM/MPI was configured and compiled on.
the -config switch displays a set of configuration information about the MPI capabilities of LAM/MPI, like:
- whether there are C, C++, and Fortran MPI bindings available
- whether there's 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, iykyk)
- whether LAM/MPI is "purify clean" (meaning it's suitable for use with memory checking debuggers)
most of these are options to the LAM/MPI configure script, and they're configure/compile-time selections that cannot be changed once LAM has been installed. π and while there's no fine-grained control to individually request each one of these pieces of info, using -config together with -parsable and commands like grep can return any individual piece you want. work smarter not harder.
πΈ PARAM PARAMETERS πΈ
the -param switch shows available SSI parameters and their default values. the type and module arguments specify a particular SSI type and/or module, or you can use the special keyword all to mean all available SSI types/modules (respectively).
available SSI types are:
allβ show all SSI typesbaseβ intrinsic LAM/MPI parametersbootβ boot modules (e.g.,lamboot)collβ MPI collectivescrβ checkpoint / restartRPIβ MPI point-to-point.
the names of the available modules depend on 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 where these directories live is useful for finding 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/MPIbindirβ display the directory where the LAM/MPI executables were installedlibdirβ display the directory where the LAM/MPI libraries were installedincdirβ display the directory where the LAM/MPI include files were installedpkglibdirβ display the directory where the LAM/MPI dynamic libraries were installedsysconfdirβ display the directory where the LAM/MPI help and configuration files were installed
bestie, heads up: even though LAM's GNUconfigurescript defaults to certain values for all of these directories based on the prefix (e.g.,bindiris typically$prefix/bin), they can all be overridden by command line switches toconfigure, and should therefore never be assumed. uselaminfoto find out what values were actually selected at configure time. don't guess, ok? π
π VERSION PARAMETERS π
since each SSI module in LAM/MPI is an independent entity in itself, it may have a completely different version number than LAM/MPI itself. and actually, 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
- its own version number
most users only care about the last one (the module's own version number). same, honestly.
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 you can get from the -version switch are:
lamβ the version of LAM/MPIbootβ the three versions of each boot SSI moduleboot:nameβ the three versions of a specific boot SSI modulecollβ the three versions of each coll SSI modulecoll:nameβ the three versions of a specific coll SSI modulerpiβ the three versions of each rpi SSI modulerpi:nameβ the three versions of a specific rpi SSI modulecrβ the three versions of each cr SSI modulecr:nameβ the three versions of a specific cr SSI module
the scope argument describes what part of the version number to display, so you can get the full version number or any specific individual component. valid values for scope are:
fullβ display the full version number (i.e., all components). a sequence of rules runs 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 numberminorβ display the minor version numberreleaseβ display the release version numberalphaβ display the alpha version number. in thefullscope, if nonzero, this number will be preceded by"a".betaβ display the beta version number. in thefullscope, if nonzero, this number will be preceded by"b".cvsβ display whether LAM was installed from a CVS checkout. in pretty mode, this is the string"cvs"if true, or blank if false. in parsable mode, this is1if true,0if false.
β¨ EXAMPLES β¨
laminfo- with no parameters,
laminfodisplays a default set of information about the LAM/MPI installation. this info includes:
- with no parameters,
- 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-debugwas used to configure LAM) - whether LAM/MPI is "purify clean" (suitable for memory-checking debuggers; specifically indicates whether
--with-purifywas used to configure LAM) - list all
boot,coll, andrpiSSI 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.
- display all information that is available to
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
rpiSSI modules.
- show all SSI parameters (and their corresponding default values) for all
laminfo -param rpi tcp- show all SSI parameters (and their corresponding default values) for the
tcprpi SSI module.
- show all SSI parameters (and their corresponding default values) for the
laminfo -param rpi tcp -parsable- show all SSI parameters (and their corresponding default values) for the
tcprpi SSI module in a machine-readable format.
- show all SSI parameters (and their corresponding default values) for the
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)
okay and for the lil sign-off bestie: this whole thing is from LAM 7.1.4, dated July, 2007 π she's vintage, she's classic, she ate. go forth and laminfo responsibly πβ¨π¦
π¦ where this page comes from
- debian bookworm: lam-runtime 7.1.4-7+b1
- debian trixie: lam-runtime 7.1.4-7.2
- ubuntu jammy: lam-runtime 7.1.4-7
- ubuntu noble: lam-runtime 7.1.4-7.1build2
- ubuntu questing: lam-runtime 7.1.4-8
- ubuntu resolute: lam-runtime 7.1.4-8build1
- ubuntu stonking: lam-runtime 7.1.4-8build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms