---
name: "lamssi"
section: "7"
platform: "linux"
package: "lam-runtime"
version: "7.1.4-7.2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/lamssi"
---

# lamssi(7)

introduction to LAM System Services Interface (SSI)

## NAME

lamssi - introduction to LAM System Services Interface (SSI)

## DESCRIPTION

The SSI in LAM/MPI is used to select one (or more) system services interfaces at run-time.

## OVERVIEW

LAM SSI instances are uniquely described in terms of "kinds" (also referred to as "types") and "modules".

The "kind" refers to which set of system services the SSI instance will apply to.  For example, LAM currently has several  kinds: "boot", "coll", "cr" and "rpi".  The "module" refers to a specific SSI instance of a given kind.  Each kind has o

boot modules are used to start the LAM run-time environment (i.e., they provide the back-end functionality to [*lamboot*(1)](/lamboot/1.md)). boot modules are discussed further in the [lamssi\_boot(7)](/lamssi_boot/7.md) man page.

coll modules provide back-end algorithms and functionality for the MPI collective communications.  coll modules are described in [lamssi\_coll(7)](/lamssi_coll/7.md).

cr modules provide checkpoint/restart functionality for MPI jobs.  See [lamssi\_cr(7)](/lamssi_cr/7.md) for details.

rpi modules provide back-end functionality for MPI point-to-point communications.  rpi modules are detailed in [lamssi\_rpi(7)](/lamssi_rpi/7.md).

## VERBOSE OPERATION

The user can force SSI modules to be verbose by setting the  *LAM\_SSI\_ssi\_verbose* environment variable before invoking *mpirun*, or by using the *-ssi* command line switch to *mpirun*. For example:

- mpirun -ssi ssi\_verbose 1 C foo

  Tell the SSI modules to be verbose, and default to sending their output to stderr.

The  *ssi\_verbose* kind is a "pseudo-kind" in that it is used to pass parameters to the main SSI meta-glue itself -- not to any particular kind.  It can take many different parameters to format where and how the verbose output will be sent (note that at least one parameter must be specified, even if it is an invalid parameter).  Any combination of the following parameters may follow the *ssi\_verbose* kind (separated by commas):

- syslog

  Send the verbose output to the syslog.

- syslogpri:\<priority\>

  Set the syslog output priority to \<priority\>.  Using this paramter implies the *syslog* parameter.  The default priority is  *info* (LOG\_INFO). Valid \<priority\> values are:  *notice* (LOG\_NOTICE),  *info*, and *debug* (LOG\_DEBUG).

- syslogid:\<id\>

  Use the ID \<id\> for the syslog prefix.

- stdout

  Send the verbose output to stdout.

- stderr

  Send the verbose output to stderr.

- file\[:\<filename\>\]

  Send the verbose output to a file in the LAM per-user, per-node meta information directory (usually located in /tmp).  If \<filename\> is specified, send the output to the file named lam-\<filename\>.  If \<filename\> is not specified, send the output to the file named lam-ssi.txt.

- fileappend

  Append to the file when sending the verbose output (create the file if it does not exist).  If this parameter is not given, if the file already exists, it will be overwritten.  Using this parameter implies the *file* parameter.

- level:vlevel

  Indicate the specific verbosity level to be used.  Although the specific meaning of the verbosity level is left up to individual SSI modules, generally negative numbers mean no verbose messages, 0 means a minimal set of messages, and positive numbers mean more messages (the greater the positive number, the more output messages will be generated). If left unspecified any any other *ssi\_verbose* parameters are specified, the default level of 0 is used.

If multiple parameters are passed in *ssi\_verbose*, the output will be directed as implied by all the parameters.  If no valid parameters are passed (e.g., a single invalid parameter is passed), then output will be directed to stderr by default.

Also note that as with all SSI parameters, all of these values may be passed by setting the environment variable *LAM\_SSI\_ssi\_verbose* before invoking *mpirun*. However, parameters passed through "-ssi ssi\_verbose" will take precedence over environment variables.

## EXAMPLES

- mpirun -ssi ssi\_verbose 1 C foo

  Since no valid parameters were passed, the verbose output will be sent to stderr.

- mpirun -ssi ssi\_verbose file:output.txt,syslogpri:notice C foo

  Send the verbose output to both the file lam-output.txt in the LAM user meta directory as well as to the syslog with a priority of LOG\_NOTICE.

## SEE ALSO

[lamssi\_boot(7)](/lamssi_boot/7.md), [lamssi\_coll(7)](/lamssi_coll/7.md), [lamssi\_cr(7)](/lamssi_cr/7.md), [lamssi\_rpi(7)](/lamssi_rpi/7.md), [mpirun(1)](/mpirun/1.md), [lamboot(1)](/lamboot/1.md), [recon(1)](/recon/1.md), [lamwipe(1)](/lamwipe/1.md), LAM User's Guide
