├── .gitignore ├── .travis.yml ├── AUTHORS ├── COPYING ├── ChangeLog ├── INSTALL ├── Makefile.am ├── NEWS ├── README ├── README.ERROR_HANDLING ├── README.md ├── bootstrap ├── config ├── ap ├── lx_find_mpi.m4 ├── x_ac_enable_debug.m4 ├── x_ac_enable_verbose.m4 ├── x_ac_handshake.m4 ├── x_ac_platform.m4 ├── x_ac_platform_compat.m4 ├── x_ac_testnnodes.m4 └── x_ac_tracing_cost.m4 ├── configure.ac ├── etc ├── Makefile.am ├── pkg-specs │ ├── Makefile.am │ └── llnl │ │ ├── META │ │ ├── Makefile.am │ │ ├── launchmon.module │ │ ├── launchmon.spec │ │ └── package.conf ├── rm_alps.conf ├── rm_bglrm.conf ├── rm_bgprm.conf ├── rm_bgq_slurm.conf ├── rm_bgqrm.conf ├── rm_cray.conf ├── rm_flux.conf ├── rm_gupc.conf ├── rm_info.conf ├── rm_mchecker.conf ├── rm_mpiexec_hydra.conf ├── rm_openrte.conf └── rm_slurm.conf.in ├── launchmon ├── Makefile.am ├── man │ ├── LMON_be_amIMaster.3 │ ├── LMON_be_assist_mw_coloc.3 │ ├── LMON_be_barrier.3 │ ├── LMON_be_broadcast.3 │ ├── LMON_be_finalize.3 │ ├── LMON_be_gather.3 │ ├── LMON_be_getMyProctab.3 │ ├── LMON_be_getMyProctabSize.3 │ ├── LMON_be_getMyRank.3 │ ├── LMON_be_getSize.3 │ ├── LMON_be_handshake.3 │ ├── LMON_be_init.3 │ ├── LMON_be_ready.3 │ ├── LMON_be_recvUsrData.3 │ ├── LMON_be_regErrorCB.3 │ ├── LMON_be_regPackForBeToFe.3 │ ├── LMON_be_regUnpackForFeToBe.3 │ ├── LMON_be_scatter.3 │ ├── LMON_be_sendUsrData.3 │ ├── LMON_fe_attachAndSpawnDaemons.3 │ ├── LMON_fe_createSession.3 │ ├── LMON_fe_detach.3 │ ├── LMON_fe_getMwHostlist.3 │ ├── LMON_fe_getMwHostlistSize.3 │ ├── LMON_fe_getProctable.3 │ ├── LMON_fe_getProctableSize.3 │ ├── LMON_fe_getRMInfo.3 │ ├── LMON_fe_getResourceHandle.3 │ ├── LMON_fe_getStatus.3 │ ├── LMON_fe_init.3 │ ├── LMON_fe_kill.3 │ ├── LMON_fe_launchAndSpawnDaemons.3 │ ├── LMON_fe_launchMwDaemons.3 │ ├── LMON_fe_putToBeDaemonEnv.3 │ ├── LMON_fe_putToMwDaemonEnv.3 │ ├── LMON_fe_recvUsrDataBe.3 │ ├── LMON_fe_recvUsrDataMw.3 │ ├── LMON_fe_regErrorCB.3 │ ├── LMON_fe_regPackForFeToBe.3 │ ├── LMON_fe_regPackForFeToMw.3 │ ├── LMON_fe_regStatusCB.3 │ ├── LMON_fe_regUnpackForBeToFe.3 │ ├── LMON_fe_regUnpackForMwToFe.3 │ ├── LMON_fe_sendUsrDataBe.3 │ ├── LMON_fe_sendUsrDataMw.3 │ ├── LMON_fe_shutdownDaemons.3 │ ├── LMON_mw_amIMaster.3 │ ├── LMON_mw_barrier.3 │ ├── LMON_mw_broadcast.3 │ ├── LMON_mw_finalize.3 │ ├── LMON_mw_gather.3 │ ├── LMON_mw_getMyRank.3 │ ├── LMON_mw_getSize.3 │ ├── LMON_mw_handshake.3 │ ├── LMON_mw_init.3 │ ├── LMON_mw_ready.3 │ ├── LMON_mw_recvUsrData.3 │ ├── LMON_mw_regErrorCB.3 │ ├── LMON_mw_regPackForMwToFe.3 │ ├── LMON_mw_regUnpackForFeToMw.3 │ ├── LMON_mw_scatter.3 │ ├── LMON_mw_sendUsrData.3 │ └── Makefile.am └── src │ ├── Makefile.am │ ├── linux │ ├── Makefile.am │ ├── lmon_api │ │ ├── Makefile.am │ │ ├── lmon_be.cxx │ │ ├── lmon_be_sync_mpi.cxx │ │ ├── lmon_be_sync_mpi.hxx │ │ ├── lmon_be_sync_mpi_bg.cxx │ │ ├── lmon_be_sync_mpi_bg.hxx │ │ ├── lmon_be_sync_mpi_bgq.cxx │ │ ├── lmon_be_sync_mpi_bgq.hxx │ │ ├── lmon_be_sync_mpi_generic.cxx │ │ ├── lmon_be_sync_mpi_generic.hxx │ │ ├── lmon_coloc_spawner.cxx │ │ ├── lmon_coloc_spawner.hxx │ │ ├── lmon_daemon_internal.cxx │ │ ├── lmon_daemon_internal.hxx │ │ ├── lmon_fe.cxx │ │ ├── lmon_lmonp_msg.cxx │ │ ├── lmon_mw.cxx │ │ └── lmon_say_msg.cxx │ ├── main.cxx │ ├── sdbg_linux_bp.hxx │ ├── sdbg_linux_driver.hxx │ ├── sdbg_linux_driver_impl.hxx │ ├── sdbg_linux_launchmon.cxx │ ├── sdbg_linux_launchmon.hxx │ ├── sdbg_linux_mach.cxx │ ├── sdbg_linux_mach.hxx │ ├── sdbg_linux_ptracer.hxx │ ├── sdbg_linux_ptracer_impl.hxx │ ├── sdbg_linux_std.hxx │ ├── sdbg_linux_symtab.hxx │ ├── sdbg_linux_symtab_impl.hxx │ ├── sdbg_proc_service.cxx │ ├── sdbg_proc_service.hxx │ ├── sdbg_rm_spawner.hxx │ ├── sdbg_rsh_spawner.cxx │ └── sdbg_rsh_spawner.hxx │ ├── lmon_api │ ├── common.h │ ├── lmon_api_std.h │ ├── lmon_be.h │ ├── lmon_fe.h │ ├── lmon_lmonp_msg.h │ ├── lmon_mw.h │ ├── lmon_proctab.h │ └── lmon_say_msg.hxx │ ├── sdbg_base_bp.hxx │ ├── sdbg_base_driver.hxx │ ├── sdbg_base_driver_impl.hxx │ ├── sdbg_base_exception.hxx │ ├── sdbg_base_launchmon.hxx │ ├── sdbg_base_launchmon_impl.hxx │ ├── sdbg_base_mach.hxx │ ├── sdbg_base_mach_impl.hxx │ ├── sdbg_base_spawner.hxx │ ├── sdbg_base_symtab.hxx │ ├── sdbg_base_symtab_impl.hxx │ ├── sdbg_base_tracer.hxx │ ├── sdbg_event_manager.hxx │ ├── sdbg_event_manager_impl.hxx │ ├── sdbg_opt.cxx │ ├── sdbg_opt.hxx │ ├── sdbg_rm_map.cxx │ ├── sdbg_rm_map.hxx │ ├── sdbg_self_trace.cxx │ ├── sdbg_self_trace.hxx │ ├── sdbg_signal_hlr.hxx │ ├── sdbg_signal_hlr_impl.hxx │ └── sdbg_std.hxx ├── test ├── Makefile.am └── src │ ├── LE_model_checker.c │ ├── Makefile.am │ ├── be_jobsnap.cxx │ ├── be_kicker.cxx │ ├── be_kicker_usrpayload_test.cxx │ ├── be_mem_fetcher.cxx │ ├── be_standalone_kicker.cxx │ ├── fe_attach_smoketest.cxx │ ├── fe_jobsnap.cxx │ ├── fe_launch_middleware.cxx │ ├── fe_launch_smoketest.cxx │ ├── fe_launch_usrpayload_test.cxx │ ├── hang_on_SIGUSR1.c │ ├── mw_comm_helper.cxx │ ├── run_3mins.c │ ├── simple_MPI.c │ ├── test.LE_model_checker_extreme.in │ ├── test.LE_model_checker_large.in │ ├── test.LE_model_checker_mainthread.in │ ├── test.LE_model_checker_pthread.in │ ├── test.attach_1.in │ ├── test.attach_1_mem_fetcher.in │ ├── test.attach_1_pdebugmax.in │ ├── test.attach_1_remote.in │ ├── test.attach_2_uneven.in │ ├── test.attach_3_callsafterfail.in │ ├── test.attach_3_invalidpid.in │ ├── test.attach_3_invalidpid_remote.in │ ├── test.attach_4_detach.in │ ├── test.attach_4_kill.in │ ├── test.attach_4_shutdownbe.in │ ├── test.fe_regErrorCB.in │ ├── test.fe_regStatusCB.in │ ├── test.jobsnap_1.in │ ├── test.launch_1.in │ ├── test.launch_1_remote.in │ ├── test.launch_2_half.in │ ├── test.launch_2_uneven.in │ ├── test.launch_3_invalid_dmonpath.in │ ├── test.launch_5_usrpayload.in │ ├── test.launch_6_engine_failure.in │ ├── test.launch_7_detach.in │ ├── test.launch_7_kill.in │ ├── test.launch_7_shutdownbe.in │ ├── test.launch_mw_1_hostlist.in │ ├── test.launch_mw_2_coloc.in │ ├── test.launch_mw_5_mixall.in │ ├── travis-dep-builder.sh │ ├── travis-run-test.sh │ └── util.c └── tools ├── Makefile.am ├── alps ├── Makefile.am └── src │ ├── CLE-dso.conf │ ├── CLE_2_2-dso.conf │ ├── CLE_3_1-dso.conf │ ├── Makefile.am │ ├── alps_be_starter.c │ └── alps_fe_colocator.cxx ├── ciod ├── Makefile.am └── debugger_interface.h ├── cobo ├── ChangeLog ├── Makefile.am ├── src │ ├── Makefile.am │ ├── cobo.c │ └── cobo.h └── test │ ├── Makefile.am │ ├── README │ ├── client.c │ └── server_rsh.c ├── cti ├── Makefile.am └── cti_fe_colocator.cxx ├── flux ├── Makefile.am └── flux-helper.sh └── handshake ├── Makefile.am ├── handshake.c └── handshake.h /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files 2 | *.o 3 | *.so 4 | *.la 5 | *.lo 6 | *.a 7 | *.lib 8 | *~ 9 | *breakpoints* 10 | Makefile.in 11 | Makefile 12 | 13 | #autotool generated files 14 | build 15 | config.h 16 | config.log 17 | config.status 18 | config/aclocal.m4 19 | config/compile 20 | config/config.guess 21 | config/config.sub 22 | config/depcomp 23 | config/install-sh 24 | config/libtool.m4 25 | config/ltmain.sh 26 | config/ltoptions.m4 27 | config/ltsugar.m4 28 | config/ltversion.m4 29 | config/lt~obsolete.m4 30 | config/missing 31 | configure 32 | .deps 33 | .libs 34 | libtool 35 | stamp-h1 36 | 37 | # Output executables and script 38 | launchmon/src/linux/launchmon 39 | test/src/LE_model_checker 40 | test/src/be_jobsnap 41 | test/src/be_kicker 42 | test/src/be_kicker_usrpayload_test 43 | test/src/be_mem_fetcher 44 | test/src/be_standalone_kicker 45 | test/src/fe_attach_smoketest 46 | test/src/fe_jobsnap 47 | test/src/fe_launch_middleware 48 | test/src/fe_launch_smoketest 49 | test/src/fe_launch_usrpayload_test 50 | test/src/hang_on_SIGUSR1 51 | test/src/mw_comm_helper 52 | test/src/run_3mins 53 | test/src/simple_MPI 54 | test/src/test.LE_model_checker_extreme 55 | test/src/test.LE_model_checker_large 56 | test/src/test.LE_model_checker_mainthread 57 | test/src/test.LE_model_checker_pthread 58 | test/src/test.attach_1 59 | test/src/test.attach_1_mem_fetcher 60 | test/src/test.attach_1_pdebugmax 61 | test/src/test.attach_1_remote 62 | test/src/test.attach_2_uneven 63 | test/src/test.attach_3_callsafterfail 64 | test/src/test.attach_3_invalidpid 65 | test/src/test.attach_3_invalidpid_remote 66 | test/src/test.attach_4_detach 67 | test/src/test.attach_4_kill 68 | test/src/test.attach_4_shutdownbe 69 | test/src/test.fe_regErrorCB 70 | test/src/test.fe_regStatusCB 71 | test/src/test.jobsnap_1 72 | test/src/test.launch_1 73 | test/src/test.launch_1_remote 74 | test/src/test.launch_2_half 75 | test/src/test.launch_2_uneven 76 | test/src/test.launch_3_invalid_dmonpath 77 | test/src/test.launch_5_usrpayload 78 | test/src/test.launch_6_engine_failure 79 | test/src/test.launch_7_detach 80 | test/src/test.launch_7_kill 81 | test/src/test.launch_7_shutdownbe 82 | test/src/test.launch_mw_1_hostlist 83 | test/src/test.launch_mw_2_coloc 84 | test/src/test.launch_mw_5_mixall 85 | 86 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | 3 | cache: 4 | directories: 5 | - $HOME/local 6 | 7 | sudo: required 8 | 9 | matrix: 10 | include: 11 | - compiler: gcc 12 | env: 13 | - compiler: gcc 14 | env: T_INSTALL=t ARGS=--with-test-installed 15 | - compiler: clang 16 | env: CC=clang CXX=clang++ 17 | 18 | addons: 19 | apt: 20 | sources: 21 | packages: 22 | - libelf-dev 23 | - libboost-dev 24 | - libgcrypt-dev 25 | - munge 26 | - build-essential 27 | - pkg-config 28 | - autoconf-archive 29 | 30 | before_install: 31 | - eval $(./test/src/travis-dep-builder.sh --printenv) 32 | - ./test/src/travis-dep-builder.sh --cachedir=$HOME/local/.cache 33 | 34 | script: 35 | - export MAKECMDS="make -j3 && make -j3 check" 36 | - ./bootstrap && mkdir build && cd build 37 | - if test "$T_INSTALL" = "t" ; then ARGS="$ARGS --prefix=/tmp/lmon"; MAKECMDS="make -j3 && make install && make -j3 check"; fi 38 | - ../configure --with-test-rm=orte $ARGS --with-test-rm-launcher=$HOME/local/bin/mpirun --with-test-ncore-per-CN=2 --with-test-nnodes=1 39 | - eval ${MAKECMDS} 40 | - if test "$T_INSTALL" = "t"; then ../test/src/travis-run-test.sh; fi 41 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Dong H. Ahn (LLNL) 2 | Matt LeGendre (LLNL) 3 | Gregory Lee (LLNL) 4 | Andrew Gontarek (Cray Inc) 5 | Karen Davis (Cray Inc) 6 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Apr 28 2016 DHA: Modernized build system 32 | ## Jan 11 2013 DHA: Added launchmon.spec and launchmon.module for 33 | ## RPM support. Added INSTALL.launchmon, as 'make dist' 34 | ## was not distributing that file. 35 | ## Sep 30 2008 DHA: Added README.ERROR_HANDLING and package.conf 36 | ## to the distribution list 37 | ## Jun 06 2008 DHA: Copied from the old Makefile. 38 | ## Mar 15 2008 DHA: Added PMGR Collective support 39 | ## Mar 11 2008 DHA: Added Linux PowerPC support (BlueGene FEN) 40 | ## Feb 09 2008 DHA: Added LLNS Copyright 41 | ## Mar 27 2006 DHA: Created file. 42 | ## 43 | 44 | SUBDIRS = \ 45 | tools \ 46 | launchmon \ 47 | etc \ 48 | test 49 | 50 | EXTRA_DIST = \ 51 | config/ap \ 52 | README.ERROR_HANDLING \ 53 | README.md 54 | 55 | ACLOCAL_AMFLAGS = -I config 56 | 57 | -------------------------------------------------------------------------------- /NEWS: -------------------------------------------------------------------------------- 1 | 2013-04-30 DHA Release 1.0.1 2 | o SLURM, OpenMPI/OpenRTE, and BlueGene/Q support 3 | o Dropped support for BlueGene/L and /P 4 | o Dynamic detection of resource management 5 | o Limited support for LaunchMON middleware API 6 | o Security enhancement for COBO handshaking 7 | o Stability enhancement for LaunchMON engine 8 | o LaunchMON Middleware API support 9 | o A bunch of bug fixes 10 | 11 | 2012-06-03 DHA Merge the LaunchMON MW API into 1.0 alpha 12 | 13 | 2012-03-25 DHA Add BGQ port into 1.0 alpha 14 | 15 | 2010-10-15 DHA Release the official 0.7 version (0.7.2) 16 | 17 | 2009-06-30 DHA Release a 0.7 beta version (0.7.2beta) 18 | o Added new Cray XT4/5/6, OpenRTE and BlueGene/P 19 | RM platform support in addition to existing 20 | BlueGene/L and SLURM 21 | o Integrated the scalable version of PMGR, a.k.a. 22 | COBO, and set it as the default bootfabric 23 | o Ran scaling tests and validated the scalability 24 | at over 100K MPI processes on BlueGene/P and 25 | over 200K MPI processes on Cray XT5 26 | o Augmented LMON FE API set while maintaining 27 | backward compatibility of the existing API: 28 | - LMON_fe_regErrorCB call 29 | - LMON_fe_getRMInfo call 30 | - LMON_DONT_STOP_APP environment variable 31 | o Added better performance and scalabilty testing 32 | support with the --enable-tracing-cost config option 33 | o Worked out the error handling semantics and enforced 34 | it on the supported RMs; the semantics is documented 35 | in README.ERROR_HANDLING as well as the man page 36 | of LMON_fe_[launch|attach]SpawnDaemons 37 | o Added a two-phased priority polling scheme into 38 | the LaunchMON engine 39 | o Better GNU AUTO build scripts and configure 40 | parameters support 41 | o Lots of bug fixes 42 | 43 | 2009-03-12 DHA Created 0.7 development branch 44 | 45 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LLNL/LaunchMON/47e10781e09867c5e2685abc8a1afb2d59bf47dd/README -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build Status](https://travis-ci.org/LLNL/LaunchMON.svg?branch=master)](https://travis-ci.org/LLNL/LaunchMON) 2 | 3 | ## LaunchMON 4 | 5 | LaunchMON is a software infrastructure that enables HPC run-time tools 6 | to co-locate tool daemons with a parallel job. Its API allows a tool to 7 | identify all the remote processes of a job and to scalably launch daemons 8 | into the relevant nodes. 9 | 10 | #### Building LaunchMON 11 | 12 | LaunchMON requires the following packages to build 13 | 14 | ``` 15 | libelf 16 | boost 17 | boost-devel 18 | libgcrypt >= 1.4.5 19 | libgcrypt-devel >= 1.4.5 20 | libgpg-error >= 1.7.0 21 | # for secure handshake 22 | munge 23 | ``` 24 | 25 | ##### Building from Source 26 | 27 | The following is the simplest way to configure, build and install 28 | the LaunchMON package from the source checked out from this repo. 29 | 30 | If you are building from a distribution, skip to step (2). 31 | 32 | (1) `cd` into the root directory of this package 33 | 34 | (2) Bootstrap the package: 35 | 36 | `% ./bootstrap` 37 | 38 | (3) Configure: 39 | 40 | `% ./configure --prefix=/foo/tool/lmon --with-test-rm=slurm` 41 | 42 | For example, the above configuration 43 | command will configure the package. The optional --prefix 44 | switch will set /foo/tool/lmon as the prefix directory 45 | for installation; the optional --with-test-rm will 46 | configure test cases to be built for SLURM resource 47 | manager (RM). 48 | 49 | `./configure --help` prints other available configuration 50 | options. 51 | 52 | (4) Build: 53 | 54 | `% make` 55 | 56 | will build the package directly within the source tree. 57 | 58 | (5) Install: 59 | 60 | `% make install` 61 | 62 | (6) Smoke test: 63 | 64 | `% make check` 65 | 66 | will build the test codes in the test/src directory within the source tree. 67 | `cd test/src` directory under the source directory 68 | and run `test.launch_1` and `test.attach_1` as your smoke tests. 69 | Note that these test cases assume that you alreay have an 70 | allocation (or interactive partition) under the invoking 71 | shell so that RM job launcher (e.g. srun) can launch 72 | and execute a parallel target application. Also ensure that '.' is in 73 | your $PATH when you run the smoke test scripts. 74 | 75 | ##### Building with Spack 76 | 77 | LaunchMON and its dependencies are also packaged via the 78 | [Spack](https://spack.readthedocs.io) package manager. It can be installed 79 | with the following commands: 80 | 81 | ``` 82 | git clone https://github.com/spack/spack.git 83 | cd spack 84 | ./bin/spack install launchmon 85 | ``` 86 | -------------------------------------------------------------------------------- /bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # $Header: $ 4 | #-------------------------------------------------------------------------------- 5 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 6 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 7 | # LLNL-CODE-409469. All rights reserved. 8 | # 9 | # This file is part of LaunchMON. For details, see 10 | # https://computing.llnl.gov/?set=resources&page=os_projects 11 | # 12 | # Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public License. 13 | # 14 | # 15 | # This program is free software; you can redistribute it and/or modify it under the 16 | # terms of the GNU General Public License (as published by the Free Software 17 | # Foundation) version 2.1 dated February 1999. 18 | # 19 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 20 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 21 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 22 | # General Public License for more details. 23 | # 24 | # You should have received a copy of the GNU Lesser General Public License along 25 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 26 | # Place, Suite 330, Boston, MA 02111-1307 USA 27 | #-------------------------------------------------------------------------------- 28 | # 29 | # Update Log: 30 | # Apr 28 2016 DHA: Added debug prints 31 | # Mar 11 2008 DHA: Added rm -f tools/libgcrypt/Makefile 32 | # Jun 06 2008 DHA: Created file. 33 | # 34 | 35 | echo "Running aclocal ..." 36 | aclocal -I config 37 | echo "Running libtoolize ..." 38 | libtoolize --force --copy 39 | echo "Running autoheader ..." 40 | autoheader 41 | echo "Running automake ..." 42 | touch NEWS README AUTHORS ChangeLog 43 | automake --add-missing --copy 44 | echo "Running autoconf ..." 45 | autoconf 46 | mv aclocal.m4 config/ 47 | rm -rf autom4te.cache tools/libgcrypt/Makefile 48 | echo "Now run ./configure." 49 | -------------------------------------------------------------------------------- /config/x_ac_enable_debug.m4: -------------------------------------------------------------------------------- 1 | # $Header: $ 2 | # 3 | # x_ac_enable_debug.m4 4 | # 5 | # -------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | # -------------------------------------------------------------------------------- 29 | # 30 | # Update Log: 31 | # Jun 12 2008 DHA: File created. 32 | # 33 | 34 | AC_DEFUN([X_AC_ENABLE_DEBUG], [ 35 | AC_MSG_CHECKING([whether to enable debug codes]) 36 | AC_ARG_ENABLE([debug], 37 | AS_HELP_STRING(--enable-debug,enable debug codes), [ 38 | if test "x$enableval" = "xyes"; then 39 | AC_DEFINE(DEBUG,1,[Define DEBUG flag]) 40 | case "$CFLAGS" in 41 | *-O2*) 42 | CFLAGS=`echo $CFLAGS| sed s/-O2//g` 43 | ;; 44 | *-O*) 45 | CFLAGS=`echo $CFLAGS| sed s/-O//g` 46 | ;; 47 | *) 48 | ;; 49 | esac 50 | CFLAGS="-g $CFLAGS" 51 | CXXFLAGS="-g $CXXFLAGS" 52 | AC_MSG_RESULT([yes]) 53 | else 54 | AC_MSG_RESULT([no]) 55 | fi 56 | ], [ 57 | AC_MSG_RESULT([no]) 58 | ]) 59 | ]) 60 | -------------------------------------------------------------------------------- /config/x_ac_enable_verbose.m4: -------------------------------------------------------------------------------- 1 | # $Header: $ 2 | # 3 | # x_ac_enable_verbose.m4 4 | # 5 | # -------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | # -------------------------------------------------------------------------------- 29 | # 30 | # Update Log: 31 | # Dec 12 2008 DHA: Remove X_AC_WITH_VER_LOGDIR and push the 32 | # logdir support to --enable-verbose as an option 33 | # 34 | # Sep 19 2008 DHA: File created. 35 | # 36 | 37 | AC_DEFUN([X_AC_ENABLE_VERBOSE], [ 38 | AC_MSG_CHECKING([whether to enable verbose codes]) 39 | AC_ARG_ENABLE([verbose], 40 | AS_HELP_STRING(--enable-verbose@<:@=LOGDIR@:>@,enable verbose codes @<:@default=stdout@:>@), 41 | [verbose_enabled=$enableval], 42 | [verbose_enabled="check"] 43 | ) 44 | if test "x$verbose_enabled" != "xno" -a "x$verbose_enabled" != "xcheck"; then 45 | AC_DEFINE(VERBOSE,1,[Define VERBOSE flag]) 46 | AC_MSG_RESULT([yes]) 47 | AC_MSG_CHECKING([whether to dump verbose files into a logging directory]) 48 | if test "x$verbose_enabled" != "xyes"; then 49 | # logdir is given in this case 50 | AC_DEFINE(USE_VERBOSE_LOGDIR,1,[Define USE_VERBOSE_LOGDIR flag]) 51 | AC_DEFINE_UNQUOTED(VERBOSE_LOGDIR,["$verbose_enabled"], [Define LOGDIR]) 52 | AC_MSG_RESULT([yes:$verbose_enabled]) 53 | else 54 | AC_MSG_RESULT([no]) 55 | fi 56 | else 57 | AC_MSG_RESULT([no]) 58 | fi 59 | ]) 60 | -------------------------------------------------------------------------------- /config/x_ac_tracing_cost.m4: -------------------------------------------------------------------------------- 1 | # $Header: $ 2 | # 3 | # x_ac_tracing_cost.m4 4 | # 5 | # -------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | # -------------------------------------------------------------------------------- 29 | # 30 | # Update Log: 31 | # Jun 12 2008 DHA: File created. 32 | # 33 | 34 | AC_DEFUN([X_AC_TRACING_COST], [ 35 | AC_MSG_CHECKING([whether to enable tracing cost measurng codes]) 36 | AC_ARG_ENABLE([tracing-cost], 37 | AS_HELP_STRING(--enable-tracing-cost,enable tracing cost measuring codes), [ 38 | if test "x$enableval" = "xyes"; then 39 | AC_DEFINE(MEASURE_TRACING_COST,1,[Define 1 for MEASURE_TRACING_COST]) 40 | AC_MSG_RESULT([yes]) 41 | else 42 | AC_MSG_RESULT([no]) 43 | fi 44 | ],[ 45 | AC_MSG_RESULT([no]) 46 | ]) 47 | ]) 48 | -------------------------------------------------------------------------------- /etc/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ## 6 | ##-------------------------------------------------------------------------------- 7 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 8 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 9 | ## LLNL-CODE-409469. All rights reserved. 10 | ## 11 | ## This file is part of LaunchMON. For details, see 12 | ## https://computing.llnl.gov/?set=resources&page=os_projects 13 | ## 14 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 15 | ## 16 | ## 17 | ## This program is free software; you can redistribute it and/or modify it under the 18 | ## terms of the GNU General Public License (as published by the Free Software 19 | ## Foundation) version 2.1 dated February 1999. 20 | ## 21 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 22 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 23 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 24 | ## General Public License for more details. 25 | ## 26 | ## You should have received a copy of the GNU Lesser General Public License along 27 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 28 | ## Place, Suite 330, Boston, MA 02111-1307 USA 29 | ##-------------------------------------------------------------------------------- 30 | ## 31 | ## Update Log: 32 | ## Aug 05 2020 DHA: Added Flux support. 33 | ## May 18 2018 ADG: Added Cray CTI support 34 | ## Apr 28 2016 DHA: Created file. 35 | ## Aug 13 2021 GLL: use input file for slurm to allow configure-time options 36 | ## 37 | 38 | SUBDIRS = pkg-specs 39 | 40 | etcdir = ${prefix}/etc 41 | etc_SCRIPTS = \ 42 | rm_info.conf \ 43 | rm_alps.conf \ 44 | rm_bglrm.conf \ 45 | rm_bgprm.conf \ 46 | rm_bgqrm.conf \ 47 | rm_bgq_slurm.conf \ 48 | rm_cray.conf \ 49 | rm_mchecker.conf \ 50 | rm_openrte.conf \ 51 | rm_slurm.conf \ 52 | rm_mpiexec_hydra.conf \ 53 | rm_flux.conf 54 | 55 | EXTRA_DIST = \ 56 | rm_info.conf \ 57 | rm_alps.conf \ 58 | rm_bglrm.conf \ 59 | rm_bgprm.conf \ 60 | rm_bgqrm.conf \ 61 | rm_cray.conf \ 62 | rm_gupc.conf \ 63 | rm_bgq_slurm.conf \ 64 | rm_mchecker.conf \ 65 | rm_openrte.conf \ 66 | rm_slurm.conf.in \ 67 | rm_mpiexec_hydra.conf \ 68 | rm_flux.conf 69 | -------------------------------------------------------------------------------- /etc/pkg-specs/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ## 6 | ##-------------------------------------------------------------------------------- 7 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 8 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 9 | ## LLNL-CODE-409469. All rights reserved. 10 | ## 11 | ## This file is part of LaunchMON. For details, see 12 | ## https://computing.llnl.gov/?set=resources&page=os_projects 13 | ## 14 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 15 | ## 16 | ## 17 | ## This program is free software; you can redistribute it and/or modify it under the 18 | ## terms of the GNU General Public License (as published by the Free Software 19 | ## Foundation) version 2.1 dated February 1999. 20 | ## 21 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 22 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 23 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 24 | ## General Public License for more details. 25 | ## 26 | ## You should have received a copy of the GNU Lesser General Public License along 27 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 28 | ## Place, Suite 330, Boston, MA 02111-1307 USA 29 | ##-------------------------------------------------------------------------------- 30 | ## 31 | ## Update Log: 32 | ## Apr 28 2016 DHA: Created file. 33 | ## 34 | 35 | SUBDIRS = llnl 36 | 37 | -------------------------------------------------------------------------------- /etc/pkg-specs/llnl/META: -------------------------------------------------------------------------------- 1 | Name: launchmon 2 | Version: 1.2.0 3 | Release: 1 4 | -------------------------------------------------------------------------------- /etc/pkg-specs/llnl/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ## 6 | ##-------------------------------------------------------------------------------- 7 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 8 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 9 | ## LLNL-CODE-409469. All rights reserved. 10 | ## 11 | ## This file is part of LaunchMON. For details, see 12 | ## https://computing.llnl.gov/?set=resources&page=os_projects 13 | ## 14 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 15 | ## 16 | ## 17 | ## This program is free software; you can redistribute it and/or modify it under the 18 | ## terms of the GNU General Public License (as published by the Free Software 19 | ## Foundation) version 2.1 dated February 1999. 20 | ## 21 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 22 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 23 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 24 | ## General Public License for more details. 25 | ## 26 | ## You should have received a copy of the GNU Lesser General Public License along 27 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 28 | ## Place, Suite 330, Boston, MA 02111-1307 USA 29 | ##-------------------------------------------------------------------------------- 30 | ## 31 | ## Update Log: 32 | ## Apr 28 2016 DHA: Created file. 33 | ## 34 | 35 | EXTRA_DIST = \ 36 | META \ 37 | launchmon.module \ 38 | launchmon.spec \ 39 | package.conf 40 | 41 | -------------------------------------------------------------------------------- /etc/pkg-specs/llnl/launchmon.module: -------------------------------------------------------------------------------- 1 | #%Module1.0 2 | # vi:set filetype=tcl: 3 | 4 | # pre global control file 5 | if { [file exists $env(MODULESHOME)/etc/control] } { 6 | source $env(MODULESHOME)/etc/control 7 | } 8 | 9 | # set some local variables 10 | set name launchmon 11 | set version 1.0.1 12 | set prefix /opt/$name-$version 13 | 14 | # prints when user types module-whatis 15 | module-whatis "Tool Daemon launching/bootstrapping infrastructure v$version" 16 | 17 | # executed when user types module help 18 | proc ModulesHelp { } { 19 | puts strerr "$name $version" 20 | } 21 | 22 | # set environment variables 23 | prepend-path LMON_PREFIX $prefix 24 | prepend-path LMON_LAUNCHMON_ENGINE_PATH $prefix/bin/launchmon 25 | prepend-path PATH $prefix/bin 26 | prepend-path LD_LIBRARY_PATH $prefix/lib 27 | prepend-path MANPATH $prefix/share/share/man 28 | 29 | # post global control file 30 | if { [file exists $env(MODULESHOME)/etc/post.control] } { 31 | source $env(MODULESHOME)/etc/post.control 32 | } 33 | -------------------------------------------------------------------------------- /etc/pkg-specs/llnl/package.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Dong H. Ahn 3 | # Development Environment Group 4 | # LLNL 5 | # 6 | # package.conf 7 | # The LLNL's package configuration script for LaunchMON 8 | # 9 | # Update: 10 | # Apr 30 2014 DHA: UPdated for 1.0.1 11 | # Apr 15 2014 DHA: Updated for 1.0-beta2 12 | # (actually downgrade in version number since no Cray support) 13 | # PKG_VERSION=20 14 | # Jun 07 2012 DHA: Updated for 1.0 release 15 | # Oct 27 2010 DHA: Updated for 0.7.2 official release 16 | # of 0.7 17 | # Jul 21 2010 DHA: Updated for 0.7.2beta 18 | # Mar 09 2008 DHA: Updated for 0.7.0 release including 19 | # BlueGene/P support 20 | # Dec 15 2008 DHA: Updated for 0.6.4 release which includes 21 | # fixes for software configuration problems 22 | # Sep 28 2008 DHA: Updated for LaunchMON 0.6 release 23 | # 24 | # 25 | 26 | _vers=1.0.1 27 | PKG_NAME=launchmon-${_vers} 28 | PKG_VERSION=21 29 | PKG_SECTION=tools 30 | PKG_SHORT_DESCRIPTION="LaunchMON: Tool daemon launching infrastructure v${_vers}" 31 | PKG_MAINTAINER="Dong H. Ahn " 32 | PKG_BUILDREQUIRES="mvapich-gnu,icc,mvapich-intel" 33 | PKG_WRAPPERS=launchmon 34 | 35 | # This could be the default install, otherwise comment this out 36 | #PKG_DEFAULT=launchmon 37 | 38 | # 39 | PKG_DK_CATEGORY="performance/profile" 40 | PKG_DK_HELP="\ 41 | Loads LaunchMON \n \ 42 | Modifies \$MANPATH and \$PATH.\n For API usage, \ 43 | see man pages.\n\n" 44 | 45 | PKG_doc="LaunchMON doc: ${prefix}/share/man/man3/LMON_fe_launchAndSpawnDaemons.3" 46 | 47 | pkg_build() 48 | { 49 | 50 | ./configure --prefix=$prefix --with-test-rm=slurm --with-test-nnodes=2 --with-test-ncore-per-CN=12 --with-sec-munge --with-test-mw-hostlist=sierra1620:sierra1626 51 | make 52 | 53 | return 0 54 | } 55 | 56 | 57 | pkg_install() 58 | { 59 | mkdir -p $1${prefix} 60 | make install DESTDIR=$1 61 | 62 | return 0 63 | } 64 | -------------------------------------------------------------------------------- /etc/rm_alps.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_alps.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Feb 20 2015 andrewg@cray.com: Updated for XE/XK/XC systems 32 | ## Oct 3 2011 DHA: Created file. 33 | ## 34 | ## 35 | ## RM: the name of Resource Manager 36 | ## RM_launcher: the name of the launcher command 37 | ## RM_launcher_id: the rule to get the launcher id 38 | ## (e.g., RM_launcher|sym|srun says the launcher is identify by testing 39 | ## RM_launcher's symbol by the name of srun) 40 | ## RM_jobid: the rule to get the target jobid 41 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 42 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 43 | ## interpreting that as the string type. 44 | ## RM_launcher_helper= method or command to launch daemons 45 | ## RM_launch_str= options and arguements used for RM_launch_mth. 46 | ## 47 | 48 | RM=alps 49 | RM_MPIR=STD_CRAY 50 | RM_launcher=aprun 51 | RM_launcher=aprun.orig 52 | RM_launcher_id=RM_launcher|sym|AprunUsageMsg 53 | RM_jobid=RM_launcher|pid 54 | RM_launch_helper=alps_fe_colocator 55 | RM_signal_for_kill=SIGINT 56 | RM_fail_detection=false 57 | RM_launch_str=--be_starter=%b --apid=%j --daemon=%d %o --lmonsharedsec=%s --lmonsecchk=%c 58 | -------------------------------------------------------------------------------- /etc/rm_bglrm.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_bglrm.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Oct 3 2011 DHA: Created file. 32 | ## 33 | ## 34 | ## RM: the name of Resource Manager 35 | ## RM_launcher: the name of the launcher command 36 | ## RM_launcher_id: the rule to get the launcher id 37 | ## (e.g., RM_launcher|sym|srun says the launcher is identify by testing 38 | ## RM_launcher's symbol by the name of srun) 39 | ## RM_jobid: the rule to get the target jobid 40 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 41 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 42 | ## interpreting that as the string type. 43 | ## RM_launcher_helper= method or command to launch daemons 44 | ## RM_launch_str= options and arguements used for RM_launch_mth. 45 | ## 46 | 47 | RM=bglrm 48 | RM_MPIR=STD_COLOC 49 | RM_launcher=mpirun64 50 | RM_launcher=mpirun32 51 | RM_launcher=mpirun 52 | RM_launcher_id=RM_launcher|sym|mpirun.cc 53 | RM_launch_helper=mpir 54 | RM_signal_for_kill=SIGINT 55 | RM_fail_detection=false 56 | RM_launch_str=%o --lmonsharedsec=%s --lmonsecchk=%c 57 | 58 | -------------------------------------------------------------------------------- /etc/rm_bgprm.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_bgprm.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | #* Dec 14 2012 DHA: Updated the signiture for the launcher 32 | ## Oct 3 2011 DHA: Created file. 33 | ## 34 | ## 35 | ## RM: the name of Resource Manager 36 | ## RM_launcher: the name of the launcher command 37 | ## RM_launcher_id: the rule to get the launcher id 38 | ## (e.g., RM_launcher|sym|srun says the launcher is identify by testing 39 | ## RM_launcher's symbol by the name of srun) 40 | ## RM_jobid: the rule to get the target jobid 41 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 42 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 43 | ## interpreting that as the string type. 44 | ## RM_launcher_helper= method or command to launch daemons 45 | ## RM_launch_str= options and arguements used for RM_launch_mth. 46 | ## 47 | RM=bgprm 48 | RM_MPIR=STD_COLOC 49 | RM_launcher=mpirun64 50 | RM_launcher=mpirun32 51 | RM_launcher=mpirun 52 | RM_launcher_id=RM_launcher|sym|external_mpirun_done 53 | RM_launch_helper=mpir 54 | RM_signal_for_kill=SIGINT 55 | RM_fail_detection=false 56 | RM_launch_str=%o --lmonsharedsec=%s --lmonsecchk=%c 57 | 58 | -------------------------------------------------------------------------------- /etc/rm_bgq_slurm.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_bgprm.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Oct 3 2011 DHA: Created file. 32 | ## 33 | ## 34 | ## RM: the name of Resource Manager 35 | ## RM_launcher: the name of the launcher command 36 | ## RM_launcher_id: the rule to get the launcher id 37 | ## (e.g., RM_launcher|sym|srun says the launcher is identify by testing 38 | ## RM_launcher's symbol by the name of srun) 39 | ## RM_jobid: the rule to get the target jobid 40 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 41 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 42 | ## interpreting that as the string type. 43 | ## RM_launcher_helper= method or command to launch daemons 44 | ## RM_launch_str= options and arguements used for RM_launch_mth. 45 | ## 46 | 47 | RM=bgq_slurm 48 | RM_MPIR=STD_COLOC 49 | RM_launcher=srun 50 | RM_launcher=start_tool 51 | RM_launcher_id=RM_launcher|sym|srun 52 | RM_launcher_id=RM_launcher|sym|runjob::tool::Daemon::Daemon() 53 | RM_launcher_so=librunjob_client.so.1 54 | RM_launch_helper=mpir 55 | RM_signal_for_kill=SIGINT|SIGINT 56 | RM_fail_detection=false 57 | RM_launch_str=%o --lmonsharedsec=%s --lmonsecchk=%c 58 | -------------------------------------------------------------------------------- /etc/rm_bgqrm.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_bgprm.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Oct 3 2011 DHA: Created file. 32 | ## 33 | ## 34 | ## RM: the name of Resource Manager 35 | ## RM_launcher: the name of the launcher command 36 | ## RM_launcher_id: the rule to get the launcher id 37 | ## (e.g., RM_launcher|sym|srun says the launcher is identify by testing 38 | ## RM_launcher's symbol by the name of srun) 39 | ## RM_jobid: the rule to get the target jobid 40 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 41 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 42 | ## interpreting that as the string type. 43 | ## RM_launcher_helper= method or command to launch daemons 44 | ## RM_launch_str= options and arguements used for RM_launch_mth. 45 | ## 46 | 47 | RM=bgqrm 48 | RM_MPIR=STD_COLOC 49 | RM_launcher=runjob 50 | RM_launcher=start_tool 51 | RM_launcher_id=RM_launcher|sym|00000011.plt_call._ZN7bgsched6runjob6Client4Impl5startEiii+0 52 | RM_launcher_so=librunjob_client.so.1 53 | RM_launch_helper=mpir 54 | RM_signal_for_kill=SIGINT 55 | RM_fail_detection=false 56 | RM_launch_str=%o --lmonsharedsec=%s --lmonsecchk=%c 57 | -------------------------------------------------------------------------------- /etc/rm_cray.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_cray.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Mar 31 2015 andrewg@cray.com: Added file for Cray CTI support 32 | ## 33 | ## 34 | ## RM: the name of Resource Manager 35 | ## RM_launcher: the name of the launcher command 36 | ## RM_launcher_id: the rule to get the launcher id 37 | ## (e.g., RM_launcher|sym|srun says the launcher is identify by testing 38 | ## RM_launcher's symbol by the name of srun) 39 | ## RM_jobid: the rule to get the target jobid 40 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 41 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 42 | ## interpreting that as the string type. 43 | ## RM_launcher_helper= method or command to launch daemons 44 | ## RM_launch_str= options and arguements used for RM_launch_mth. 45 | ## 46 | 47 | RM=cray 48 | RM_MPIR=STD_CRAY 49 | RM_launcher=aprun 50 | RM_launcher=aprun.orig 51 | RM_launcher_id=RM_launcher|sym|AprunUsageMsg 52 | RM_jobid=RM_launcher|pid 53 | RM_launch_helper=cti_fe_colocator 54 | RM_signal_for_kill=SIGINT 55 | RM_fail_detection=false 56 | RM_launch_str=--apid=%j --daemon=%d -- %o --lmonsharedsec=%s --lmonsecchk=%c 57 | -------------------------------------------------------------------------------- /etc/rm_flux.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_flux.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2020, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Aug 11 2020 DHA: Created file. 32 | ## 33 | ## RM: the name of Resource Manager 34 | ## RM_launcher: the name of the launcher command 35 | ## RM_launcher_id: the rule to get the launcher id 36 | ## (e.g., RM_launcher|sym|cmd_attach says the launcher is identify by testing 37 | ## RM_launcher's symbol by the name of cmd_attach) 38 | ## RM_jobid: the rule to get the target jobid 39 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 40 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 41 | ## interpreting that as the string type. 42 | ## RM_launcher_helper= method or command to launch daemons 43 | ## RM_launch_str= options and arguements used for RM_launch_mth. 44 | ## 45 | ## 46 | 47 | RM=flux 48 | RM_MPIR=STD 49 | RM_launcher=flux-job 50 | RM_launcher_id=RM_launcher|sym|cmd_attach 51 | RM_jobid=RM_launcher|sym|totalview_jobid|string 52 | RM_launch_helper=flux-helper.sh 53 | RM_signal_for_kill=SIGINT|SIGINT 54 | RM_fail_detection=true 55 | RM_launch_str=--jobid=%j -- %d %o --lmonsharedsec=%s --lmonsecchk=%c 56 | 57 | -------------------------------------------------------------------------------- /etc/rm_gupc.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_slurm.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Sep 30 2011 DHA: Created file. 32 | ## 33 | ## 34 | ## RM: the name of Resource Manager 35 | ## RM_launcher: the name of the launcher command 36 | ## RM_launcher_id: the rule to get the launcher id 37 | ## (e.g., RM_launcher|sym|srun says the launcher is identify by testing 38 | ## RM_launcher's symbol by the name of srun) 39 | ## RM_jobid: the rule to get the target jobid 40 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 41 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 42 | ## interpreting that as the string type. 43 | ## RM_launcher_helper= method or command to launch daemons 44 | ## RM_launch_str= options and arguements used for RM_launch_mth. 45 | ## 46 | ## TODO: do something about kill-support 47 | ## 48 | 49 | RM=gupc 50 | RM_MPIR=STD 51 | RM_launcher=* 52 | RM_launcher_id=RM_launcher|sym|upc_main 53 | RM_jobid=RM_launcher|pid 54 | RM_launch_helper=LMON_REMOTE_LOGIN 55 | RM_signal_for_kill=SIGTERM 56 | RM_fail_detection=true 57 | RM_launch_str=%h %d %o --lmonsharedsec=%s --lmonsecchk=%c 58 | 59 | -------------------------------------------------------------------------------- /etc/rm_info.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_info.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Aug 04 2020 DHA: Added Flux support. 32 | ## Mar 01 2018 KMD: Added aarch64 support 33 | ## Apr 01 2015 ADG: Added CTI support. 34 | ## Sep 30 2011 DHA: Created file. 35 | ## 36 | ## 37 | ## [platform] 38 | ## config file for each supported RM 39 | ## 40 | 41 | [linux-x86] 42 | rm_slurm.conf 43 | rm_openrte.conf 44 | rm_mchecker.conf 45 | 46 | [linux-x86_64] 47 | rm_slurm.conf 48 | rm_openrte.conf 49 | rm_alps.conf 50 | rm_cray.conf 51 | rm_mchecker.conf 52 | rm_mpiexec_hydra.conf 53 | rm_gupc.conf 54 | rm_flux.conf 55 | 56 | [linux-aarch64] 57 | rm_slurm.conf 58 | rm_openrte.conf 59 | rm_alps.conf 60 | rm_cray.conf 61 | rm_mchecker.conf 62 | rm_gupc.conf 63 | rm_flux.conf 64 | 65 | [linux-power] 66 | rm_bglrm.conf 67 | rm_bgprm.conf 68 | rm_bgqrm.conf 69 | rm_bgq_slurm.conf 70 | rm_mchecker.conf 71 | rm_openrte.conf 72 | rm_flux.conf 73 | 74 | [linux-power64] 75 | rm_bgqrm.conf 76 | rm_bgq_slurm.conf 77 | rm_mchecker.conf 78 | rm_gupc.conf 79 | rm_openrte.conf 80 | rm_flux.conf 81 | 82 | -------------------------------------------------------------------------------- /etc/rm_mchecker.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_bgprm.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Oct 3 2011 DHA: Created file. 32 | ## 33 | ## 34 | ## RM: the name of Resource Manager 35 | ## RM_launcher: the name of the launcher command 36 | ## RM_launcher_id: the rule to get the launcher id 37 | ## (e.g., RM_launcher|sym|srun says the launcher is identify by testing 38 | ## RM_launcher's symbol by the name of srun) 39 | ## RM_jobid: the rule to get the target jobid 40 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 41 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 42 | ## interpreting that as the string type. 43 | ## RM_launcher_helper= method or command to launch daemons 44 | ## RM_launch_str= options and arguements used for RM_launch_mth. 45 | ## 46 | 47 | RM=modelchecker 48 | RM_MPIR=STD 49 | RM_launcher=LE_model_checker 50 | RM_launcher_id=RM_launcher|sym|modelchecker_run 51 | RM_launch_helper=none 52 | RM_jobid=RM_launcher|sym|totalview_jobid|string 53 | RM_fail_detection=false 54 | RM_launch_str=--lmonsharedsec=%s --lmonsecchk=%c 55 | -------------------------------------------------------------------------------- /etc/rm_mpiexec_hydra.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_mpiexec_hydra.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## May 05 2016 DHA: Created file. 32 | ## 33 | ## 34 | ## RM: the name of Resource Manager 35 | ## RM_launcher: the name of the launcher command 36 | ## RM_launcher_id: the rule to get the launcher id 37 | ## (e.g., RM_launcher|sym|srun says the launcher is identify by testing 38 | ## RM_launcher's symbol by the name of srun) 39 | ## RM_jobid: the rule to get the target jobid 40 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 41 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 42 | ## interpreting that as the string type. 43 | ## RM_launcher_helper= method or command to launch daemons 44 | ## RM_launch_str= options and arguements used for RM_launch_mth. 45 | ## 46 | 47 | RM=mpiexec_hydra 48 | RM_MPIR=STD 49 | RM_launcher=mpiexec.hydra 50 | RM_launcher_id=RM_launcher|sym|HYD_server_info 51 | RM_launcher_id=RM_launcher|sym|HYD_sock_init 52 | RM_launch_helper=mpirun 53 | RM_signal_for_kill=SIGINT|SIGINT 54 | RM_fail_detection=true 55 | RM_launch_str=-f %l -n %n -ppn 1 %d %o --lmonsharedsec=%s --lmonsecchk=%c 56 | -------------------------------------------------------------------------------- /etc/rm_openrte.conf: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_slurm.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Apr 2 2013 DHA: Added mpirun and mpiexec 32 | ## Oct 3 2011 DHA: Created file. 33 | ## 34 | ## 35 | ## RM: the name of Resource Manager 36 | ## RM_launcher: the name of the launcher command 37 | ## RM_launcher_id: the rule to get the launcher id 38 | ## (e.g., RM_launcher|sym|srun says the launcher is identify by testing 39 | ## RM_launcher's symbol by the name of srun) 40 | ## RM_jobid: the rule to get the target jobid 41 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 42 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 43 | ## interpreting that as the string type. 44 | ## RM_launcher_helper= method or command to launch daemons 45 | ## RM_launch_str= options and arguements used for RM_launch_mth. 46 | ## 47 | 48 | RM=openrte 49 | RM_MPIR=STD_COLOC_FIFO 50 | RM_launcher=orterun 51 | RM_launcher=mpirun 52 | RM_launcher=mpiexec 53 | RM_launcher_id=RM_launcher|sym|orterun 54 | RM_launcher_so=libopen-rte.so 55 | RM_launch_helper=mpir 56 | RM_signal_for_kill=SIGINT 57 | RM_fail_detection=false 58 | RM_launch_str=%o --lmonsharedsec=%s --lmonsecchk=%c 59 | -------------------------------------------------------------------------------- /etc/rm_slurm.conf.in: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## rm_slurm.conf 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Sep 30 2011 DHA: Created file. 32 | ## Feb 02 2016 GLL: Added sattach. 33 | ## May 18 2018 ADG: Modified launch string to avoid requesting resources. 34 | ## Aug 13 2021 GLL: Add --overlap to launch_str if configure detects srun version >= 20.11 35 | ## 36 | ## 37 | ## RM: the name of Resource Manager 38 | ## RM_launcher: the name of the launcher command 39 | ## RM_launcher_id: the rule to get the launcher id 40 | ## (e.g., RM_launcher|sym|srun says the launcher is identify by testing 41 | ## RM_launcher's symbol by the name of srun) 42 | ## RM_jobid: the rule to get the target jobid 43 | ## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says 44 | ## jobid can be obtained from the launcher's symbol, totalview_jobid, 45 | ## interpreting that as the string type. 46 | ## RM_launcher_helper= method or command to launch daemons 47 | ## RM_launch_str= options and arguements used for RM_launch_mth. 48 | ## 49 | ## TODO: do something about kill-support 50 | ## 51 | 52 | RM=slurm 53 | RM_MPIR=STD 54 | RM_launcher=srun 55 | RM_launcher=lt-srun 56 | RM_launcher=sattach 57 | RM_launcher_id=RM_launcher|sym|srun 58 | RM_launcher_id=RM_launcher|sym|sattach 59 | RM_jobid=RM_launcher|sym|totalview_jobid|string 60 | RM_launch_helper=srun 61 | RM_signal_for_kill=SIGINT|SIGINT 62 | RM_fail_detection=true 63 | RM_launch_str=@SRUN_OVERLAP@--input=none --gres=none --mem-per-cpu=0 --jobid=%j --nodes=%n --ntasks=%n --nodelist=%l %d %o --lmonsharedsec=%s --lmonsecchk=%c 64 | 65 | -------------------------------------------------------------------------------- /launchmon/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ## 6 | ##-------------------------------------------------------------------------------- 7 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 8 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 9 | ## LLNL-CODE-409469. All rights reserved. 10 | ## 11 | ## This file is part of LaunchMON. For details, see 12 | ## https://computing.llnl.gov/?set=resources&page=os_projects 13 | ## 14 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 15 | ## 16 | ## 17 | ## This program is free software; you can redistribute it and/or modify it under the 18 | ## terms of the GNU General Public License (as published by the Free Software 19 | ## Foundation) version 2.1 dated February 1999. 20 | ## 21 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 22 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 23 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 24 | ## General Public License for more details. 25 | ## 26 | ## You should have received a copy of the GNU Lesser General Public License along 27 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 28 | ## Place, Suite 330, Boston, MA 02111-1307 USA 29 | ##-------------------------------------------------------------------------------- 30 | ## 31 | ## Update Log: 32 | ## Jun 06 2008 DHA: Taken from the old Makefile, converting 33 | ## to automake Makefile.am 34 | ## Feb 09 2008 DHA: Added LLNS Copyright 35 | ## Aug 16 2006 DHA: build support for launchmon module only 36 | ## Dec 27 2006 DHA: Created file. 37 | ## 38 | 39 | SUBDIRS = src man 40 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_amIMaster.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_be_getMyRank.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_assist_mw_coloc.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Back-End API" 2 | 3 | .SH NAME 4 | LMON_be_assist_mw_coloc \- LaunchMON back-end API: spawns middleware daemons on the nodes where back-end daemons run. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_be_assist_mw_coloc ( );" 10 | .PP 11 | .B cc ... -lmonbeapi 12 | 13 | .SH DESCRIPTION 14 | The \fBLMON_be_assist_mw_coloc()\fR function forks and exec's middleware daemons 15 | on the back-end nodes in support to the \fBLMON_fe_launchMwDaemons()\fR function. 16 | For a machine in which no mechanism exists to spawn additional daemons 17 | on the back-end nodes, this function is required for launching 18 | of middleware daemons. 19 | 20 | .SH RETURN VALUE 21 | These functions return \fBLMON_OK\fR 22 | on success; otherwise, an LMON error code is returned 23 | as described below. 24 | 25 | .SH ERRORS 26 | .TP 27 | .B LMON_OK 28 | Success. 29 | .TP 30 | .B LMON_ESUBCOM 31 | Encountered an error during a communication subsystem operation. 32 | 33 | .SH AUTHOR 34 | Dong H. Ahn 35 | 36 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_barrier.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Back-End API" 2 | 3 | .SH NAME 4 | LMON_be_barrier LMON_be_broadcast LMON_be_gather LMON_be_scatter \- LaunchMON back-end API: collective communication functions. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_be_barrier ( );" 10 | .PP 11 | .BI "lmon_rc_e LMON_be_broadcast ( void *" buf ", int " numbytes " );" 12 | .PP 13 | .BI "lmon_rc_e LMON_be_gather ( void *" sendbuf ", int " perElemNumbytes ", void *" recvbuf " );" 14 | .PP 15 | .BI "lmon_rc_e LMON_be_scatter ( void *" sendbuf ", int " perElemNumbytes ", void *" recvbuf " );" 16 | .PP 17 | .B cc ... -lmonbeapi 18 | 19 | .SH DESCRIPTION 20 | \fBLMON_be_barrier()\fR, \fBLMON_be_broadcast()\fR, \fBLMON_be_gather()\fR, 21 | and \fBLMON_be_scatter()\fR provide collective communication services to 22 | back-end tool daemons. Thus, these functions require all the back-end daemons 23 | associated with a session (see \fBLMON_launchAndSpawnDaemons\fR(3)) 24 | to participate in the calls for a successful transaction. 25 | 26 | The \fBLMON_be_barrier()\fR function blocks the calling daemon until 27 | all daemons have called it. 28 | 29 | The \fBLMON_be_broadcast()\fR function broadcasts the data 30 | from the master back-end daemon to the rest. \fIbuf\fR is the 31 | starting address of the send buffer for the master and 32 | the starting address of the receive buffer for the slave daemons. The \fInumbyte\fR 33 | argument specifies the total number of bytes in \fIbuf\fR. 34 | 35 | The \fBLMON_be_gather ()\fR function allows the master daemon 36 | to gather data into \fIrecvbuf\fR which is hence only meaningful to 37 | the master. Each back-end daemon must provide its per-daemon data thru 38 | the \fIsendbuf\fR argument. \fIperElemNumbytes\fR specifies the number 39 | of bytes in \fIsendbuf\fR. 40 | 41 | The \fBLMON_be_scatter()\fR function allows the master daemon 42 | to scatter \fIsendbuf\fR to all back-end daemons. Thus, 43 | \fIsendbuf\fR is only significant to the master. 44 | Each daemon receives its own portion via the \fIrecvbuf\fR 45 | argument. \fIperElemNumbytes\fR specifies the number of bytes 46 | in \fIrecvbuf\fR. 47 | 48 | .SH RETURN VALUE 49 | These functions return \fBLMON_OK\fR 50 | on success; otherwise, an LMON error code is returned 51 | as described below. 52 | 53 | .SH ERRORS 54 | .TP 55 | .B LMON_OK 56 | Success. 57 | .TP 58 | .B LMON_ESUBCOM 59 | Encountered an error during a communication subsystem operation. 60 | .TP 61 | .B LMON_EINVAL 62 | Encountered any other erroneous conditions. 63 | 64 | .SH AUTHOR 65 | Dong H. Ahn 66 | 67 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_broadcast.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_be_barrier.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_finalize.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Back-End API" 2 | 3 | .SH NAME 4 | LMON_be_init LMON_be_finalize \- LaunchMON back-end API: back-end initialization/finalization functions. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_be_init ( int " ver ", int *" pargc ", char ***" pargv " );" 10 | .PP 11 | .BI "lmon_rc_e LMON_be_finalize ( );" 12 | .PP 13 | .B cc ... -lmonbeapi 14 | 15 | .SH DESCRIPTION 16 | The \fBLMON_be_init()\fR function initializes the LaunchMON back-end. 17 | Each back-end tool daemon must call this function before using any other 18 | back-end API calls. \fBLMON_be_init()\fR 19 | performs the communication subsystem setup as well 20 | as other sanity checks including a library-header version 21 | mismatch check for its client daemon. 22 | The caller must pass \fBLMON_VERSION\fR, 23 | a macro defined in the \fBlmon_be.h\fR file, 24 | to the \fIver\fR argument for proper version matching. 25 | \fIpargc\fR and \fIpargv\fR are the pointers to the 26 | argument count and the argument list that the client 27 | tool daemon gets passed at the \fImain\fR function. 28 | During the communication subsystem setup process, the runtime 29 | selects a single master, the daemon that coordinates 30 | communications with other LaunchMON components on behalf of 31 | the rest of back-end daemons. The client daemon 32 | must use the \fBLMON_be_amIMaster\fR(3) function to determine if it is 33 | selected as the master daemon, should that information be needed. 34 | 35 | The \fBLMON_be_finalize ()\fR function finalizes LaunchMON 36 | back-end resources including its communication subsystem. 37 | Each back-end daemon must call this fuction to be finalized 38 | correctly. The behavior of any subsequent LaunchMON back-end API calls 39 | after \fBLMON_be_finalize ()\fR is undefined. 40 | 41 | .PP 42 | \fB[IBM BlueGene Note]\fR The \fBLMON_be_finalize ()\fR function 43 | sends an END_DEBUG message to CIOD for the CIOD debug protocol 44 | larger than or equal to 3. Sending this message tells 45 | CIOD to reset the environment to be able to allow another 46 | tool to attach to the job. 47 | 48 | .SH RETURN VALUE 49 | These functions return \fBLMON_OK\fR 50 | on success; otherwise, an LMON error code is returned 51 | as described below. 52 | 53 | .SH ERRORS 54 | .TP 55 | .B LMON_OK 56 | Success. 57 | .TP 58 | .B LMON_ESUBCOM 59 | Encountered an error during a communication subsystem operation. 60 | .TP 61 | .B LMON_ESYS 62 | Encountered a system error. 63 | (likely attributed to an error in a UNIX socket API call.) 64 | .TP 65 | .B LMON_EINVAL 66 | Encountered any other erroneous conditions including 67 | a library-header version mismatch. 68 | 69 | .SH AUTHOR 70 | Dong H. Ahn 71 | 72 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_gather.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_be_barrier.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_getMyProctab.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Back-End API" 2 | 3 | .SH NAME 4 | LMON_be_getMyProctab LMON_be_getMyProctabSize \- LaunchMON back-end API: resource manager data access functions. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_be_getMyProctab ( MPIR_PROCDESC_EXT *" buf ", int *" size ", int " max " );" 10 | .PP 11 | .BI "lmon_rc_e LMON_be_getMyProctabSize ( int *" size " );" 12 | .PP 13 | .B cc ... -lmonbeapi 14 | 15 | .SH DESCRIPTION 16 | \fBLMON_be_getMyProctab()\fR returns the per-daemon target process descriptor table via 17 | the \fIbuf\fR argument. The maximum number of table entries that \fIbuf\fR can 18 | hold is specified by \fImax\fR. This function constructs the calling daemon's 19 | local target process table 20 | using the global remote process descriptor table that is 21 | distributed as part of front-end<->back-end handshake operations 22 | (see \fBLMON_be_handshake\fR(3) and \fBLMON_be_ready\fR(3)). This 23 | function requires \fBMPIR_PROCDESC_EXT\fR type, a C struct 24 | extending \fBMPIR_PROCDESC\fR. 25 | 26 | .PP 27 | .nf 28 | .B typedef struct { 29 | .B " "char *host_name; 30 | .B " "char *executable_name; " 31 | .B " "int pid; " 32 | .B "} MPIR_PROCDESC; 33 | .PP 34 | .B typedef struct { 35 | .B " "MPIR_PROCDESC pd; 36 | .B " "int mpirank; 37 | .B } MPIR_PROCDESC_EXT; 38 | .fi 39 | .PP 40 | 41 | The \fBLMON_be_getProctableSize()\fR function returns the total number 42 | of entries in the per-daemon target process descriptor table via the \fIsize\fR argument. 43 | 44 | These functions return an invalid return code if the client daemon uses them before 45 | \fBLMON_be_ready\fR(3). 46 | 47 | .SH RETURN VALUE 48 | These functions return \fBLMON_OK\fR 49 | on success; otherwise, an LMON error code is returned 50 | as described below. 51 | 52 | .SH ERRORS 53 | .TP 54 | .B LMON_OK 55 | Success. 56 | .TP 57 | .B LMON_ESYS 58 | A system error (likely attributed to an error in a sockets API call). 59 | .TP 60 | .B LMON_ENOMEM 61 | Out of memory. 62 | .TP 63 | .B LMON_EDUNAV 64 | Requested information unavailable. 65 | .TP 66 | .B LMON_ETRUNC 67 | Returned \fIbuf\fR contains truncated remote process descriptor table. 68 | .TP 69 | .B LMON_EINVAL 70 | Encountered other erroneous conditions. 71 | 72 | .SH NOTE 73 | The overhead costs of these functions 74 | can be high especially when a daemon invokes it for the first time at large scale. The first invocation 75 | requires the parsing of the entire global remote process table which can be expensive as the table size grows 76 | linearly with increasing scale. 77 | These functions, 78 | however, caches the parsed table during the first invocation, 79 | amortizing the overhead costs over subsequent invocations made by the daemon. 80 | 81 | .SH AUTHOR 82 | Dong H. Ahn 83 | 84 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_getMyProctabSize.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_be_getMyProctab.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_getMyRank.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Back-End API" 2 | 3 | .SH NAME 4 | LMON_be_getMyRank LMON_be_amIMaster LMON_be_getSize \- LaunchMON back-end API: data access functions for the communication subsystem. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_be_getMyRank ( int *" rank " );" 10 | .PP 11 | .BI "lmon_rc_e LMON_be_amIMaster ( );" 12 | .PP 13 | .BI "lmon_rc_e LMON_be_getSize ( int *" size " );" 14 | .PP 15 | .B cc ... -lmonbeapi 16 | 17 | .SH DESCRIPTION 18 | \fBLMON_be_getMyRank()\fR, \fBLMON_be_amIMaster()\fR and \fBLMON_be_getSize()\fR 19 | provide the calling back-end daemon with information regarding 20 | its communication subsystem. 21 | The \fBLMON_be_getMyRank()\fR function returns the logical rank 22 | of the calling daemon via the \fIrank\fR argument. The \fBLMON_be_amIMaster\fR 23 | returns \fBLMON_YES\fR if the caller is the master daemon; 24 | \fBLMON_NO\fR if a slave daemon. The \fBLMON_be_getSize()\fR function 25 | returns the total number of daemons participating in the communication 26 | subsystem thru the \fIsize\fR argument. 27 | 28 | .SH RETURN VALUE 29 | \fBLMON_be_getMyRank()\fR and \fBLMON_be_getSize()\fR return \fBLMON_OK\fR 30 | on success; otherwise, an LMON error code is returned 31 | as described below. The \fBLMON_be_amIMaster()\fR function 32 | returns \fBLMON_YES\fR if the caller is the master daemon; 33 | \fBLMON_NO\fR if a slave daemon. 34 | 35 | .SH ERRORS 36 | .TP 37 | .B LMON_OK 38 | Success. 39 | .TP 40 | .B LMON_YES 41 | The caller is the master daemon. 42 | .TP 43 | .B LMON_NO 44 | The caller is a slave daemon. 45 | .TP 46 | .B LMON_ESUBCOM 47 | Encountered an error during a communication subsystem operation. 48 | .TP 49 | .B LMON_EINVAL 50 | Encountered any other erroneous conditions. 51 | 52 | .SH AUTHOR 53 | Dong H. Ahn 54 | 55 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_getSize.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_be_getMyRank.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_handshake.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Back-End API" 2 | 3 | .SH NAME 4 | LMON_be_handshake LMON_be_ready \- LaunchMON back-end API: front-end <-> back-end handshake functions. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_be_handshake ( void *" udata " );" 10 | .PP 11 | .BI "lmon_rc_e LMON_be_ready ( void *" udata " );" 12 | .PP 13 | .B cc ... -lmonbeapi 14 | 15 | .SH DESCRIPTION 16 | The \fBLMON_be_handshake()\fR function performs handshake operations 17 | between the tool front-end and the back-end daemons associated with 18 | a session (see \fBLMON_launchAndSpawnDaemons\fR(3)). 19 | For the master daemon, if \fIudata\fR is not NULL and an unpack function 20 | has been registered (see \fBLMON_be_regUnpackForBeToFe\fR(3)), the client tool data that are bundled 21 | into the LaunchMON handshaking messages by the front-end 22 | are de-serialized by that unpack function into the \fIudata\fR argument. 23 | It is upto the client daemon implementation how these data are distributed 24 | among the daemons. \fIudata\fR is only meaningful to the 25 | master daemon. 26 | 27 | \fBLMON_be_ready() \fR is a companion function to \fBLMON_be_handshake()\fR, 28 | which finalizes the handshaking operation 29 | by sending the \fBREADY\fR message to the front-end. 30 | For the master daemon, if \fIudata\fR is not NULL and a pack function 31 | has been registered (see \fBLMON_be_regpackForFeToBe\fR(3)), \fIudata\fR is serialized and bundled into 32 | the \fBREADY\fR message. \fIudata\fR is only meaningful to the 33 | master daemon. 34 | 35 | Note that all the back-end daemons associated with a session must participate in these functions for a 36 | successful handshake, but the 37 | only master daemon coordinates the communcation with the front-end on 38 | behalf of the other daemons. 39 | 40 | .SH RETURN VALUE 41 | These functions return \fBLMON_OK\fR 42 | on success; otherwise, an LMON error code is returned 43 | as described below. 44 | 45 | .SH ERRORS 46 | .TP 47 | .B LMON_OK 48 | Success. 49 | .TP 50 | .B LMON_EBDMSG 51 | An LMONP message error. 52 | .TP 53 | .B LMON_ESYS 54 | A system error (likely attributed to an error in a sockets API call). 55 | .TP 56 | .B LMON_ESUBCOM 57 | Encountered an error during a communication subsystem operation. 58 | .TP 59 | .B LMON_ENOMEM 60 | Out of memory. 61 | .TP 62 | .B LMON_EINVAL 63 | Encountered any other erroneous conditions. 64 | 65 | .SH AUTHOR 66 | Dong H. Ahn 67 | 68 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_init.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_be_finalize.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_ready.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_be_handshake.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_regErrorCB.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Back-End API" 2 | 3 | .SH NAME 4 | LMON_be_regErrorCB \- LaunchMON back-end API: registers an error message logging callback function. 5 | 6 | .SH SYNOPSIS 7 | .nf 8 | .B #include 9 | .B #include 10 | .B #include 11 | .PP 12 | .PP 13 | .BI "lmon_rc_e LMON_be_regErrorCB ( 14 | .BI " int (* " errCB " ) (const char * " format ", va_list " ap "));" 15 | .B cc ... -lmonbeapi 16 | 17 | .SH DESCRIPTION 18 | 19 | \fBLMON_be_regErrorCB\fR registers the \fBerrCB\fR function which 20 | LaunchMON calls back on an error and/or warning condition with 21 | appropriate arguments. LaunchMON otherwise prints the message 22 | to stderr or stdout. In case there are multiple callback 23 | functions registered with this API call, the latest one is used. 24 | 25 | .SH RETURN VALUE 26 | \fBLMON_OK\fR on success; otherwise, an LMON error code is returned as described below. 27 | 28 | .SH ERRORS 29 | .TP 30 | .B LMON_OK 31 | Success. 32 | .TP 33 | .B LMON_EBDARG 34 | Invalid arguments. 35 | 36 | .SH AUTHOR 37 | Dong H. Ahn 38 | 39 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_regPackForBeToFe.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_be_recvUsrData.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_regUnpackForFeToBe.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_be_recvUsrData.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_scatter.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_be_barrier.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_be_sendUsrData.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_be_recvUsrData.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_attachAndSpawnDaemons.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_launchAndSpawnDaemons.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_createSession.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Front-End API" 2 | 3 | .SH NAME 4 | LMON_fe_createSession \- LaunchMON front-end API: the function creating a tool session. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_fe_createSession ( int *" sessionHandle " );" 10 | .PP 11 | .B cc ... -lmonfeapi 12 | 13 | .SH DESCRIPTION 14 | The \fBLMON_fe_createSession()\fR function creates a tool session, an abstraction 15 | for a group of daemons associated with a parallel job, and 16 | returns the session ID via the \fIsessionHandle\fR argument. 17 | .PP 18 | 19 | .SH RETURN VALUE 20 | The \fBLMON_fe_createSession()\fR function returns \fBLMON_OK\fR 21 | on success; otherwise, an LMON error code is returned 22 | as described below. 23 | 24 | .SH ERRORS 25 | .TP 26 | .B LMON_OK 27 | Success. 28 | .TP 29 | .B LMON_EINVAL 30 | Unable to create resources needed for a tool session. 31 | .TP 32 | .B LMON_ESYS 33 | Encountered a system error. 34 | 35 | .SH AUTHOR 36 | Dong H. Ahn 37 | 38 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_detach.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Front-End API" 2 | 3 | .SH NAME 4 | LMON_fe_detach, LMON_fe_shutdownDaemons, LMON_fe_kill \- LaunchMON front-end API: job/daemon control functions 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_fe_detach ( int " sessionHandle " );" 10 | .PP 11 | .BI "lmon_rc_e LMON_fe_shutdownDaemons ( int " sessionHandle " );" 12 | .PP 13 | .BI "lmon_rc_e LMON_fe_kill ( int " sessionHandle " );" 14 | 15 | .B cc ... -lmonfeapi 16 | 17 | .SH DESCRIPTION 18 | The \fBLMON_fe_detach()\fR function detaches from the MPI job launcher associated 19 | with \fIsessionHandle\fR while leaving the tool daemons to continue running. 20 | .PP 21 | The \fBLMON_fe_shutdownDaemons()\fR detaches from the MPI job launcher associated 22 | with \fIsessionHandle\fR and shuts down the tool daemons. \fB[Blue Gene Note]\fR 23 | Because Blue Gene control systems do not offer a mechanism to shut down 24 | back-end daemons, the shutdown operation is NOOP for back-end tool daemons on this platform. 25 | .PP 26 | The \fBLMON_fe_kill()\fR function destroys all resources associated 27 | with \fIsessionHandle\fR including the target job and tool daemons. 28 | \fB[Blue Gene Note]\fR Because the Blue Gene control system does not offer a mechanism to shut down 29 | back-end daemons, the kill operatioin is NOOP for back-end tool daemons on this platform. 30 | 31 | .SH RETURN VALUE 32 | Those functions return \fBLMON_OK\fR on success; otherwise, an 33 | LMON error code is returned as described below. 34 | 35 | .SH ERRORS 36 | .TP 37 | .B LMON_OK 38 | Success. 39 | .TP 40 | .B LMON_EBDARG 41 | \fIsessionHandle\fR is invalid. 42 | .TP 43 | .B LMON_ETOUT 44 | Timed out 45 | .TP 46 | .B LMON_EINVAL 47 | Encountered other invalid conditions. 48 | 49 | .SH "ENVIRONMENT VARIABLES" 50 | .TP 51 | .B LMON_FE_DMONCTL_TIMEOUT 52 | Overwrites the timeout value: [1-600] seconds (default: 30) 53 | 54 | .SH AUTHOR 55 | Dong H. Ahn 56 | 57 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_getMwHostlist.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Front-End API" 2 | 3 | .SH NAME 4 | LMON_fe_getMwHostlist LMON_fe_getMwHostlistSize\- LaunchMON front-end API: retrieves information about hosts where middleware daemons are running 5 | 6 | .SH SYNOPSIS 7 | .nf 8 | .B #include 9 | .PP 10 | .BI "lmon_rc_e LMON_fe_getMwHostlist ( int " sessionHandle "," 11 | .BI " MPIR_PROCDESC_EXT *" proctab ", unsigned int *" size ", unsigned int " maxlen " );" 12 | .PP 13 | .BI "lmon_rc_e LMON_fe_getMwHostlistSize ( int " sessionHandle ", unsigned int *" size " );" 14 | .PP 15 | .PP 16 | .B cc ... -lmonfeapi 17 | .fi 18 | 19 | .SH DESCRIPTION 20 | 21 | TODO 22 | 23 | .SH RETURN VALUE 24 | Those functions return \fBLMON_OK\fR on success; otherwise, an 25 | LMON error code is returned. 26 | 27 | .SH ERRORS 28 | .TP 29 | .B LMON_OK 30 | Success. 31 | .TP 32 | .B LMON_EBDARG 33 | Invalid arguments. 34 | .TP 35 | .B LMON_EDUNAV 36 | The requested information is unavailable. 37 | .TP 38 | .B LMON_ETRUNC 39 | Returned \fIbuf\fR contains truncated remote process descriptor table. 40 | .TP 41 | .B LMON_EINVAL 42 | Encountered other errorenous conditions. 43 | 44 | .SH AUTHOR 45 | Dong H. Ahn 46 | 47 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_getMwHostlistSize.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_getMwHostlist.3 2 | 3 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_getProctable.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_getProctableSize.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_getRMInfo.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Front-End API" 2 | 3 | .SH NAME 4 | LMON_fe_getRMInfo \- LaunchMON front-end API: provides RM info. 5 | 6 | .SH SYNOPSIS 7 | .nf 8 | .B #include 9 | .B #include 10 | .PP 11 | .PP 12 | .BI "lmon_rc_e LMON_fe_getRMInfo ( int " sessionHandle, " lmon_rm_info_t * " info " ); " 13 | .B cc ... -lmonfeapi 14 | 15 | .SH DESCRIPTION 16 | 17 | \fBLMON_fe_getRMInfo()\fR provides information through \fIinfo\fR on the underlying 18 | resource management software system with that LaunchMON interacts for 19 | the tool session associated with \fIsessionHandle\fR. \fIinfo\fR must point 20 | to the storage holding the \fBlmon_rm_info_t\fR type: 21 | .PP 22 | .nf 23 | .B typedef enum { 24 | .B " "RC_mchecker_rm, " 25 | .B " "RC_slurm, " 26 | .B " "RC_bglrm, " 27 | .B " "RC_bgprm, " 28 | .B " "RC_bgqrm, " 29 | .B " "RC_bgrm, " 30 | .B " "RC_alps, " 31 | .B " "RC_orte, " 32 | .B " "RC_flux, " 33 | .B " "RC_none " 34 | .B "} rm_catalogue_e; 35 | .PP 36 | .B typedef struct { 37 | .B " "rm_catalogue_e *rm_supported_types; " 38 | .B " "int num_supported_types; " 39 | .B " "int index_to_cur_instance; " 40 | .B " "pid_t rm_launcher_pid; " 41 | .B "} lmon_rm_info_t; 42 | .fi 43 | .PP 44 | 45 | The \fIrm\_supported\_types\fR field is a pointer to an array of 46 | the length of \fInum\_supported\_types\fR, containing the supported 47 | resource manager types (the \fIrm\_catalogue\_e\fR type) for the platform. These fields contain static information 48 | and thus are available before an active session is instantiated with 49 | a specific resource manager. However, \fIindex\_to\_cur\_instance\fR and \fIrm\_launcher\_pid\fR are specific to a resource manager that the session 50 | instantiates. Thus, these two later fields become available only after \fBLMON\_fe\_launchAndSpawnDaemons()\fR or \fBLMON\_fe\_attachAndSpawnDaemons()\fR is 51 | successfully returned for the session. 52 | 53 | .SH RETURN VALUE 54 | \fBLMON_OK\fR when all the fields of \fIinfo\fR are available; 55 | \fBLMON_EDUNAV\fR only when \fIrm\_supported\_types\fR and \fInum\_supported\_types\fR are available; otherwise, an LMON error code 56 | is returned as described below. 57 | 58 | .SH ERRORS 59 | .TP 60 | .B LMON_OK 61 | Success. 62 | .TP 63 | .B LMON_EBDARG 64 | Invalid arguments. 65 | .TP 66 | .B LMON_EINVAL, 67 | Invalid session. 68 | .TP 69 | .B LMON_EDUNAV 70 | Neither the pid of the target job launcher (\fIrm\_launcher\_pid\fR) nor \fIindex\_to\_cur\_instance\fR is available. 71 | 72 | .SH AUTHOR 73 | Dong H. Ahn 74 | 75 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_getResourceHandle.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_getProctableSize.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_getStatus.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_regStatusCB.3 2 | 3 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_init.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Front-End API" 2 | 3 | .SH NAME 4 | LMON_fe_init \- LaunchMON front-end API: front-end initialization function. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_fe_init ( int " ver " );" 10 | .PP 11 | .B cc ... -lmonfeapi 12 | 13 | .SH DESCRIPTION 14 | The \fBLMON_fe_init()\fR function initializes the LaunchMON 15 | front-end. Specifically, it performs the resource setup 16 | and sanity checks, including 17 | a version mismatch check between the front-end API library and the 18 | header file. The caller must pass \fBLMON_VERSION\fR, 19 | a macro defined in the \fBlmon_fe.h\fR file, 20 | to the \fIver\fR argument for proper version matching. 21 | 22 | .SH RETURN VALUE 23 | The \fBLMON_fe_init()\fR function returns \fBLMON_OK\fR 24 | on success; otherwise, an LMON error code is returned 25 | as described below. 26 | 27 | .SH ERRORS 28 | .TP 29 | .B LMON_OK 30 | Success. 31 | .TP 32 | .B LMON_EINVAL 33 | Version mismatch between the LaunchMON front-end API library and the header file. 34 | .TP 35 | .B LMON_EINIT 36 | Unable to initialize the resources. 37 | .TP 38 | .B LMON_ESYS 39 | Encountered a system error. 40 | 41 | .SH AUTHOR 42 | Dong H. Ahn 43 | 44 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_kill.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_detach.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_putToBeDaemonEnv.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_regUnpackForBeToFe.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_putToMwDaemonEnv.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_regPackForFeToMw.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_recvUsrDataBe.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_regUnpackForBeToFe.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_recvUsrDataMw.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_regPackForFeToMw.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_regErrorCB.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Front-End API" 2 | 3 | .SH NAME 4 | LMON_fe_regErrorCB \- LaunchMON front-end API: registers an error message logging callback function. 5 | 6 | .SH SYNOPSIS 7 | .nf 8 | .B #include 9 | .B #include 10 | .B #include 11 | .PP 12 | .PP 13 | .BI "lmon_rc_e LMON_fe_regErrorCB ( 14 | .BI " int (* " errCB " ) (const char * " format ", va_list " ap "));" 15 | .B cc ... -lmonfeapi 16 | 17 | .SH DESCRIPTION 18 | 19 | \fBLMON_fe_regErrorCB\fR registers the \fBerrCB\fR function which 20 | LaunchMON calls back on an error and/or warning condition with 21 | appropriate arguments. LaunchMON otherwise prints the message 22 | to the controlling terminal. In case there are multiple callback 23 | functions registered with this API call, the latest one is used. 24 | 25 | .SH RETURN VALUE 26 | \fBLMON_OK\fR on success; otherwise, an LMON error code is returned as described below. 27 | 28 | .SH ERRORS 29 | .TP 30 | .B LMON_OK 31 | Success. 32 | .TP 33 | .B LMON_EBDARG 34 | Invalid arguments. 35 | 36 | .SH AUTHOR 37 | Dong H. Ahn 38 | 39 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_regPackForFeToBe.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_regUnpackForBeToFe.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_regPackForFeToMw.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_regUnpackForMwToFe.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_regStatusCB.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Front-End API" 2 | 3 | .SH NAME 4 | LMON_fe_regStatusCB \- LaunchMON front-end API: registers a status notifying callback function. 5 | 6 | .SH SYNOPSIS 7 | .nf 8 | .B #include 9 | .B #include 10 | .PP 11 | .PP 12 | .BI "lmon_rc_e LMON_fe_regStatusCB ( 13 | .BI " int " sessionHandle, " int ( *"statusCB " ) (int *"status "));" 14 | .PP 15 | .BI "lmon_rc_e LMON_fe_getStatus ( 16 | .BI " int " sessionHandle, " int " status "));" 17 | .PP 18 | .B cc ... -lmonfeapi 19 | 20 | 21 | .SH DESCRIPTION 22 | 23 | \fBLMON_fe_regStatusCB\fR registers the \fIstatusCB\fR function 24 | for the session indicated by the \fIsessionHandle\fR argument. 25 | LaunchMON calls back the registered routine on 26 | the following state changes: the given session is registered; 27 | back-end daemons are spawned; middleware daemons are spawned; 28 | the job is detached from the LaunchMON engine's control; 29 | and the job is killed. 30 | In case where multiple callback functions are registered 31 | with this API call to a session, the latest one is used. 32 | LaunchMON considers a non-zero return value from 33 | the \fIstatusCB\fR function as an error condition. 34 | 35 | \fBLMON_fe_getStatus\fR returns the status of the session 36 | indicated by the \fIsessionHandle\fR argument. This can be 37 | used in polling mode. 38 | 39 | In both cases, the following macros are provided to help the callback routine 40 | decoding the \fIstatus\fR argument. 41 | 42 | .TP 43 | .BI WIFREGISTERED( status_val ) 44 | Evaluates to a non-zero value if the session is registered. 45 | .TP 46 | .BI WIFBESPAWNED( status_val ) 47 | Evaluates to a non-zero value if the back-end daemons have been spawned. 48 | .TP 49 | .BI WIFMWSPAWNED( status_val ) 50 | Evaluates to a non-zero value if the middleware daemons have been spawned. 51 | .TP 52 | .BI WIFDETACHED( status_val ) 53 | Evaluates to a non-zero value if the job has been detached. 54 | .TP 55 | .BI WIFKILLED( status_val ) 56 | Evaluates to a non-zero value if the job has been killed. 57 | 58 | 59 | .SH RETURN VALUE 60 | \fBLMON_OK\fR on success; otherwise, an LMON error code is returned as described below. 61 | 62 | .SH ERRORS 63 | .TP 64 | .B LMON_OK 65 | Success. 66 | .TP 67 | .B LMON_EBDARG 68 | Invalid arguments. 69 | 70 | .SH AUTHOR 71 | Dong H. Ahn 72 | 73 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_sendUsrDataBe.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_regUnpackForBeToFe.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_sendUsrDataMw.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_regPackForFeToMw.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_fe_shutdownDaemons.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_fe_detach.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_amIMaster.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_mw_getMyRank.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_barrier.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Middleware API" 2 | 3 | .SH NAME 4 | LMON_mw_barrier LMON_mw_broadcast LMON_mw_gather LMON_mw_scatter \- LaunchMON Middleware API: collective communication functions. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_mw_barrier ( );" 10 | .PP 11 | .BI "lmon_rc_e LMON_mw_broadcast ( void *" buf ", int " numbytes " );" 12 | .PP 13 | .BI "lmon_rc_e LMON_mw_gather ( void *" sendbuf ", int " perElemNumbytes ", void *" recvbuf " );" 14 | .PP 15 | .BI "lmon_rc_e LMON_mw_scatter ( void *" sendbuf ", int " perElemNumbytes ", void *" recvbuf " );" 16 | .PP 17 | .B cc ... -lmonmwapi 18 | 19 | .SH DESCRIPTION 20 | \fBLMON_mw_barrier()\fR, \fBLMON_mw_broadcast()\fR, \fBLMON_mw_gather()\fR, 21 | and \fBLMON_mw_scatter()\fR provide collective communication services to 22 | middleware tool daemons. Thus, these functions require all of the middleware daemons 23 | associated with a session (see \fBLMON_launchAndSpawnDaemons\fR(3)) 24 | to participate in the calls for a successful transaction. 25 | 26 | The \fBLMON_mw_barrier()\fR function blocks the calling daemon until 27 | all daemons have called it. 28 | 29 | The \fBLMON_mw_broadcast()\fR function broadcasts the data 30 | from the master middleware daemon to the rest. \fIbuf\fR is the 31 | starting address of the send buffer for the master and 32 | the starting address of the receive buffer for the slave daemons. The \fInumbyte\fR 33 | argument specifies the total number of bytes in \fIbuf\fR. 34 | 35 | The \fBLMON_mw_gather ()\fR function allows the master daemon 36 | to gather data into \fIrecvbuf\fR which is hence only meaningful to 37 | the master. Each middleware daemon must provide its per-daemon data thru 38 | the \fIsendbuf\fR argument. \fIperElemNumbytes\fR specifies the number 39 | of bytes in \fIsendbuf\fR. 40 | 41 | The \fBLMON_mw_scatter()\fR function allows the master daemon 42 | to scatter \fIsendbuf\fR to all of middleware daemons. Thus, 43 | \fIsendbuf\fR is only significant to the master. 44 | Each daemon receives its own portion via the \fIrecvbuf\fR 45 | argument. \fIperElemNumbytes\fR specifies the number of bytes 46 | in \fIrecvbuf\fR. 47 | 48 | .SH RETURN VALUE 49 | These functions return \fBLMON_OK\fR 50 | on success; otherwise, an LMON error code is returned 51 | as described below. 52 | 53 | .SH ERRORS 54 | .TP 55 | .B LMON_OK 56 | Success. 57 | .TP 58 | .B LMON_ESUBCOM 59 | Encountered an error during a communication subsystem operation. 60 | .TP 61 | .B LMON_EINVAL 62 | Encountered any other erroneous conditions. 63 | 64 | .SH AUTHOR 65 | Dong H. Ahn 66 | 67 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_broadcast.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_mw_barrier.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_finalize.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2013" LaunchMON "LaunchMON Middleware API" 2 | 3 | .SH NAME 4 | LMON_mw_init LMON_mw_finalize \- LaunchMON Middleware API: Middleware initialization/finalization functions. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_mw_init ( int " ver ", int *" pargc ", char ***" pargv " );" 10 | .PP 11 | .BI "lmon_rc_e LMON_be_finalize ( );" 12 | .PP 13 | .B cc ... -lmonmwapi 14 | 15 | .SH DESCRIPTION 16 | The \fBLMON_mw_init()\fR function initializes the LaunchMON Middleware. 17 | Each middleware tool daemon must call this function before using any other 18 | middleware API calls. \fBLMON_mw_init()\fR 19 | performs the communication subsystem setup as well 20 | as other sanity checks including a library-header version 21 | mismatch check for its client daemon. 22 | The caller must pass \fBLMON_VERSION\fR, 23 | a macro defined in the \fBlmon_mw.h\fR file, 24 | to the \fIver\fR argument for proper version matching. 25 | \fIpargc\fR and \fIpargv\fR are the pointers to the 26 | argument count and the argument list that the client 27 | tool daemon gets passed at the \fImain\fR function. 28 | During the communication subsystem setup process, the runtime 29 | selects a single master, the daemon that coordinates 30 | communications with other LaunchMON components on behalf of 31 | the rest of middleware daemons. The client daemon 32 | must use the \fBLMON_mw_amIMaster\fR(3) function to determine if it is 33 | selected as the master daemon, should that information be needed. 34 | 35 | The \fBLMON_mw_finalize ()\fR function finalizes LaunchMON 36 | middleware resources including its communication subsystem. 37 | Each middleware daemon must call this fuction to be finalized 38 | correctly. The behavior of any subsequent LaunchMON middleware API calls 39 | after \fBLMON_mw_finalize ()\fR is undefined. 40 | 41 | .SH RETURN VALUE 42 | These functions return \fBLMON_OK\fR 43 | on success; otherwise, an LMON error code is returned 44 | as described below. 45 | 46 | .SH ERRORS 47 | .TP 48 | .B LMON_OK 49 | Success. 50 | .TP 51 | .B LMON_ESUBCOM 52 | Encountered an error during a communication subsystem operation. 53 | .TP 54 | .B LMON_ESYS 55 | Encountered a system error. 56 | (likely attributed to an error in a UNIX socket API call.) 57 | .TP 58 | .B LMON_EINVAL 59 | Encountered any other erroneous conditions including 60 | a library-header version mismatch. 61 | 62 | .SH AUTHOR 63 | Dong H. Ahn 64 | 65 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_gather.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_mw_barrier.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_getMyRank.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2013" LaunchMON "LaunchMON Middleware API" 2 | 3 | .SH NAME 4 | LMON_mw_getMyRank LMON_mw_amIMaster LMON_mw_getSize \- LaunchMON Middleware API: data access functions for the communication subsystem. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_mw_getMyRank ( int *" rank " );" 10 | .PP 11 | .BI "lmon_rc_e LMON_mw_amIMaster ( );" 12 | .PP 13 | .BI "lmon_rc_e LMON_mw_getSize ( int *" size " );" 14 | .PP 15 | .B cc ... -lmonmwapi 16 | 17 | .SH DESCRIPTION 18 | \fBLMON_mw_getMyRank()\fR, \fBLMON_mw_amIMaster()\fR and \fBLMON_mw_getSize()\fR 19 | provide the calling middleware daemon with information regarding 20 | its communication subsystem. 21 | The \fBLMON_mw_getMyRank()\fR function returns the logical rank 22 | of the calling daemon via the \fIrank\fR argument. The \fBLMON_mw_amIMaster\fR 23 | returns \fBLMON_YES\fR if the caller is the master daemon; 24 | \fBLMON_NO\fR if a slave daemon. The \fBLMON_mw_getSize()\fR function 25 | returns the total number of daemons participating in the communication 26 | subsystem thru the \fIsize\fR argument. 27 | 28 | .SH RETURN VALUE 29 | \fBLMON_mw_getMyRank()\fR and \fBLMON_mw_getSize()\fR return \fBLMON_OK\fR 30 | on success; otherwise, an LMON error code is returned 31 | as described below. The \fBLMON_mw_amIMaster()\fR function 32 | returns \fBLMON_YES\fR if the caller is the master daemon; 33 | \fBLMON_NO\fR if a slave daemon. 34 | 35 | .SH ERRORS 36 | .TP 37 | .B LMON_OK 38 | Success. 39 | .TP 40 | .B LMON_YES 41 | The caller is the master daemon. 42 | .TP 43 | .B LMON_NO 44 | The caller is a slave daemon. 45 | .TP 46 | .B LMON_ESUBCOM 47 | Encountered an error during a communication subsystem operation. 48 | .TP 49 | .B LMON_EINVAL 50 | Encountered any other erroneous conditions. 51 | 52 | .SH AUTHOR 53 | Dong H. Ahn 54 | 55 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_getSize.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_mw_getMyRank.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_handshake.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Middleware API" 2 | 3 | .SH NAME 4 | LMON_mw_handshake LMON_mw_ready \- LaunchMON middleware API: front-end <-> middleware handshake functions. 5 | 6 | .SH SYNOPSIS 7 | .B #include 8 | .PP 9 | .BI "lmon_rc_e LMON_mw_handshake ( void *" udata " );" 10 | .PP 11 | .BI "lmon_rc_e LMON_mw_ready ( void *" udata " );" 12 | .PP 13 | .B cc ... -lmonmwapi 14 | 15 | .SH DESCRIPTION 16 | The \fBLMON_mw_handshake()\fR function performs handshake operations 17 | between the tool front-end and the middleware daemons associated with 18 | a session (see \fBLMON_launchAndSpawnDaemons\fR(3)). 19 | For the master daemon, if \fIudata\fR is not NULL and an unpack function 20 | has been registered (see \fBLMON_mw_regUnpackForMwToFe\fR(3)), the client tool data that are bundled 21 | into the LaunchMON handshaking messages by the front-end 22 | are de-serialized by that unpack function into the \fIudata\fR argument. 23 | It is upto the client daemon implementation how these data are distributed 24 | among the daemons. \fIudata\fR is only meaningful to the 25 | master daemon. 26 | 27 | \fBLMON_mw_ready() \fR is a companion function to \fBLMON_mw_handshake()\fR, 28 | which finalizes the handshaking operation 29 | by sending the \fBREADY\fR message to the front-end. 30 | For the master daemon, if \fIudata\fR is not NULL and a pack function 31 | has been registered (see \fBLMON_mw_regpackForFeToMw\fR(3)), \fIudata\fR is serialized and bundled into 32 | the \fBREADY\fR message. \fIudata\fR is only meaningful to the 33 | master daemon. 34 | 35 | Note that all the middleware daemons associated with a session must participate in these functions for a 36 | successful handshake, but the 37 | only master daemon coordinates the communcation with the front-end on 38 | behalf of the other daemons. 39 | 40 | .SH RETURN VALUE 41 | These functions return \fBLMON_OK\fR 42 | on success; otherwise, an LMON error code is returned 43 | as described below. 44 | 45 | .SH ERRORS 46 | .TP 47 | .B LMON_OK 48 | Success. 49 | .TP 50 | .B LMON_EBDMSG 51 | An LMONP message error. 52 | .TP 53 | .B LMON_ESYS 54 | A system error (likely attributed to an error in a sockets API call). 55 | .TP 56 | .B LMON_ESUBCOM 57 | Encountered an error during a communication subsystem operation. 58 | .TP 59 | .B LMON_ENOMEM 60 | Out of memory. 61 | .TP 62 | .B LMON_EINVAL 63 | Encountered any other erroneous conditions. 64 | 65 | .SH AUTHOR 66 | Dong H. Ahn 67 | 68 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_init.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_mw_finalize.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_ready.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_mw_handshake.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_regErrorCB.3: -------------------------------------------------------------------------------- 1 | .TH LaunchMON 3 "MAY 2014" LaunchMON "LaunchMON Middleware API" 2 | 3 | .SH NAME 4 | LMON_mw_regErrorCB \- LaunchMON Middleware API: registers an error message logging callback function. 5 | 6 | .SH SYNOPSIS 7 | .nf 8 | .B #include 9 | .B #include 10 | .B #include 11 | .PP 12 | .PP 13 | .BI "lmon_rc_e LMON_mw_regErrorCB ( 14 | .BI " int (* " errCB " ) (const char * " format ", va_list " ap "));" 15 | .B cc ... -lmonmwapi 16 | 17 | .SH DESCRIPTION 18 | 19 | \fBLMON_mw_regErrorCB\fR registers the \fBerrCB\fR function which 20 | LaunchMON calls back on an error and/or warning condition with 21 | appropriate arguments. LaunchMON otherwise prints the message 22 | to stderr or stdout. In case there are multiple callback 23 | functions registered with this API call, the latest one is used. 24 | 25 | .SH RETURN VALUE 26 | \fBLMON_OK\fR on success; otherwise, an LMON error code is returned as described below. 27 | 28 | .SH ERRORS 29 | .TP 30 | .B LMON_OK 31 | Success. 32 | .TP 33 | .B LMON_EBDARG 34 | Invalid arguments. 35 | 36 | .SH AUTHOR 37 | Dong H. Ahn 38 | 39 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_regPackForMwToFe.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_mw_recvUsrData.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_regUnpackForFeToMw.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_mw_recvUsrData.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_scatter.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_mw_barrier.3 2 | -------------------------------------------------------------------------------- /launchmon/man/LMON_mw_sendUsrData.3: -------------------------------------------------------------------------------- 1 | .so man3/LMON_mw_recvUsrData.3 2 | -------------------------------------------------------------------------------- /launchmon/src/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ## 6 | ##-------------------------------------------------------------------------------- 7 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 8 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 9 | ## LLNL-CODE-409469. All rights reserved. 10 | ## 11 | ## This file is part of LaunchMON. For details, see 12 | ## https://computing.llnl.gov/?set=resources&page=os_projects 13 | ## 14 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 15 | ## 16 | ## 17 | ## This program is free software; you can redistribute it and/or modify it under the 18 | ## terms of the GNU General Public License (as published by the Free Software 19 | ## Foundation) version 2.1 dated February 1999. 20 | ## 21 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 22 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 23 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 24 | ## General Public License for more details. 25 | ## 26 | ## You should have received a copy of the GNU Lesser General Public License along 27 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 28 | ## Place, Suite 330, Boston, MA 02111-1307 USA 29 | ##-------------------------------------------------------------------------------- 30 | ## 31 | ## Update Log: 32 | ## Apr 28 2016 DHA: Move conf file to prefix/etc 33 | ## Jun 06 2008 DHA: Taken from the old Makefile, converting 34 | ## to automake Makefile.am 35 | ## Feb 09 2008 DHA: Added LLNS Copyright 36 | ## Dec 27 2006 DHA: Created file. 37 | ## 38 | 39 | SUBDIRS = linux 40 | nobase_include_HEADERS = \ 41 | lmon_api/common.h \ 42 | lmon_api/lmon_api_std.h \ 43 | lmon_api/lmon_be.h \ 44 | lmon_api/lmon_fe.h \ 45 | lmon_api/lmon_lmonp_msg.h \ 46 | lmon_api/lmon_mw.h \ 47 | lmon_api/lmon_proctab.h 48 | 49 | -------------------------------------------------------------------------------- /launchmon/src/linux/lmon_api/lmon_be_sync_mpi_bg.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | *-------------------------------------------------------------------------------- 3 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 4 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn 5 | * . LLNL-CODE-409469. All rights reserved. 6 | * 7 | * This file is part of LaunchMON. For details, see 8 | * https://computing.llnl.gov/?set=resources&page=os_projects 9 | * 10 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public 11 | * License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under 15 | * the terms of the GNU General Public License (as published by the Free 16 | * Software Foundation) version 2.1 dated February 1999. 17 | * 18 | * This program is distributed in the hope that it will be useful, but WITHOUT 19 | * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License 24 | * along with this program; if not, write to the Free Software Foundation, 25 | * Inc., 59 Temple 26 | * Place, Suite 330, Boston, MA 02111-1307 USA 27 | *-------------------------------------------------------------------------------- 28 | * 29 | * Update Log: 30 | * Oct 31 2011 DHA: File created 31 | * 32 | */ 33 | 34 | #ifndef LMON_BE_SYNC_MPI_BG_HXX 35 | #define LMON_BE_SYNC_MPI_BG_HXX 1 36 | 37 | #include "lmon_api/lmon_api_std.h" 38 | #include "lmon_api/lmon_proctab.h" 39 | 40 | extern lmon_rc_e LMON_be_procctl_init_bg(MPIR_PROCDESC_EXT *ptab, int islaunch, 41 | int psize); 42 | 43 | extern lmon_rc_e LMON_be_procctl_stop_bg(MPIR_PROCDESC_EXT *ptab, int psize); 44 | 45 | extern lmon_rc_e LMON_be_procctl_run_bg(int signum, MPIR_PROCDESC_EXT *ptab, 46 | int psize); 47 | 48 | extern lmon_rc_e LMON_be_procctl_perf_bg(MPIR_PROCDESC_EXT *ptab, int psize, 49 | long unsigned int membase, 50 | unsigned int numbytes, 51 | unsigned int *fetchunit, 52 | unsigned int *usecperunit); 53 | 54 | extern lmon_rc_e LMON_be_procctl_initdone_bg(MPIR_PROCDESC_EXT *ptab, 55 | int islaunch, int psize); 56 | 57 | extern lmon_rc_e LMON_be_procctl_done_bg(MPIR_PROCDESC_EXT *ptab, int psize); 58 | 59 | #endif // LMON_BE_SYNC_MPI_BG_HXX 60 | 61 | /* 62 | * ts=2 sw=2 expandtab 63 | */ 64 | -------------------------------------------------------------------------------- /launchmon/src/linux/lmon_api/lmon_be_sync_mpi_bgq.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | *-------------------------------------------------------------------------------- 3 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 4 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn 5 | * . LLNL-CODE-409469. All rights reserved. 6 | * 7 | * This file is part of LaunchMON. For details, see 8 | * https://computing.llnl.gov/?set=resources&page=os_projects 9 | * 10 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public 11 | * License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under 15 | * the terms of the GNU General Public License (as published by the Free 16 | * Software Foundation) version 2.1 dated February 1999. 17 | * 18 | * This program is distributed in the hope that it will be useful, but WITHOUT 19 | * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License 24 | * along with this program; if not, write to the Free Software Foundation, 25 | * Inc., 59 Temple 26 | * Place, Suite 330, Boston, MA 02111-1307 USA 27 | *-------------------------------------------------------------------------------- 28 | * 29 | * Update Log: 30 | * Oct 31 2011 DHA: File created 31 | * 32 | */ 33 | 34 | #ifndef LMON_BE_SYNC_MPI_BGQ_HXX 35 | #define LMON_BE_SYNC_MPI_BGQ_HXX 1 36 | 37 | #include "lmon_api/lmon_api_std.h" 38 | #include "lmon_api/lmon_proctab.h" 39 | 40 | extern lmon_rc_e LMON_be_procctl_init_bgq(MPIR_PROCDESC_EXT *ptab, int islaunch, 41 | int psize); 42 | 43 | extern lmon_rc_e LMON_be_procctl_stop_bgq(MPIR_PROCDESC_EXT *ptab, int psize); 44 | 45 | extern lmon_rc_e LMON_be_procctl_run_bgq(int signum, MPIR_PROCDESC_EXT *ptab, 46 | int psize); 47 | 48 | extern lmon_rc_e LMON_be_procctl_perf_bgq(MPIR_PROCDESC_EXT *ptab, int psize, 49 | long unsigned int membase, 50 | unsigned int numbytes, 51 | unsigned int *fetchunit, 52 | unsigned int *usecperunit); 53 | 54 | extern lmon_rc_e LMON_be_procctl_initdone_bgq(MPIR_PROCDESC_EXT *ptab, 55 | int islaunch, int psize); 56 | 57 | extern lmon_rc_e LMON_be_procctl_done_bgq(MPIR_PROCDESC_EXT *ptab, int psize); 58 | 59 | #endif // LMON_BE_SYNC_MPI_BGQ_HXX 60 | 61 | /* 62 | * ts=2 sw=2 expandtab 63 | */ 64 | -------------------------------------------------------------------------------- /launchmon/src/linux/main.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | *-------------------------------------------------------------------------------- 3 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 4 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn 5 | * . LLNL-CODE-409469. All rights reserved. 6 | * 7 | * This file is part of LaunchMON. For details, see 8 | * https://computing.llnl.gov/?set=resources&page=os_projects 9 | * 10 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public 11 | * License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under 15 | * the terms of the GNU General Public License (as published by the Free 16 | * Software Foundation) version 2.1 dated February 1999. 17 | * 18 | * This program is distributed in the hope that it will be useful, but WITHOUT 19 | * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License 24 | * along with this program; if not, write to the Free Software Foundation, 25 | * Inc., 59 Temple 26 | * Place, Suite 330, Boston, MA 02111-1307 USA 27 | *-------------------------------------------------------------------------------- 28 | * 29 | * Update Log: 30 | * May 02 2018 KMD: Added aarch64 support 31 | * Nov 08 2010 DHA: Added a lexical scope around the driver object 32 | * to support memory tools 33 | * Aug 10 2008 DHA: Now returns EXIT_FAILURE 34 | * Mar 11 2008 DHA: Added Linux PPC support 35 | * Feb 09 2008 DHA: Added LLNS Copyright 36 | * Jan 09 2007 DHA: Linux X86/64 support 37 | * Jan 08 2006 DHA: Created file. 38 | */ 39 | 40 | #include "sdbg_std.hxx" 41 | 42 | #ifndef LINUX_CODE_REQUIRED 43 | #error This source file requires a LINUX OS 44 | #endif 45 | 46 | #include "sdbg_base_launchmon.hxx" 47 | #include "sdbg_base_launchmon_impl.hxx" 48 | 49 | #include "linux/sdbg_linux_driver.hxx" 50 | #include "linux/sdbg_linux_driver_impl.hxx" 51 | #include "linux/sdbg_linux_mach.hxx" 52 | 53 | int main(int argc, char* argv[]) { 54 | try { 55 | int rc = EXIT_FAILURE; 56 | #if X86_ARCHITECTURE || X86_64_ARCHITECTURE || PPC_ARCHITECTURE || \ 57 | AARCH64_ARCHITECTURE 58 | // 59 | // driver instantiation for the linux platform. 60 | // 61 | // 62 | linux_driver_t driver; 63 | #endif 64 | return driver.driver_main(argc, argv); 65 | } catch (symtab_exception_t e) { 66 | e.report(); 67 | // 68 | // return EXIT_FAILURE 69 | // 70 | return EXIT_FAILURE; 71 | } catch (tracer_exception_t e) { 72 | e.report(); 73 | // 74 | // return EXIT_FAILURE 75 | // 76 | return EXIT_FAILURE; 77 | } 78 | } 79 | 80 | /* 81 | * ts=2 sw=2 expandtab 82 | */ 83 | -------------------------------------------------------------------------------- /launchmon/src/linux/sdbg_linux_driver.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | *-------------------------------------------------------------------------------- 3 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 4 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn 5 | * . LLNL-CODE-409469. All rights reserved. 6 | * 7 | * This file is part of LaunchMON. For details, see 8 | * https://computing.llnl.gov/?set=resources&page=os_projects 9 | * 10 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public 11 | * License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under 15 | * the terms of the GNU General Public License (as published by the Free 16 | * Software Foundation) version 2.1 dated February 1999. 17 | * 18 | * This program is distributed in the hope that it will be useful, but WITHOUT 19 | * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License 24 | * along with this program; if not, write to the Free Software Foundation, 25 | * Inc., 59 Temple 26 | * Place, Suite 330, Boston, MA 02111-1307 USA 27 | *-------------------------------------------------------------------------------- 28 | * 29 | * Update Log: 30 | * Feb 09 2008 DHA: Added LLNS Copyright 31 | * Jan 08 2006 DHA: Created file. 32 | */ 33 | 34 | #ifndef SDBG_LINUX_DRIVER_HXX 35 | #define SDBG_LINUX_DRIVER_HXX 1 36 | 37 | #include 38 | #include "sdbg_base_driver.hxx" 39 | #include "sdbg_linux_mach.hxx" 40 | 41 | #define LINUX_DRIVER_TEMPLATELIST \ 42 | typename VA, typename WT, typename IT, typename GRS, typename FRS 43 | #define LINUX_DRIVER_TEMPLPARAM VA, WT, IT, GRS, FRS 44 | 45 | //! class linux_driver_t 46 | /*! 47 | 48 | */ 49 | template 50 | class linux_driver_t 51 | : public driver_base_t { 52 | public: 53 | // 54 | // constructors & destructor 55 | // 56 | linux_driver_t(); 57 | linux_driver_t(const linux_driver_t& d); 58 | virtual ~linux_driver_t(); 59 | 60 | // 61 | // "main" for the whole project 62 | // 63 | int driver_main(int argc, char* argv[]); 64 | 65 | virtual process_base_t* 66 | create_process(pid_t pid, const std::string& mi, const std::string& md, 67 | const std::string& mt, const std::string& mc); 68 | 69 | virtual process_base_t* 70 | create_process(pid_t pid, const std::string& mi); 71 | }; 72 | 73 | #endif // SDBG_LINUX_DRIVER_HXX 74 | 75 | /* 76 | * ts=2 sw=2 expandtab 77 | */ 78 | -------------------------------------------------------------------------------- /launchmon/src/linux/sdbg_rm_spawner.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | *-------------------------------------------------------------------------------- 3 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 4 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn 5 | * . LLNL-CODE-409469. All rights reserved. 6 | * 7 | * This file is part of LaunchMON. For details, see 8 | * https://computing.llnl.gov/?set=resources&page=os_projects 9 | * 10 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public 11 | * License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under 15 | * the terms of the GNU General Public License (as published by the Free 16 | * Software Foundation) version 2.1 dated February 1999. 17 | * 18 | * This program is distributed in the hope that it will be useful, but WITHOUT 19 | * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License 24 | * along with this program; if not, write to the Free Software Foundation, 25 | * Inc., 59 Temple 26 | * Place, Suite 330, Boston, MA 02111-1307 USA 27 | *-------------------------------------------------------------------------------- 28 | * 29 | * Update Log: 30 | * May 31 2012 DHA: Copied from the 0.8-middleware-support branch 31 | * Jul 02 2010 DHA: Created file. 32 | */ 33 | 34 | // 35 | // 36 | // WARNING this module has not been implemented 37 | // 38 | // 39 | #ifndef SDBG_RM_SPAWNER_HXX 40 | #define SDBG_RM_SPAWNER_HXX 1 41 | 42 | #include "sdbg_std.hxx" 43 | 44 | #include 45 | #include "sdbg_rm_map.hxx" 46 | #include "sdbg_self_trace.hxx" 47 | 48 | class spawner_rm_t : public spawner_base_t { 49 | public: 50 | //////////////////////////////////////////////////////////// 51 | // 52 | // Public Interfaces 53 | // 54 | spawner_rm_t(); 55 | ~spawner_rm_t(); 56 | 57 | spawner_rm_t(const std::string &rac, const std::vector &racargs, 58 | const std::string ep); 59 | 60 | spawner_rm_t(const std::string &rac, const std::vector &racargs, 61 | const std::string ep, const std::vector &hosts); 62 | 63 | virtual ~spawner_rm_t(); 64 | 65 | virtual bool spawn(); 66 | 67 | virtual int combineHosts(std::vector &combHosts); 68 | 69 | static spawner_rm_t *new_spawner_rm_t(...); 70 | 71 | private: 72 | explict spawner_rm_t(const spawner_rsh_t &s); 73 | }; 74 | 75 | #endif // SDBG_RM_SPAWNER_HXX 76 | 77 | /* 78 | * ts=2 sw=2 expandtab 79 | */ 80 | -------------------------------------------------------------------------------- /launchmon/src/lmon_api/common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Header: $ 3 | *-------------------------------------------------------------------------------- 4 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 5 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 6 | * LLNL-CODE-409469. All rights reserved. 7 | * 8 | * This file is part of LaunchMON. For details, see 9 | * https://computing.llnl.gov/?set=resources&page=os_projects 10 | * 11 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under the 15 | * terms of the GNU General Public License (as published by the Free Software 16 | * Foundation) version 2.1 dated February 1999. 17 | 18 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY 19 | * WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License along 24 | * with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 25 | * Place, Suite 330, Boston, MA 02111-1307 USA 26 | *-------------------------------------------------------------------------------- 27 | * 28 | * 29 | * Update Log: 30 | * Dec 23 2009 DHA: Removed header file macroes for header files that 31 | * would exit on almost all UNIX based platforms, 32 | * facilitaing binary distribution. 33 | * Aug 26 2009 DHA: Added lmon-config.h support 34 | * Aug 10 2009 DHA: Added HAVE_STDIO_H and HAVE_SYS_TYPES_H check 35 | * Jun 06 2008 DHA: File created. Mostly from the autobook. 36 | * 37 | */ 38 | 39 | #ifndef LMON_API_COMMON_H 40 | #define LMON_API_COMMON_H 1 41 | 42 | #ifdef __cplusplus 43 | # define BEGIN_C_DECLS extern "C" { 44 | # define END_C_DECLS } 45 | #else /* !__cplusplus */ 46 | # define BEGIN_C_DECLS 47 | # define END_C_DECLS 48 | #endif /* __cplusplus */ 49 | 50 | #include 51 | #include 52 | #include 53 | #include 54 | #include 55 | #include 56 | 57 | #ifndef errno 58 | extern int errno; 59 | #endif 60 | 61 | #ifndef EXIT_SUCCESS 62 | # define EXIT_SUCCESS 0 63 | # define EXIT_FAILURE 1 64 | #endif 65 | 66 | #endif /* LMON_API_COMMON_H */ 67 | -------------------------------------------------------------------------------- /launchmon/src/lmon_api/lmon_say_msg.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * $Header: /usr/gapps/asde/cvs-vault/sdb/launchmon/src/lmon_api/lmon_say_msg.hxx,v 1.1.2.2 2008/02/20 17:37:58 dahn Exp $ 3 | *-------------------------------------------------------------------------------- 4 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 5 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 6 | * LLNL-CODE-409469. All rights reserved. 7 | * 8 | * This file is part of LaunchMON. For details, see 9 | * https://computing.llnl.gov/?set=resources&page=os_projects 10 | * 11 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under the 15 | * terms of the GNU General Public License (as published by the Free Software 16 | * Foundation) version 2.1 dated February 1999. 17 | 18 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY 19 | * WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License along 24 | * with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 25 | * Place, Suite 330, Boston, MA 02111-1307 USA 26 | *-------------------------------------------------------------------------------- 27 | * 28 | * 29 | * Update Log: 30 | * Jun 09 2010 DHA: Added LMON_timestamp 31 | * May 11 2010 DHA: Moved gettimeofdayD here 32 | * May 19 2008 DHA: Added errorCB support 33 | * Feb 09 2008 DHA: Added LLNS Copyright 34 | * Mar 13 2006 DHA: Added duplex pipe class a simple 35 | * wrapper class holding on UNIX fds, 36 | * "read" and "write" 37 | * Dec 29 2006 DHA: Created file. 38 | */ 39 | 40 | #ifndef LMON_API_LMON_SAY_MSG_HXX 41 | #define LMON_API_LMON_SAY_MSG_HXX 1 42 | 43 | #include 44 | #include 45 | #include 46 | 47 | extern int (*errorCB) (const char *format, va_list ap); 48 | extern double gettimeofdayD (); 49 | extern void LMON_say_msg (const char* m, bool error_or_info, const char* output, ...); 50 | extern void LMON_TotalView_debug (); 51 | extern int LMON_timestamp (const char *m, const char *ei, const char *fstr, char *obuf, uint32_t len); 52 | extern int LMON_get_execpath( int pid, std::string &opath ); 53 | #endif // LMON_API_LMON_SAY_MSG_HXX 54 | -------------------------------------------------------------------------------- /launchmon/src/sdbg_base_exception.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | *-------------------------------------------------------------------------------- 3 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 4 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn 5 | * . LLNL-CODE-409469. All rights reserved. 6 | * 7 | * This file is part of LaunchMON. For details, see 8 | * https://computing.llnl.gov/?set=resources&page=os_projects 9 | * 10 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public 11 | * License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under 15 | * the terms of the GNU General Public License (as published by the Free 16 | * Software Foundation) version 2.1 dated February 1999. 17 | * 18 | * This program is distributed in the hope that it will be useful, but WITHOUT 19 | * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License 24 | * along with this program; if not, write to the Free Software Foundation, 25 | * Inc., 59 Temple 26 | * Place, Suite 330, Boston, MA 02111-1307 USA 27 | *-------------------------------------------------------------------------------- 28 | * 29 | * Update Log: 30 | * Feb 09 2008 DHA: Added LLNS Copyright 31 | * Aug 15 2007 DHA: File created 32 | * 33 | */ 34 | 35 | #ifndef SDBG_BASE_EXCEPTION_HXX 36 | #define SDBG_BASE_EXCEPTION_HXX 1 37 | 38 | #include 39 | #include "sdbg_self_trace.hxx" 40 | 41 | class exception_base_t { 42 | public: 43 | exception_base_t() {} 44 | explicit exception_base_t(const char* m) { message = m; } 45 | explicit exception_base_t(const std::string& m) { message = m; } 46 | virtual ~exception_base_t() {} 47 | virtual void report() { 48 | self_trace_t::trace(true, type, true, "[filename: %s, linenum: %d] %s", 49 | fn.c_str(), ln, message.c_str()); 50 | if (bt.size() != 0) { 51 | self_trace_t::trace(true, type, true, "%s", bt.c_str()); 52 | } 53 | } 54 | 55 | define_gset(std::string, message) 56 | define_gset(std::string, type) 57 | define_gset(std::string, bt) 58 | define_gset(std::string, fn) 59 | define_gset(int, ln) 60 | 61 | private: 62 | 63 | std::string message; 64 | std::string type; 65 | std::string bt; 66 | std::string fn; 67 | int ln; 68 | }; 69 | 70 | #endif // SDBG_BASE_EXCEPTION_HXX 71 | 72 | /* 73 | * vi: ts=4 sw=4 expandtab 74 | */ 75 | -------------------------------------------------------------------------------- /launchmon/src/sdbg_self_trace.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | *-------------------------------------------------------------------------------- 3 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 4 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn 5 | * . LLNL-CODE-409469. All rights reserved. 6 | * 7 | * This file is part of LaunchMON. For details, see 8 | * https://computing.llnl.gov/?set=resources&page=os_projects 9 | * 10 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public 11 | * License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under 15 | * the terms of the GNU General Public License (as published by the Free 16 | * Software Foundation) version 2.1 dated February 1999. 17 | * 18 | * This program is distributed in the hope that it will be useful, but WITHOUT 19 | * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License 24 | * along with this program; if not, write to the Free Software Foundation, 25 | * Inc., 59 Temple 26 | * Place, Suite 330, Boston, MA 02111-1307 USA 27 | *-------------------------------------------------------------------------------- 28 | * 29 | * Update Log: 30 | * Jun 09 2010 DHA: Use LMON_timestamp to get consistent timestamp format 31 | * Feb 09 2008 DHA: Added LLNS Copyright 32 | * Jul 03 2006 DHA: trace method 33 | * Mar 30 2006 DHA: File created 34 | */ 35 | 36 | #ifndef HAVE_LAUNCHMON_CONFIG_H 37 | #include "config.h" 38 | #endif 39 | 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | 47 | #include "lmon_api/lmon_say_msg.hxx" 48 | #include "sdbg_self_trace.hxx" 49 | 50 | self_trace_t &self_trace_t::self_trace(void) { 51 | static self_trace_t singleton; 52 | return singleton; 53 | } 54 | 55 | FILE *self_trace_t::tracefptr = stdout; 56 | 57 | //! opts_args_t::trace 58 | /*! 59 | logs self-tracing event 60 | */ 61 | bool self_trace_t::trace(bool levelchk, const std::string &mn, 62 | bool error_or_info, const char *output, ...) { 63 | if (!levelchk) return false; 64 | 65 | va_list ap; 66 | char log[PATH_MAX]; 67 | const char *ei_str = error_or_info ? "ERROR" : "INFO"; 68 | bool rc = false; 69 | 70 | if (LMON_timestamp(mn.c_str(), ei_str, output, log, PATH_MAX) >= 0) { 71 | va_start(ap, output); 72 | vfprintf(tracefptr, log, ap); 73 | va_end(ap); 74 | rc = true; 75 | } 76 | 77 | return rc; 78 | } 79 | 80 | /* 81 | * ts=2 sw=2 expandtab 82 | */ 83 | -------------------------------------------------------------------------------- /launchmon/src/sdbg_std.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | *-------------------------------------------------------------------------------- 3 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 4 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn 5 | * . LLNL-CODE-409469. All rights reserved. 6 | * 7 | * This file is part of LaunchMON. For details, see 8 | * https://computing.llnl.gov/?set=resources&page=os_projects 9 | * 10 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public 11 | * License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under 15 | * the terms of the GNU General Public License (as published by the Free 16 | * Software Foundation) version 2.1 dated February 1999. 17 | * 18 | * This program is distributed in the hope that it will be useful, but WITHOUT 19 | * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License 24 | * along with this program; if not, write to the Free Software Foundation, 25 | * Inc., 59 Temple 26 | * Place, Suite 330, Boston, MA 02111-1307 USA 27 | *-------------------------------------------------------------------------------- 28 | * 29 | * Update Log: 30 | * Jun 01 2009 DHA: Upped GracePeriodBNSignals by x10 31 | * to deal with unreliable signals 32 | * Feb 09 2008 DHA: Added LLNS Copyright 33 | * Mar 30 2006 DHA: Added exception handling support 34 | * Mar 16 2006 DHA: Created file. 35 | * 36 | */ 37 | 38 | #ifndef SDBG_STD_HXX 39 | #define SDBG_STD_HXX 1 40 | 41 | #ifndef HAVE_LAUNCHMON_CONFIG_H 42 | #include "config.h" 43 | #endif 44 | #include 45 | 46 | #define CONCATENATE(A, B) A##B 47 | 48 | #define DEFINE_GET_METHOD(TYPENAME, MEMBER) \ 49 | TYPENAME CONCATENATE(get_, MEMBER)() { return (MEMBER); } 50 | 51 | #define DEFINE_SET_METHOD(TYPENAME, MEMBER) \ 52 | void CONCATENATE(set_, MEMBER)(TYPENAME param) { MEMBER = param; } 53 | 54 | #define define_gset(TYPENAME, MEMBER) \ 55 | DEFINE_GET_METHOD(TYPENAME, MEMBER) \ 56 | DEFINE_SET_METHOD(TYPENAME, MEMBER) 57 | 58 | #define SDBG_DEFAULT_TEMPLATE_WIDTH \ 59 | typename VA, typename WT, typename IT, typename GRS, typename FRS, \ 60 | typename NT, typename EXECHANDLER 61 | 62 | #define SDBG_DEFAULT_TEMPLPARAM VA, WT, IT, GRS, FRS, NT, EXECHANDLER 63 | 64 | const unsigned int GracePeriodForZombieThread = 10000; 65 | const unsigned int GracePeriodBNSignals = 100000; // 100 millisecs 66 | const unsigned int GracePeriodFEDisconnection = 2000000; // 2 secs 67 | const double DefaultWarmPeriods = 10.0; 68 | 69 | #endif // SDBG_STD_HXX 70 | 71 | /* 72 | * ts=2 sw=2 expandtab 73 | */ 74 | -------------------------------------------------------------------------------- /test/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ## 6 | ##-------------------------------------------------------------------------------- 7 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 8 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 9 | ## LLNL-CODE-409469. All rights reserved. 10 | ## 11 | ## This file is part of LaunchMON. For details, see 12 | ## https://computing.llnl.gov/?set=resources&page=os_projects 13 | ## 14 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 15 | ## 16 | ## 17 | ## This program is free software; you can redistribute it and/or modify it under the 18 | ## terms of the GNU General Public License (as published by the Free Software 19 | ## Foundation) version 2.1 dated February 1999. 20 | ## 21 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 22 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 23 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 24 | ## General Public License for more details. 25 | ## 26 | ## You should have received a copy of the GNU Lesser General Public License along 27 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 28 | ## Place, Suite 330, Boston, MA 02111-1307 USA 29 | ##-------------------------------------------------------------------------------- 30 | ## 31 | ## Update Log: 32 | ## Jun 12 2008 DHA: Created file. 33 | ## 34 | 35 | SUBDIRS = src 36 | -------------------------------------------------------------------------------- /test/src/be_standalone_kicker.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | *-------------------------------------------------------------------------------- 3 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 4 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn 5 | * . LLNL-CODE-409469. All rights reserved. 6 | * 7 | * This file is part of LaunchMON. For details, see 8 | * https://computing.llnl.gov/?set=resources&page=os_projects 9 | * 10 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public 11 | * License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under 15 | * the terms of the GNU General Public License (as published by the Free 16 | * Software Foundation) version 2.1 dated February 1999. 17 | * 18 | * This program is distributed in the hope that it will be useful, but WITHOUT 19 | * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License 24 | * along with this program; if not, write to the Free Software Foundation, 25 | * Inc., 59 Temple 26 | * Place, Suite 330, Boston, MA 02111-1307 USA 27 | *-------------------------------------------------------------------------------- 28 | * 29 | * Update Log: 30 | * Jun 12 2008 DHA: Added GNU build system support. 31 | * Feb 09 2008 DHA: Added LLNS Copyright. 32 | * Jul 30 2006 DHA: Created file. 33 | */ 34 | 35 | #ifndef HAVE_LAUNCHMON_CONFIG_H 36 | #include "config.h" 37 | #endif 38 | 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | 50 | void LMON_say_msg(const char* m, const char* output, ...) { 51 | va_list ap; 52 | char log[PATH_MAX]; 53 | struct timeval tv; 54 | gettimeofday(&tv, NULL); 55 | sprintf(log, "<%f> %s (%s): %s\n", tv.tv_sec + (tv.tv_usec / 100000.0), m, 56 | "INFO", output); 57 | va_start(ap, output); 58 | vfprintf(stdout, log, ap); 59 | va_end(ap); 60 | } 61 | 62 | int main(int argc, char* argv[]) { 63 | using namespace std; 64 | char hostName[PATH_MAX]; 65 | char envName[PATH_MAX]; 66 | char* envRet; 67 | char* token; 68 | int rc; 69 | 70 | rc = gethostname(hostName, PATH_MAX); 71 | if (rc < 0) return -1; 72 | 73 | sprintf(envName, "LAUNCHMON_%s", hostName); 74 | envRet = getenv(envName); 75 | 76 | if (envRet == NULL) return -1; 77 | 78 | token = strtok(envRet, ":"); 79 | if (token == NULL) return -1; 80 | 81 | do { 82 | kill(atoi(token), SIGCONT); 83 | } while ((token = strtok(NULL, ":")) != NULL); 84 | LMON_say_msg("[BE KICKER]", "finished sending SIGCONT"); 85 | 86 | return 0; 87 | } 88 | 89 | /* 90 | * ts=2 sw=2 expandtab 91 | */ 92 | -------------------------------------------------------------------------------- /test/src/test.LE_model_checker_extreme.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Update Log: 31 | # May 04 2016 DHA: Add test in-tree and installed support 32 | # Mar 06 2009 DHA: Changed bglrm to bgrm 33 | # Jun 12 2008 DHA: Created file. 34 | # 35 | 36 | NUMTASKS=524288 37 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 38 | if test "x@LMONPREFIX@" != "x0"; then 39 | export LMON_PREFIX=@LMONPREFIX@ 40 | else 41 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 42 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 43 | fi 44 | 45 | @LMON@ $LMON_OPTS -d `pwd`/be_standalone_kicker@EXE@ `pwd`/LE_model_checker@EXE@ -a -p$NUMTASKS -t1 46 | -------------------------------------------------------------------------------- /test/src/test.LE_model_checker_large.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Update Log: 31 | # May 04 2016 DHA: Add test in-tree and installed support 32 | # Mar 06 2009 DHA: Changed bglrm to bgrm 33 | # Jun 12 2008 DHA: Created file. 34 | # 35 | 36 | NUMTASKS=8192 37 | LMON_OPTS="" 38 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 39 | if test "x@LMONPREFIX@" != "x0"; then 40 | export LMON_PREFIX=@LMONPREFIX@ 41 | else 42 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 43 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 44 | fi 45 | 46 | @LMON@ $LMON_OPTS -d `pwd`/be_standalone_kicker@EXE@ `pwd`/LE_model_checker@EXE@ -a -p$NUMTASKS -t1 47 | -------------------------------------------------------------------------------- /test/src/test.LE_model_checker_mainthread.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Update Log: 31 | # May 04 2016 DHA: Add test in-tree and installed support 32 | # Mar 06 2009 DHA: Changed bglrm to bgrm 33 | # Jun 12 2008 DHA: Created file. 34 | # 35 | 36 | NUMTASKS=32 37 | LMON_OPTS="" 38 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 39 | if test "x@LMONPREFIX@" != "x0"; then 40 | export LMON_PREFIX=@LMONPREFIX@ 41 | else 42 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 43 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 44 | fi 45 | 46 | @LMON@ $LMON_OPTS -d `pwd`/be_standalone_kicker@EXE@ `pwd`/LE_model_checker@EXE@ -a -p$NUMTASKS -t0 47 | -------------------------------------------------------------------------------- /test/src/test.LE_model_checker_pthread.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Update Log: 31 | # May 04 2016 DHA: Add test in-tree and installed support 32 | # Mar 06 2009 DHA: Changed bglrm to bgrm 33 | # Jun 12 2008 DHA: Created file. 34 | # 35 | 36 | NUMTASKS=32 37 | LMON_OPTS="" 38 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 39 | if test "x@LMONPREFIX@" != "x0"; then 40 | export LMON_PREFIX=@LMONPREFIX@ 41 | else 42 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 43 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 44 | fi 45 | 46 | @LMON@ $LMON_OPTS -d `pwd`/be_standalone_kicker@EXE@ `pwd`/LE_model_checker@EXE@ -a -p$NUMTASKS -t1 47 | -------------------------------------------------------------------------------- /test/src/test.attach_3_callsafterfail.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Attach the tool to a running program and unlock the hang. 31 | # 32 | # Update Log: 33 | # May 04 2016 DHA: Add test in-tree and installed support 34 | # Jun 16 2008 DHA: Created file. 35 | # 36 | 37 | SIGNUM=10 38 | 39 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 40 | if test "x@LMONPREFIX@" != "x0"; then 41 | export LMON_PREFIX=@LMONPREFIX@ 42 | else 43 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 44 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 45 | fi 46 | export LMON_INVALIDPID_TEST=1 47 | export LMON_CALLS_AFTER_FAIL_TEST=1 48 | 49 | fe_attach_smoketest@EXE@ 1234 `pwd`/be_kicker@EXE@ $SIGNUM -k 20 50 | -------------------------------------------------------------------------------- /test/src/test.attach_3_invalidpid.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Check if attachAndSpawnDaemons can handle an invalid pid case correctly. 31 | # 32 | # Update Log: 33 | # May 04 2016 DHA: Add test in-tree and installed support 34 | # Jun 16 2008 DHA: Created file. 35 | # 36 | 37 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 38 | if test "x@LMONPREFIX@" != "x0"; then 39 | export LMON_PREFIX=@LMONPREFIX@ 40 | else 41 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 42 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 43 | fi 44 | export LMON_INVALIDPID_TEST=1 45 | 46 | fe_attach_smoketest@EXE@ 1234 `pwd`/be_kicker@EXE@ $SIGNUM -k 20 47 | -------------------------------------------------------------------------------- /test/src/test.attach_3_invalidpid_remote.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Attach the tool to a running program and unlock the hang. 31 | # 32 | # Update Log: 33 | # May 04 2016 DHA: Add test in-tree and installed support 34 | # Jun 17 2008 DHA: Created file. 35 | # 36 | 37 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 38 | if test "x@LMONPREFIX@" != "x0"; then 39 | export LMON_PREFIX=@LMONPREFIX@ 40 | else 41 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 42 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 43 | fi 44 | export FEN_RM_DISTRIBUTED=1 45 | export LMON_INVALIDPID_TEST=1 46 | 47 | fe_attach_smoketest@EXE@ 1234 `pwd`/be_kicker@EXE@ $SIGNUM -k 20 48 | -------------------------------------------------------------------------------- /test/src/test.fe_regErrorCB.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Check if attachAndSpawnDaemons can handle an invalid pid case correctly 31 | # and report the error message through a previously registered callback 32 | # function. 33 | # 34 | # Update Log: 35 | # May 04 2016 DHA: Add test in-tree and installed support 36 | # May 19 2009 DHA: Created file. 37 | # 38 | 39 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 40 | if test "x@LMONPREFIX@" != "x0"; then 41 | export LMON_PREFIX=@LMONPREFIX@ 42 | else 43 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 44 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 45 | fi 46 | export LMON_INVALIDPID_TEST=1 47 | export LMON_ERROR_CB_TEST=1 48 | 49 | fe_attach_smoketest@EXE@ 1234 `pwd`/be_kicker@EXE@ $SIGNUM -k 20 50 | -------------------------------------------------------------------------------- /test/src/test.jobsnap_1.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Attach the tool to a running program and collect jobsnap data. 31 | # 32 | # Update Log: 33 | # May 04 2016 DHA: Add test in-tree and installed support 34 | # Oct 21 2011 DHA: Added dynamic RM detection support. 35 | # Mar 06 2009 DHA: Changed bglrm to bgrm 36 | # Jun 17 2008 DHA: Created file. 37 | # 38 | 39 | RM_TYPE=@TEST_RMTP@ 40 | NUMNODES=@NNODES@ 41 | NOHUP="" 42 | if test "x$RM_TYPE" = "xRC_bgrm" ; then 43 | NOHUP=nohup 44 | rm -f nohup.out 45 | fi 46 | 47 | NUMTASKS=`expr $NUMNODES \* @SMP@` 48 | WAITAMOUNT=$NUMNODES 49 | SIGNUM=10 50 | MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 51 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 52 | if test @LMONPREFIX@ -ne 0; then 53 | export LMON_PREFIX=@LMONPREFIX@ 54 | else 55 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 56 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 57 | fi 58 | export JOBSNAP_TEST=1 59 | 60 | if test "x$RM_TYPE" = "xRC_slurm" ; then 61 | $MPI_JOB_LAUNCHER_PATH -n$NUMTASKS -N$NUMNODES -ppdebug `pwd`/hang_on_SIGUSR1@EXE@ & 62 | elif test "x$RM_TYPE" = "xRC_bgrm" ; then 63 | $MPI_JOB_LAUNCHER_PATH -verbose 1 -np $NUMTASKS -exe `pwd`/hang_on_SIGUSR1@EXE@ -cwd `pwd` & 64 | else 65 | echo "This RM is not supported yet" 66 | fi 67 | 68 | PID=`echo $!` 69 | 70 | sleep $WAITAMOUNT #wait until the job gets stalled 71 | 72 | fe_jobsnap@EXE@ $PID `pwd`/be_jobsnap@EXE@ $SIGNUM 73 | 74 | sleep $WAITAMOUNT 75 | 76 | -------------------------------------------------------------------------------- /test/src/test.launch_1.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Launch a fully populated job at $NUMTASK and co-locate daemons, 31 | # one daemon per node, which unlocks the initial hang of all tasks. 32 | # 33 | # Update Log: 34 | # May 04 2016 DHA: Add test in-tree and installed support 35 | # Oct 21 2011 DHA: Added dynamic RM detection support. 36 | # Mar 06 2009 DHA: NUMTASKS=32 37 | # Mar 06 2009 DHA: Changed bglrm to bgrm 38 | # Dec 14 2008 DHA: configurable NUMNODES 39 | # Jun 13 2008 DHA: Created file. 40 | # 41 | 42 | export RM_TYPE=@TEST_RMTP@ 43 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 44 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 45 | if test "x@LMONPREFIX@" != "x0"; then 46 | export LMON_PREFIX=@LMONPREFIX@ 47 | else 48 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 49 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 50 | fi 51 | NUMNODES=@NNODES@ 52 | NOHUP="" 53 | if test "x$RM_TYPE" = "xRC_bglrm" -o "x$RM_TYPE" = "xRC_bgprm"; then 54 | NOHUP=nohup 55 | rm -f nohup.out 56 | fi 57 | 58 | NUMTASKS=`expr $NUMNODES \* @SMP@` 59 | 60 | $NOHUP fe_launch_smoketest@EXE@ `pwd`/simple_MPI@EXE@ $NUMTASKS $NUMNODES pdebug `pwd`/be_kicker@EXE@ 61 | 62 | if test -f nohup.out; then 63 | sleep $NUMNODES 64 | cat nohup.out 65 | fi 66 | 67 | -------------------------------------------------------------------------------- /test/src/test.launch_2_half.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Launch a half populated job at $NUMTASK and 31 | # co-locate daemons, one daemon per node, which unlock the initial 32 | # hang of all tasks. 33 | # 34 | # Update Log: 35 | # May 04 2016 DHA: Add test in-tree and installed support 36 | # Oct 21 2011 DHA: Added dynamic RM detection support. 37 | # Mar 06 2009 DHA: Changed bglrm to bgrm 38 | # Dec 14 2008 DHA: configurable NUMNODES 39 | # Jun 13 2008 DHA: Created file. 40 | # 41 | 42 | export RM_TYPE=@TEST_RMTP@ 43 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 44 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 45 | if test "x@LMONPREFIX@" != "x0"; then 46 | export LMON_PREFIX=@LMONPREFIX@ 47 | else 48 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 49 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 50 | fi 51 | 52 | NUMNODES=@NNODES@ 53 | NOHUP="" 54 | 55 | if test "x$RM_TYPE" = "xRC_bglrm" -o "x$RM_TYPE" = "xRC_bgprm"; then 56 | NOHUP=nohup 57 | rm -f nohup.out 58 | fi 59 | 60 | NUMTASKS=`expr $NUMNODES \* @SMP@ / 2` 61 | 62 | $NOHUP fe_launch_smoketest@EXE@ `pwd`/simple_MPI@EXE@ $NUMTASKS $NUMNODES pdebug `pwd`/be_kicker@EXE@ 63 | 64 | if test -f nohup.out; then 65 | sleep $NUMNODES 66 | cat nohup.out 67 | fi 68 | 69 | -------------------------------------------------------------------------------- /test/src/test.launch_2_uneven.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Launch a unevenly populated job at $NUMTASK and co-locate daemons, 31 | # one daemon per node, which unlock the initial hang of all tasks. 32 | # 33 | # Update Log: 34 | # May 04 2016 DHA: Add test in-tree and installed support 35 | # Oct 21 2011 DHA: Added dynamic RM detection support. 36 | # Mar 06 2009 DHA: Changed bglrm to bgrm 37 | # Dec 14 2008 DHA: configurable NUMNODES 38 | # Jun 13 2008 DHA: Created file. 39 | # 40 | 41 | export RM_TYPE=@TEST_RMTP@ 42 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 43 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 44 | if test "x@LMONPREFIX@" != "x0"; then 45 | export LMON_PREFIX=@LMONPREFIX@ 46 | else 47 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 48 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 49 | fi 50 | 51 | NUMNODES=@NNODES@ 52 | NOHUP="" 53 | 54 | if test "x$RM_TYPE" = "xRC_bglrm" -o "x$RM_TYPE" = "xRC_bgprm"; then 55 | NOHUP=nohup 56 | rm -f nohup.out 57 | fi 58 | 59 | NUMTASKS=`expr $NUMNODES \* @SMP@ / 2 + 2` 60 | 61 | $NOHUP fe_launch_smoketest@EXE@ `pwd`/simple_MPI@EXE@ $NUMTASKS $NUMNODES pdebug `pwd`/be_kicker@EXE@ 62 | 63 | if test -f nohup.out; then 64 | sleep $NUMNODES 65 | cat nohup.out 66 | fi 67 | 68 | -------------------------------------------------------------------------------- /test/src/test.launch_3_invalid_dmonpath.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Providing an invalid daemon path, this test checks if launchAndSpawnDaemons 31 | # can gracefully handle this case. 32 | # 33 | # Update Log: 34 | # May 04 2016 DHA: Add test in-tree and installed support 35 | # Mar 06 2009 DHA: Changed bglrm to bgrm 36 | # Dec 14 2008 DHA: configurable NUMNODES 37 | # Jun 13 2008 DHA: Created file. 38 | # 39 | 40 | export RM_TYPE=@TEST_RMTP@ 41 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 42 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 43 | if test "x@LMONPREFIX@" != "x0"; then 44 | export LMON_PREFIX=@LMONPREFIX@ 45 | else 46 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 47 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 48 | fi 49 | 50 | NUMNODES=@NNODES@ 51 | NOHUP="" 52 | 53 | if test "x$RM_TYPE" = "xRC_bglrm" -o "x$RM_TYPE" = "xRC_bgprm"; then 54 | NOHUP=nohup 55 | rm -f nohup.out 56 | fi 57 | 58 | NUMTASKS=`expr $NUMNODES \* @SMP@` 59 | 60 | export LMON_INVALIDDAEMON_TEST=1 61 | 62 | $NOHUP fe_launch_smoketest@EXE@ `pwd`/simple_MPI@EXE@ $NUMTASKS $NUMNODES pdebug /invalid/be_kicker@EXE@ 63 | 64 | if test -f nohup.out; then 65 | sleep $NUMNODES 66 | cat nohup.out 67 | fi 68 | 69 | -------------------------------------------------------------------------------- /test/src/test.launch_5_usrpayload.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # LaunchMON's user payload shipping functionality test 31 | # 32 | # Update Log: 33 | # May 04 2016 DHA: Add test in-tree and installed support 34 | # Oct 21 2011 DHA: Added dynamic RM detection support. 35 | # Mar 06 2009 DHA: Changed bglrm to bgrm 36 | # Dec 14 2008 DHA: configurable NUMNODES 37 | # Jun 17 2008 DHA: Created file. 38 | # 39 | 40 | export RM_TYPE=@TEST_RMTP@ 41 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 42 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 43 | if test "x@LMONPREFIX@" != "x0"; then 44 | export LMON_PREFIX=@LMONPREFIX@ 45 | else 46 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 47 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 48 | fi 49 | 50 | NUMNODES=@NNODES@ 51 | NOHUP="" 52 | 53 | if test "x$RM_TYPE" = "xRC_bglrm" -o "x$RM_TYPE" = "xRC_bgprm"; then 54 | NOHUP=nohup 55 | rm -f nohup.out 56 | fi 57 | 58 | NUMTASKS=`expr $NUMNODES \* @SMP@` 59 | 60 | $NOHUP fe_launch_usrpayload_test@EXE@ `pwd`/simple_MPI@EXE@ $NUMTASKS $NUMNODES pdebug `pwd`/be_kicker_usrpayload_test@EXE@ 61 | 62 | if test -f nohup.out; then 63 | sleep $NUMNODES 64 | cat nohup.out 65 | fi 66 | 67 | -------------------------------------------------------------------------------- /test/src/test.launch_6_engine_failure.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # 31 | # Update Log: 32 | # Oct 21 2011 DHA: Added dynamic RM detection support. 33 | # Mar 06 2009 DHA: Changed bglrm to bgrm 34 | # Dec 14 2008 DHA: configurable NUMNODES 35 | # Sep 26 2008 DHA: Created file. 36 | # 37 | 38 | export RM_TYPE=@TEST_RMTP@ 39 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 40 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 41 | if test "x@LMONPREFIX@" != "x0"; then 42 | export LMON_PREFIX=@LMONPREFIX@ 43 | else 44 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 45 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 46 | fi 47 | 48 | NUMNODES=@NNODES@ 49 | NOHUP="" 50 | 51 | if test "x$RM_TYPE" = "xRC_bglrm" -o "x$RM_TYPE" = "xRC_bgprm"; then 52 | NOHUP=nohup 53 | rm -f nohup.out 54 | fi 55 | 56 | NUMTASKS=`expr $NUMNODES \* @SMP@` 57 | SIGNUM=18 58 | 59 | export LMON_ADDITIONAL_FE_STALL=1 60 | export LMON_STATUS_CB_TEST=1 61 | 62 | echo "This is a manual test that can be used to check " 63 | echo "the distributed state when a failure occurrs as " 64 | echo "defined in README.ERROR_HANDLING." 65 | echo "A. once job/daemons are launched, kill -SEGV " 66 | echo "C.1 once job/daemons are launched, kill -SEGV " 67 | echo "C.2 once job/daemons are launched, kill -SEGV " 68 | echo "D. once job/daemons are launched, kill -SEGV " 69 | 70 | $NOHUP fe_launch_smoketest@EXE@ `pwd`/run_3mins@EXE@ $NUMTASKS $NUMNODES pdebug `pwd`/be_kicker@EXE@ $SIGNUM 3 71 | 72 | if test -f nohup.out; then 73 | sleep $NUMNODES 74 | cat nohup.out 75 | fi 76 | -------------------------------------------------------------------------------- /test/src/test.launch_7_detach.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008 ~ 2012, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Launch a fully populated job at $NUMTASK and co-locate daemons, 31 | # one daemon per node, which unlocks the initial hang of all tasks. 32 | # 33 | # Update Log: 34 | # May 04 2016 DHA: Add test in-tree and installed support 35 | # Aug 2 2012 DHA: Created file. 36 | # 37 | 38 | export RM_TYPE=@TEST_RMTP@ 39 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 40 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 41 | if test "x@LMONPREFIX@" != "x0"; then 42 | export LMON_PREFIX=@LMONPREFIX@ 43 | else 44 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 45 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 46 | fi 47 | export LMON_FE_DETACH_TEST=1 48 | 49 | NUMNODES=@NNODES@ 50 | NOHUP="" 51 | if test "x$RM_TYPE" = "xRC_bglrm" -o "x$RM_TYPE" = "xRC_bgprm"; then 52 | NOHUP=nohup 53 | rm -f nohup.out 54 | fi 55 | 56 | NUMTASKS=`expr $NUMNODES \* @SMP@` 57 | 58 | $NOHUP fe_launch_smoketest@EXE@ `pwd`/simple_MPI@EXE@ $NUMTASKS $NUMNODES pdebug `pwd`/be_kicker@EXE@ 59 | 60 | if test -f nohup.out; then 61 | sleep $NUMNODES 62 | cat nohup.out 63 | fi 64 | 65 | -------------------------------------------------------------------------------- /test/src/test.launch_7_kill.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008 ~ 2012, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Launch a fully populated job at $NUMTASK and co-locate daemons, 31 | # one daemon per node, which unlocks the initial hang of all tasks. 32 | # 33 | # Update Log: 34 | # May 04 2016 DHA: Add test in-tree and installed support 35 | # Aug 1 2012 DHA: Created file. 36 | # 37 | 38 | export RM_TYPE=@TEST_RMTP@ 39 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 40 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 41 | if test "x@LMONPREFIX@" != "x0"; then 42 | export LMON_PREFIX=@LMONPREFIX@ 43 | else 44 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 45 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 46 | fi 47 | export LMON_FE_KILL_TEST=1 48 | 49 | NUMNODES=@NNODES@ 50 | NOHUP="" 51 | if test "x$RM_TYPE" = "xRC_bglrm" -o "x$RM_TYPE" = "xRC_bgprm"; then 52 | NOHUP=nohup 53 | rm -f nohup.out 54 | fi 55 | 56 | NUMTASKS=`expr $NUMNODES \* @SMP@` 57 | 58 | $NOHUP fe_launch_smoketest@EXE@ `pwd`/simple_MPI@EXE@ $NUMTASKS $NUMNODES pdebug `pwd`/be_kicker@EXE@ 59 | 60 | if test -f nohup.out; then 61 | sleep $NUMNODES 62 | cat nohup.out 63 | fi 64 | 65 | -------------------------------------------------------------------------------- /test/src/test.launch_7_shutdownbe.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Launch a fully populated job at $NUMTASK and co-locate daemons, 31 | # one daemon per node, which unlocks the initial hang of all tasks. 32 | # 33 | # Update Log: 34 | # May 04 2016 DHA: Add test in-tree and installed support 35 | # Aug 01 2012 DHA: Created the file 36 | # 37 | 38 | export RM_TYPE=@TEST_RMTP@ 39 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 40 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 41 | if test "x@LMONPREFIX@" != "x0"; then 42 | export LMON_PREFIX=@LMONPREFIX@ 43 | else 44 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 45 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 46 | fi 47 | export LMON_FE_SHUTDOWNBE_TEST=1 48 | 49 | NUMNODES=@NNODES@ 50 | NOHUP="" 51 | if test "x$RM_TYPE" = "xRC_bglrm" -o "x$RM_TYPE" = "xRC_bgprm"; then 52 | NOHUP=nohup 53 | rm -f nohup.out 54 | fi 55 | 56 | NUMTASKS=`expr $NUMNODES \* @SMP@` 57 | 58 | $NOHUP fe_launch_smoketest@EXE@ `pwd`/simple_MPI@EXE@ $NUMTASKS $NUMNODES pdebug `pwd`/be_kicker@EXE@ 59 | 60 | if test -f nohup.out; then 61 | sleep $NUMNODES 62 | cat nohup.out 63 | fi 64 | 65 | -------------------------------------------------------------------------------- /test/src/test.launch_mw_1_hostlist.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008 - 2010, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Launch a fully populated job at $NUMTASK and co-locate daemons, 31 | # one daemon per node, which unlocks the initial hang of all tasks. 32 | # 33 | # Update Log: 34 | # May 04 2016 DHA: Add test in-tree and installed support 35 | # Jun 04 2012 DHA: Adjust the test script to 1.0 testing environment. 36 | # Aug 03 2010 DHA: Created file. 37 | # 38 | 39 | export RM_TYPE=@TEST_RMTP@ 40 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 41 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 42 | if test "x@LMONPREFIX@" != "x0"; then 43 | export LMON_PREFIX=@LMONPREFIX@ 44 | else 45 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 46 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 47 | fi 48 | export LMON_MW_HOSTLIST_TEST=1 49 | export LMON_MW_HOSTLIST=@LMONMWHL@ 50 | 51 | NUMNODES=@NNODES@ 52 | SIGNUM=18 53 | NOHUP="" 54 | if test "x$RM_TYPE" = "xbgrm" ; then 55 | NOHUP=nohup 56 | rm -f nohup.out 57 | fi 58 | 59 | NUMTASKS=`expr $NUMNODES \* @SMP@` 60 | 61 | $NOHUP fe_launch_middleware@EXE@ `pwd`/simple_MPI@EXE@ $NUMTASKS $NUMNODES pdebug `pwd`/mw_comm_helper@EXE@ `pwd`/be_kicker@EXE@ 62 | 63 | if test -f nohup.out; then 64 | sleep $NUMNODES 65 | cat nohup.out 66 | fi 67 | 68 | -------------------------------------------------------------------------------- /test/src/test.launch_mw_2_coloc.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008 - 2010, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Launch a fully populated job at $NUMTASK and co-locate daemons, 31 | # one daemon per node, which unlocks the initial hang of all tasks. 32 | # 33 | # Update Log: 34 | # May 04 2016 DHA: Add test in-tree and installed support 35 | # Jun 05 2012 DHA: Added subtest support. 36 | # Jun 04 2012 DHA: Adjust the test script to 1.0 testing environment. 37 | # Aug 04 2010 DHA: Created file. 38 | # 39 | 40 | export RM_TYPE=@TEST_RMTP@ 41 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 42 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 43 | if test "x@LMONPREFIX@" != "x0"; then 44 | export LMON_PREFIX=@LMONPREFIX@ 45 | else 46 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 47 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 48 | fi 49 | export LMON_MW_COLOC_TEST=1 50 | 51 | SIGNUM=18 52 | NUMNODES=@NNODES@ 53 | NOHUP="" 54 | if test "x$RM_TYPE" = "xbgrm" ; then 55 | NOHUP=nohup 56 | rm -f nohup.out 57 | fi 58 | 59 | NUMTASKS=`expr $NUMNODES \* @SMP@` 60 | 61 | $NOHUP fe_launch_middleware@EXE@ `pwd`/simple_MPI@EXE@ $NUMTASKS $NUMNODES pdebug `pwd`/mw_comm_helper@EXE@ `pwd`/be_kicker@EXE@ $SIGNUM 2 62 | 63 | if test -f nohup.out; then 64 | sleep $NUMNODES 65 | cat nohup.out 66 | fi 67 | 68 | -------------------------------------------------------------------------------- /test/src/test.launch_mw_5_mixall.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # $Header: $ 3 | # 4 | # 5 | #-------------------------------------------------------------------------------- 6 | # Copyright (c) 2008 - 2010, Lawrence Livermore National Security, LLC. Produced at 7 | # the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | # LLNL-CODE-409469. All rights reserved. 9 | # 10 | # This file is part of LaunchMON. For details, see 11 | # https://computing.llnl.gov/?set=resources&page=os_projects 12 | # 13 | # Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | # 15 | # 16 | # This program is free software; you can redistribute it and/or modify it under the 17 | # terms of the GNU General Public License (as published by the Free Software 18 | # Foundation) version 2.1 dated February 1999. 19 | # 20 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | # WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | # FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | # General Public License for more details. 24 | # 25 | # You should have received a copy of the GNU Lesser General Public License along 26 | # with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | # Place, Suite 330, Boston, MA 02111-1307 USA 28 | #-------------------------------------------------------------------------------- 29 | # 30 | # Launch a fully populated job at $NUMTASK and co-locate daemons, 31 | # one daemon per node, which unlocks the initial hang of all tasks. 32 | # 33 | # Update Log: 34 | # May 04 2016 DHA: Add test in-tree and installed support 35 | # Jun 05 2012 DHA: Added subtest support. 36 | # Jun 04 2012 DHA: Adjust the test script to 1.0 testing environment. 37 | # Aug 05 2010 DHA: Created file. 38 | # 39 | 40 | export RM_TYPE=@TEST_RMTP@ 41 | export MPI_JOB_LAUNCHER_PATH=@TJLPATH@ 42 | export LMON_LAUNCHMON_ENGINE_PATH=@LMON@ 43 | if test "x@LMONPREFIX@" != "x0"; then 44 | export LMON_PREFIX=@LMONPREFIX@ 45 | else 46 | export LMON_RM_CONFIG_DIR=@RMCONFIGDIR@ 47 | export LMON_COLOC_UTIL_DIR=@COLOCDIR@ 48 | fi 49 | export LMON_MW_MIX_TEST=1 50 | export LMON_MW_HOSTLIST=@LMONMWHL@ 51 | 52 | SIGNUM=18 53 | NUMNODES=@NNODES@ 54 | NOHUP="" 55 | if test "x$RM_TYPE" = "xbgrm" ; then 56 | NOHUP=nohup 57 | rm -f nohup.out 58 | fi 59 | 60 | NUMTASKS=`expr $NUMNODES \* @SMP@` 61 | 62 | $NOHUP fe_launch_middleware@EXE@ `pwd`/simple_MPI@EXE@ $NUMTASKS $NUMNODES pdebug `pwd`/mw_comm_helper@EXE@ `pwd`/be_kicker@EXE@ $SIGNUM 2 63 | 64 | if test -f nohup.out; then 65 | sleep $NUMNODES 66 | cat nohup.out 67 | fi 68 | -------------------------------------------------------------------------------- /test/src/travis-run-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -ex 4 | 5 | echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope 6 | cd test/src 7 | export PATH=./:$PATH 8 | cat test.launch_1 9 | ./test.launch_1 10 | sleep 60 11 | cat test.attach_1 12 | ./test.attach_1 13 | sleep 60 14 | echo 'done' 15 | -------------------------------------------------------------------------------- /test/src/util.c: -------------------------------------------------------------------------------- 1 | /* 2 | *-------------------------------------------------------------------------------- 3 | * Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 4 | * the Lawrence Livermore National Laboratory. Written by Dong H. Ahn 5 | * . LLNL-CODE-409469. All rights reserved. 6 | * 7 | * This file is part of LaunchMON. For details, see 8 | * https://computing.llnl.gov/?set=resources&page=os_projects 9 | * 10 | * Please also read LICENSE.txt -- Our Notice and GNU Lesser General Public 11 | * License. 12 | * 13 | * 14 | * This program is free software; you can redistribute it and/or modify it under 15 | * the terms of the GNU General Public License (as published by the Free 16 | * Software Foundation) version 2.1 dated February 1999. 17 | * 18 | * This program is distributed in the hope that it will be useful, but WITHOUT 19 | * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 20 | * FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 21 | * General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public License 24 | * along with this program; if not, write to the Free Software Foundation, 25 | * Inc., 59 Temple 26 | * Place, Suite 330, Boston, MA 02111-1307 USA 27 | *-------------------------------------------------------------------------------- 28 | * 29 | * Update Log: 30 | * Jun 12 2008 DHA: Added GNU build system support. 31 | * Feb 09 2008 DHA: Added LLNS Copyright 32 | * Aug 15 2006 DHA: File created 33 | */ 34 | 35 | #ifndef HAVE_LAUNCHMON_CONFIG_H 36 | #include "config.h" 37 | #endif 38 | 39 | #include 40 | 41 | #if TIME_WITH_SYS_TIME 42 | #include 43 | #include 44 | #else 45 | #error ctime and sys_time.h is required 46 | #endif 47 | 48 | static struct timeval st, et; 49 | 50 | int begin_timer() { return (gettimeofday(&st, NULL)); } 51 | 52 | int time_stamp(const char* description) { 53 | int rc; 54 | 55 | if (!(timerisset(&st))) return -1; 56 | 57 | rc = gettimeofday(&et, NULL); 58 | 59 | if (et.tv_usec >= st.tv_usec) { 60 | fprintf(stdout, "%s: %ld (%ld - %ld) seconds %ld (%ld - %ld) usec \n", 61 | description, (et.tv_sec - st.tv_sec), et.tv_sec, st.tv_sec, 62 | (et.tv_usec - st.tv_usec), et.tv_usec, st.tv_usec); 63 | } else { 64 | fprintf(stdout, "%s: %ld (%ld - %ld) seconds %ld (%ld - %ld) usec \n", 65 | description, ((et.tv_sec - 1) - st.tv_sec), et.tv_sec, st.tv_sec, 66 | ((et.tv_usec + 1000000) - st.tv_usec), et.tv_usec, st.tv_usec); 67 | } 68 | 69 | return rc; 70 | } 71 | 72 | /* 73 | * ts=2 sw=2 expandtab 74 | */ 75 | -------------------------------------------------------------------------------- /tools/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Aug 11 2020 DHA: Add Flux support 32 | ## Apr 28 2016 DHA: Modernize build environment: 33 | ## Make handshake and cobo mandatory and 34 | ## Drop bundling of grypt/gpg packages 35 | ## Apr 01 2015 ADG: Added Cray CTI support 36 | ## Mar 10 2014 MPL: Add secure handshake 37 | ## Dec 16 2009 DHA: Added COBO support 38 | ## Jun 10 2007 DHA: Copied from the old Makefile. 39 | ## 40 | 41 | if WITH_CIOD 42 | OPT_CIOD = ciod 43 | endif 44 | if WITH_ALPS 45 | OPT_ALPS = alps 46 | endif 47 | if WITH_CTI 48 | OPT_CTI = cti 49 | endif 50 | OPT_HANDSHAKE = handshake 51 | 52 | SUBDIRS = handshake cobo flux $(OPT_CIOD) $(OPT_ALPS) $(OPT_CTI) 53 | 54 | -------------------------------------------------------------------------------- /tools/alps/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2010, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Jun 12 2010 DHA: Copied from the old Makefile. 32 | ## 33 | 34 | SUBDIRS = src 35 | -------------------------------------------------------------------------------- /tools/alps/src/CLE-dso.conf: -------------------------------------------------------------------------------- 1 | # 2 | # list file index 3 | # 4 | -i 2.2 CLE_2_2-dso.conf 5 | -i 3.1 CLE_3_1-dso.conf 6 | -------------------------------------------------------------------------------- /tools/alps/src/CLE_2_2-dso.conf: -------------------------------------------------------------------------------- 1 | # 2 | # DSO list for CLE 2.2 3 | # 4 | /lib64/ld-2.4.so 5 | /lib64/ld-linux-x86-64.so.2 6 | /lib64/libc-2.4.so 7 | /lib64/libcap.so.1 8 | /lib64/libcap.so.1.92 9 | /lib64/libcidn-2.4.so 10 | /lib64/libcidn.so.1 11 | /lib64/libcrypt-2.4.so 12 | /lib64/libcrypt.so.1 13 | /lib64/libc.so.6 14 | /lib64/libdl-2.4.so 15 | /lib64/libdl.so.2 16 | /lib64/libncurses.so.5 17 | /lib64/libncurses.so.5.4 18 | /lib64/libnss_files-2.4.so 19 | /lib64/libnss_files.so.2 20 | /lib64/libpthread-2.4.so 21 | /lib64/libpthread.so.0 22 | /lib64/libreadline.so.4 23 | /lib64/libreadline.so.4.3 24 | /lib64/librt-2.4.so 25 | /lib64/librt.so.1 26 | /lib64/libutil-2.4.so 27 | /lib64/libutil.so.1 28 | /usr/lib64/libcr_omit.so.0 29 | /usr/lib64/libcr_omit.so.0.4.1 30 | /usr/lib64/libcr_run.so.0 31 | /usr/lib64/libcr_run.so.0.4.1 32 | /usr/lib64/libcr.so.0 33 | /usr/lib64/libcr.so.0.4.1 34 | /usr/lib64/libnuma.so 35 | /usr/lib64/libnuma.so.1 36 | -------------------------------------------------------------------------------- /tools/alps/src/CLE_3_1-dso.conf: -------------------------------------------------------------------------------- 1 | # 2 | # DSO list for CLE 3.1 3 | # 4 | /lib64/klibc-aSY4GGL1u93hRdtYkN23bvKo274.so 5 | /lib64/ld-2.9.so 6 | /lib64/ld-linux-x86-64.so.2 7 | /lib64/libc-2.9.so 8 | /lib64/libcidn-2.9.so 9 | /lib64/libcidn.so.1 10 | /lib64/libcrypt-2.9.so 11 | /lib64/libcrypt.so.1 12 | /lib64/libc.so.6 13 | /lib64/libdl-2.9.so 14 | /lib64/libdl.so.2 15 | /lib64/libm-2.9.so 16 | /lib64/libm.so.6 17 | /lib64/libnsl-2.9.so 18 | /lib64/libnsl.so.1 19 | /lib64/libnss_files-2.9.so 20 | /lib64/libnss_files.so.2 21 | /lib64/libpthread-2.9.so 22 | /lib64/libpthread.so.0 23 | /lib64/librt-2.9.so 24 | /lib64/librt.so.1 25 | /lib64/libudev.so.0 26 | /lib64/libudev.so.0.0.1 27 | /lib64/libutil-2.9.so 28 | /lib64/libutil.so.1 29 | /lib64/libvolume_id.so.1 30 | /lib64/libvolume_id.so.1.0.1 31 | /lib64/libz.so.1 32 | /lib64/libz.so.1.2.3 33 | /usr/lib64/libcrypto.so.0.9.8 34 | /usr/lib64/libnuma.so.1 35 | /usr/lib64/libssl.so.0.9.8 36 | /usr/lib64/engines/lib4758cca.so 37 | /usr/lib64/engines/libaep.so 38 | /usr/lib64/engines/libatalla.so 39 | /usr/lib64/engines/libchil.so 40 | /usr/lib64/engines/libcswift.so 41 | /usr/lib64/engines/libgmp.so 42 | /usr/lib64/engines/libnuron.so 43 | /usr/lib64/engines/libsureware.so 44 | /usr/lib64/engines/libubsec.so 45 | -------------------------------------------------------------------------------- /tools/alps/src/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2010, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-401141. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## May 05 2016 DHA: Adapt @agontarek's Cray port patch 32 | ## Apr 29 2016 DHA: Mondernize build support 33 | ## Nov 23 2010 DHA: Changed bin_SCRIPTS to etc_SCRIPTS for CLE dso list 34 | ## Nov 04 2010 DHA: Added lib_SCRIPTS 35 | ## Jun 10 2010 DHA: Added alps_fe_colocator support 36 | ## May 13 2010 DHA: Made for alps_be_starter 37 | ## 38 | 39 | AM_CPPFLAGS = \ 40 | -I$(abs_top_srcdir) \ 41 | -I$(abs_top_srcdir)/launchmon/src \ 42 | -I$(abs_top_srcdir)/@LMONAPILOC@ 43 | 44 | bin_PROGRAMS = alps_be_starter alps_fe_colocator 45 | alps_be_starter_SOURCES = alps_be_starter.c 46 | alps_fe_colocator_SOURCES = alps_fe_colocator.cxx 47 | alps_fe_colocator_CXXFLAGS = @LNCHR_BIT_FLAGS@ $(CRAY_ALPS_CFLAGS) 48 | alps_fe_colocator_LDADD = @LIBELF@ $(CRAY_ALPS_LIBS) 49 | 50 | alps_be_starter$(EXEEXT): alps_be_starter.c Makefile 51 | $(MPICC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CFLAGS) $(CFLAGS) -o $@ $< 52 | 53 | etcdir = ${prefix}/etc 54 | etc_SCRIPTS = \ 55 | CLE-dso.conf \ 56 | CLE_2_2-dso.conf \ 57 | CLE_3_1-dso.conf 58 | 59 | EXTRA_DIST = \ 60 | CLE-dso.conf \ 61 | CLE_2_2-dso.conf \ 62 | CLE_3_1-dso.conf 63 | 64 | -------------------------------------------------------------------------------- /tools/ciod/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Mar 09 2009 DHA: Deprecated the library version of ciod_db as IBM 32 | ## open sourced entire source codes in a header file. 33 | ## Jun 10 2008 DHA: Copied from the old Makefile. 34 | ## 35 | 36 | 37 | ##INCLUDES = -I$(top_srcdir)/launchmon/src -I$(top_srcdir)/@LMONAPILOC@ -I@ARCHHEADER@ 38 | 39 | ##lib_LTLIBRARIES = libciod_db.la 40 | ##libciod_db_la_SOURCES = debugger_interface.cxx \ 41 | ## debugger_interface.h 42 | ##libciod_db_la_LDFLAGS = -version-info @LMON_CURRENT@:@LMON_REVISION@:@LMON_AGE@ 43 | nobase_include_HEADERS = debugger_interface.h 44 | -------------------------------------------------------------------------------- /tools/cobo/ChangeLog: -------------------------------------------------------------------------------- 1 | 2009-12-22 Adam Moody 2 | 3 | * src/cobo.c : Adjusted timeouts so parent avoids dropping connection 4 | due to slow child. Upon connection, reply timeouts increase with 5 | time. Fixed barrier() to use allreduce rather than a gather. 6 | 7 | 2009-12-18 Adam Moody 8 | 9 | * src/cobo.c : Add timeout to read_fd when establishing connection 10 | using poll() so we don't hang if we ending up connecting to a process 11 | that isn't one of ours. 12 | 13 | 2009-12-17 Adam Moody 14 | 15 | * src/cobo.h, 16 | src/cobo.c : Added sessionid as a new parameter during open call. 17 | This value is checked at connection setup time. 18 | 19 | * test/server.c : Added server process that just connects and sends 20 | hostlist to rank 0 rather than start all ranks, use this when using 21 | a launcher like srun to start the clients. 22 | 23 | 2009-12-17 Dong Ahn 24 | * src/cobo.h, 25 | src/cobo.c: Added cobo_server_get_rootsocket and cobo_get_parentsocket 26 | 27 | 2009-12-16 Adam Moody 28 | 29 | * test/client.c : Had rank and ranks args swapped in cobo_open(). 30 | 31 | * : initial import. 32 | -------------------------------------------------------------------------------- /tools/cobo/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Apr 11 2014 DHA: Removed test dir 32 | ## Jun 06 2007 DHA: Copied from the old Makefile. 33 | ## 34 | 35 | SUBDIRS = src 36 | -------------------------------------------------------------------------------- /tools/cobo/src/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-401141. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Apr 28 2016 DHA: Don't install cobo.h as it should not be public 32 | ## Mar 10 2014 MPL: Add secure handshake 33 | ## Dec 16 2009 DHA: Made for COBO 34 | ## 35 | 36 | lib_LTLIBRARIES = libcobo.la 37 | libcobo_la_SOURCES = cobo.c \ 38 | cobo.h 39 | noinst_HEADERS = cobo.h 40 | libcobo_la_LDFLAGS = -version-info @LMON_CURRENT@:@LMON_REVISION@:@LMON_AGE@ 41 | libcobo_la_CFLAGS = -I$(top_srcdir)/tools/handshake 42 | libcobo_la_LIBADD = $(top_builddir)/tools/handshake/libhandshake.la 43 | -------------------------------------------------------------------------------- /tools/cobo/test/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-409469. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Dec 16 2009 DHA: for COBO. 32 | ## 33 | 34 | INCLUDES = -I$(top_srcdir)/@COMMLOC@ 35 | 36 | noinst_PROGRAMS = client server_rsh 37 | 38 | client_SOURCES = client.c 39 | 40 | client_LDFLAGS = 41 | 42 | client_LDADD = $(top_srcdir)/@COMMLOC@/@LIBCOMM@ 43 | 44 | server_rsh_SOURCES = server_rsh.c 45 | 46 | server_rsh_LDFLAGS = 47 | 48 | server_rsh_LDADD = $(top_srcdir)/@COMMLOC@/@LIBCOMM@ 49 | -------------------------------------------------------------------------------- /tools/cobo/test/README: -------------------------------------------------------------------------------- 1 | ./server_rsh -np 4 atlas1088 atlas1088 atlas1088 atlas1088 ./client 2 | 3 | setenv LD_LIBRARY_PATH ../lib 4 | srun --mpi=none -O -n ./client 5 | ./server 6 | 7 | 8 | newgrp moody20 9 | setenv LD_LIBRARY_PATH ../lib 10 | #setenv COBO_CLIENT_DEBUG 10 11 | ./hostlist 100 'hyperion[583-719,870-1007,1014-1059,1064-1067]' > ! hostfile.100 12 | 13 | srun --mpi=none -O -N325 -n32500 -l ./client 200 > & test.8 14 | ./server 32500 hostfile.100 200 15 | 16 | test.3:00017: COBO ERROR: rank 0 on hyperion583: Exiting cobo_close(), took 0.194399 seconds for 32500 procs 17 | test.5:00008: COBO ERROR: rank 0 on hyperion583: Exiting cobo_close(), took 0.164236 seconds for 32500 procs 18 | test.6:00001: COBO ERROR: rank 0 on hyperion583: Exiting cobo_close(), took 0.195552 seconds for 32500 procs 19 | test.7:00000: COBO ERROR: rank 0 on hyperion583: Exiting cobo_close(), took 0.181084 seconds for 32500 procs 20 | 21 | -------------------------------------------------------------------------------- /tools/cti/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2010, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-401141. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Mar 31 2015 DHA: Made for cti_fe_colocator 32 | ## 33 | 34 | 35 | AM_CPPFLAGS = -I$(top_srcdir) \ 36 | -I$(top_srcdir)/launchmon/src \ 37 | -I$(top_srcdir)/@LMONAPILOC@ 38 | 39 | bin_PROGRAMS = cti_fe_colocator 40 | cti_fe_colocator_SOURCES = cti_fe_colocator.cxx 41 | cti_fe_colocator_CXXFLAGS = @LNCHR_BIT_FLAGS@ $(CRAY_CTI_CFLAGS) 42 | cti_fe_colocator_LDADD = $(CRAY_CTI_LIBS) 43 | 44 | -------------------------------------------------------------------------------- /tools/flux/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2020, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-401141. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Aug 11 2020 DHA: File created 32 | ## 33 | 34 | 35 | dist_bin_SCRIPTS = flux-helper.sh 36 | 37 | -------------------------------------------------------------------------------- /tools/flux/flux-helper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | FLUX_HELPER_JOBID='%^+_no' 4 | declare -r long_opts='help,jobid:' 5 | declare -r short_opts='hJ:' 6 | declare -r prog=${0##*/} 7 | declare -r usage=" 8 | Usage: ${prog} [OPTIONS] -- tool daemon launch string\n\ 9 | \n\ 10 | Spawn the tool daemon specified in the launch tool string\n\ 11 | on the nodes where the Flux job is running.\n\ 12 | Launch one daemon process per node.\n\ 13 | \n\ 14 | Options:\n\ 15 | -h, --help Display this message\n\ 16 | -J, --jobid=JOBID Jobid of the target Flux job\n\ 17 | -- Stop parsing options after this\n\ 18 | \n\ 19 | " 20 | 21 | die() { echo -e "${prog}:" "$@"; exit 1; } 22 | 23 | GETOPTS=$(/usr/bin/getopt -o ${short_opts} -l ${long_opts} -n "${prog}" -- "${@}") 24 | eval set -- "${GETOPTS}" 25 | 26 | while true; do 27 | case "${1}" in 28 | -h|--help) echo -ne "${usage}"; exit 0 ;; 29 | -J|--jobid) FLUX_HELPER_JOBID="${2}"; shift 2 ;; 30 | --) shift; break; ;; 31 | *) die "Invalid option '${1}'\n${usage}" ;; 32 | esac 33 | done 34 | 35 | flux -h > /dev/null 2>&1 || die "flux is not in your path" 36 | 37 | [[ ${FLUX_HELPER_JOBID} = '%^+_no' ]] && die "--jobid=JOBID is required" 38 | 39 | [[ $# -lt 1 ]] && die "daemon launch string is required" 40 | 41 | FLUX_RANK_SET=$(flux jobs -no {ranks} ${FLUX_HELPER_JOBID}) 42 | 43 | flux exec -r ${FLUX_RANK_SET} "${@}" 44 | 45 | # 46 | # vi:tabstop=4 shiftwidth=4 expandtab 47 | # 48 | -------------------------------------------------------------------------------- /tools/handshake/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $Header: $ 2 | ## 3 | ## Makefile.am -- Process this file with automake to produce Makefile.in 4 | ## 5 | ##-------------------------------------------------------------------------------- 6 | ## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at 7 | ## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn . 8 | ## LLNL-CODE-401141. All rights reserved. 9 | ## 10 | ## This file is part of LaunchMON. For details, see 11 | ## https://computing.llnl.gov/?set=resources&page=os_projects 12 | ## 13 | ## Please also read LICENSE -- Our Notice and GNU Lesser General Public License. 14 | ## 15 | ## 16 | ## This program is free software; you can redistribute it and/or modify it under the 17 | ## terms of the GNU General Public License (as published by the Free Software 18 | ## Foundation) version 2.1 dated February 1999. 19 | ## 20 | ## This program is distributed in the hope that it will be useful, but WITHOUT ANY 21 | ## WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or 22 | ## FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU 23 | ## General Public License for more details. 24 | ## 25 | ## You should have received a copy of the GNU Lesser General Public License along 26 | ## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple 27 | ## Place, Suite 330, Boston, MA 02111-1307 USA 28 | ##-------------------------------------------------------------------------------- 29 | ## 30 | ## Update Log: 31 | ## Apr 28 2016 DHA: Minor cleanup 32 | ## May 01 2014 DHA: Specify gcrypt header file locations so that 33 | ## this module will use the integrated version of 34 | ## gcrypt/gpgerr package. TODO: drop support for 35 | ## the integrated gcrypt support and make it an 36 | ## external dependency. 37 | ## Apr 15 2014 DHA: Add handshake.h so that it is included into the distro 38 | ## Mar 10 2014 MPL: Add secure handshake 39 | ## 40 | 41 | noinst_LTLIBRARIES = libhandshake.la 42 | libhandshake_la_SOURCES = handshake.c handshake.h 43 | libhandshake_la_LIBADD = $(MUNGE_LIBS) 44 | 45 | --------------------------------------------------------------------------------