likwid-mpirun1
A tool to start and monitor mpi applications with likwid
Usage
likwid-memsweeper [-hvdOm]
[-n
number_of_processes]
[-hostfile
filename]
[-nperdomain
number_of_processes_in_domain]
[-pin
expression]
[-omp
omptype]
[-mpi
mpitype]
[-g
eventset]
[--mpiopts
opts]
Overview
likwid-mpirun is a command line application that wraps the vendor-specific mpirun tool and adds calls to likwid-perfctr(1) to the execution string. The user-given application is ran, measured and the results returned to the staring node.
Options
-
-h,--help -
prints a help message to standard output, then exits
-
-v,--version -
prints version information to standard output, then exits
-
-d,--debug -
prints debug messages to standard output
-
-n,-np,--n,--np <number_of_processes> -
specifies how many MPI processes should be started
-
-hostfile <filename> -
specifies the nodes to schedule the MPI processes on. If not given, the environment variables PBS_NODEFILE, LOADL_HOSTFILE and SLURM_HOSTFILE are checked.
-
-nperdomain <number_of_processes_in_domain> -
specifies the processes per affinity domain (see
likwid-pinfor info about affinity domains)
-
-pin <expression> -
specifies the pinning for hybrid execution (see
likwid-pinfor info about affinity domains)
-
-s, --skip <mask> -
Specify skip mask as HEX number. For each set bit the corresponding thread is skipped.
-
-omp <omptype> -
enables hybrid setup. Likwid tries to determine OpenMP type automatically. The only possible value are
intelandgnu
-
-mpi <mpitype> -
specifies the MPI implementation that should be used by the wrapper. Possible values are intelmpi, openmpi, slurm and
mvapich2
-
-m,--marker -
activates the Marker API for the executed MPI processes
-
-O -
prints output in CSV not ASCII tables
-
--mpiopts <opts> -
adds options for the underlying MPI implementation. Please use proper quoting.
-
-- -
stops parsing arguments for likwid-mpirun.
Examples
- 1.
-
For standard application:
- likwid-mpirun -np 32 ./myApp
Will run 32 MPI processes, each host is filled with as much processes as written in ppn
- 2.
-
With pinning:
- likwid-mpirun -np 32 -nperdomain S:2 ./myApp
Will start 32 MPI processes with 2 processes per socket.
- 3.
-
For hybrid runs:
- likwid-mpirun -np 32 -pin M0:0-3_M1:0-3 ./myApp
Will start 32 MPI processes with 2 processes per node. Threads of the first process are pinned to the hardware threads 0-3 in NUMA domain 0 (M0). The OpenMP threads of the second process are pinned to the first four hardware threads in NUMA domain 1 (M1)
Releases
5 releases since Debian 9 (Stretch); the text changed 4 times.
--mpiopts since Debian 11 (Bullseye).