LaunchMON is a software infrastructure that enables HPC run-time tools to co-locate tool daemons with a parallel job. Its API allows a tool to identify all the remote processes of a job and to scalably launch daemons into the relevant nodes.
LaunchMON requires the following packages to build
libelf boost libgcrypt >= 1.4.5 libgpg-error >= 1.7.0 # for secure handshake munge
Building from Source
The following is the simplest way to configure, build and install the LaunchMON package from the source checked out from this repo.
If you are building from a distribution, skip to step (2).
cd into the root directory of this package
(2) Bootstrap the package:
% ./configure --prefix=/foo/tool/lmon --with-test-rm=slurm
For example, the above configuration command will configure the package. The optional --prefix switch will set /foo/tool/lmon as the prefix directory for installation; the optional --with-test-rm will configure test cases to be built for SLURM resource manager (RM).
./configure --help prints other available configuration
will build the package directly within the source tree.
% make install
(6) Smoke test:
% make check
will build the test codes in the test/src directory within the source tree.
cd test/src directory under the source directory
test.attach_1 as your smoke tests.
Note that these test cases assume that you alreay have an
allocation (or interactive partition) under the invoking
shell so that RM job launcher (e.g. srun) can launch
and execute a parallel target application. Also ensure that '.' is in
your $PATH when you run the smoke test scripts.
Building with Spack
LaunchMON and its dependencies are also packaged via the Spack package manager. It can be installed with the following commands:
git clone https://github.com/spack/spack.git cd spack ./bin/spack install launchmon