Skip to content

Launcher version 3.1 release candidate 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@lwilson lwilson released this 26 Jan 15:52
· 119 commits to master since this release

First release candidate for Launcher v 3.1. The new version includes:

  • Automatic process binding and die partitioning - We're preparing for the many-core era by giving Launcher the ability to bind processes to cores or logical contexts (for hyperthreaded systems). Processor layout is determined by using the hwloc tools (https://www.open-mpi.org/projects/hwloc/). If you want to use process binding, then you MUST install this prerequisite.
    • To use, set: export LAUNCHER_BIND=1 before calling paramrun
    • Launcher uses the values of LAUNCHER_NHOSTS, LAUNCHER_PPN, and the information returned by hwloc to determine the number of contexts to give to each launcher process. If you are using scheduler integration, these values will be determined through your scheduler's regular mechanisms.
    • The binding strategy is to provide the largest contiguous range of hardware contexts to each launcher process. This way, an application which uses OpenMP or PThreads can still use multiple threads without those threads migrating to hardware contexts which belong to other launcher processes.
  • Changes to environment passing - For multi-node Launcher jobs, the environment of the master node is passed to all other nodes. We've excluded the SLURM_NODELIST env. variable from the passed environment in order to get around an issue when using zsh.

As always, feel free to submit issues and requests. If anyone wishes to get involved with the Launcher project with code contributions, documentation, telling others about launcher, let us know at the launcher-users group (https://groups.google.com/forum/#!forum/launcher-users).