Run MPI programs over tmux
With multiple nodes:
Features:
First make sure that tmux
and mpiexec
commands are available on your system.
mpitx
is implemented as just one Python3 script file.
We have two install options.
pip
pip3 install git+https://github.com/s417-lama/mpitx.git
Check your installation with:
mpitx -- bash
You can simply download a Python script file: mpitx/mpitx.py
wget https://raw.githubusercontent.com/s417-lama/mpitx/main/mpitx/mpitx.py
chmod +x mpitx.py
Make sure that mpitx.py
is made executable.
Check your installation with:
./mpitx.py -- bash
mpitx [OPTIONS]... -- [COMMANDS]...
[OPTIONS]...
are passed to the installed mpiexec
command as-is[COMMANDS]...
after the delimiter --
are executed by each MPI process on each tmux pane--
is requiredDebug an MPI program with 4 processes:
mpitx -n 4 -- gdb ./a.out
More args for gdb:
mpitx -n 4 -- gdb --args ./a.out arg1 arg2
With some MPI implementation-specific options:
mpitx --mca mpi_show_mca_params 1 -- gdb ./a.out
MPITX_MPIEXEC
: custom path to mpiexec
commandMPITX_TMUX
: custom path to tmux
commandWhen these variables are unset, the default mpiexec
and tmux
commands are used.
Useful tmux shortcuts (<prefix>
= Ctrl-b
by default):
<prefix> + z
: individually operate on each pane without duplicating keyboard input<prefix> + &
: close all panes in a windowmpitx
was inspired by tmpi
mpitx
over tmpi
is the support for multiple nodesCopyright (c) 2022 Shumpei Shiina
Released under the MIT License. See LICENSE.