Multiplexing
Issue
Using a Linaro Forge tool exhausts the available free memory on a node, for example while launching a session, analyzing the profiling results with Linaro MAP or Linaro Performance Reports, or when setting a breakpoint with Linaro DDT.
Solution
FORGE_MULTIPLEXER_RATIO can be used to trade increased time overhead when using a Linaro Forge tool
for reduced memory overhead. Some operations that will be affected by this time overhead are the
following.
Session startup.
Analyzing profiling results with Linaro MAP or Linaro Performance Reports.
Using the Multi-Dimensional Array Viewer (MDA).
FORGE_MULTIPLEXER_RATIO accepts a range of values depending on how much memory overhead needs
reducing. The value takes the form N:M. This is the ratio of Linaro Forge worker processes (N) to
user processes (M). Examples are as follows.
FORGE_MULTIPLEXER_RATIO=1:2results in one Linaro Forge worker process per two ranks.This will provide the most memory reduction for the least increase in time overhead.
FORGE_MULTIPLEXER_RATIO=1:3results in one Linaro Forge worker process per three ranks.This will further reduce memory overhead for a further increase in time overhead.
Additionally, FORGE_MULTIPLEXER_RATIO=0 results in one Linaro Forge worker process for all ranks.
This provides the most memory reduction with the largest increase in time overhead.
When using Linaro MAP or Linaro Performance Reports, FORGE_MULTIPLEXER_RATIO will have no impact on the
application run-time itself, regardless of the value given.
Notes and Limitations
FORGE_MULTIPLEXER_RATIO can only be used with Open MPI 4+ (excluding Open MPI (Compatibility)),
Intel MPI (MPMD variant), MPICH 4, Cray MPICH under SLURM (MPMD), Cray PALS, or Flux. Additionally,
the following features are not supported.
Opening core files (Open core files).