LIKWID-MPIRUN(1)
π LIKWID-MPIRUN π
okay bestie, welcome to the LIKWID-MPIRUN page (that's the manual name, we're in section 1, General Commands Manual energy, and yes it's a whole main-character situation) β¨
πΈ NAME πΈ
likwid-mpirun β the tool that starts and monitors your MPI applications with LIKWID. periodt.
π SYNOPSIS π
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]
(yes it literally says likwid-memsweeper up there, no I did not make that up, and no we are not fixing it, we copy exactly π
)
β¨ DESCRIPTION β¨
So basically β likwid-mpirun is a command line application that wraps the vendor-specific mpirun tool and sprinkles in calls to likwid-perfctr(1) right into the execution string. the way it works is: your application runs, gets measured, and the results get returned to the staring node. that's the whole vibe. run it, measure it, send the receipts home π«Ά
π OPTIONS π
-h,--helpβ prints a help message to standard output, then exits. classic.-v,--versionβ prints version information to standard output, then exits. also classic.-d,--debugβ prints debug messages to standard output. for when you need to see everything π-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 you don't give it one, it checks the environment variablesPBS_NODEFILE,LOADL_HOSTFILEandSLURM_HOSTFILEfor you. so thoughtful fr fr π-nperdomain<number_of_processes_in_domain>β specifies the processes per affinity domain (peeplikwid-pinfor info about affinity domains).-pin<expression>β specifies the pinning for hybrid execution (again,likwid-pinhas the tea on affinity domains).-s,--skip<mask>β specify skip mask as HEX number. for each set bit, the corresponding thread is skipped. bye girl π-omp<omptype>β enables hybrid setup. LIKWID tries to determine the OpenMP type automatically. the only possible value areintelandgnu. that's it, that's the list.-mpi<mpitype>β specifies the MPI implementation that should be used by the wrapper. possible values areintelmpi,openmpi,slurmandmvapich2.-m,--markerβ activates the Marker API for the executed MPI processes. iconic behavior π₯-Oβ prints output in CSV, not ASCII tables. spreadsheet girlies rise π--mpiopts<opts>β adds options for the underlying MPI implementation. please use proper quoting, I am begging π--β stops parsing arguments forlikwid-mpirun. literally "that's all from me, everything after this belongs to somebody else".
π¦ EXAMPLE π¦
1. for standard application:
likwid-mpirun -np 32 ./myApp
will run 32 MPI processes, and 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. slay.
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. the 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). chef's kiss π
π BUGS π
ngl, when measuring Uncore events it is not possible to select a cpu pin expression that covers multiple sockets β like S0:0-1_S0:2@S1:2 for example. this runs two processes, each running on two CPUs. but since the first CPU of the second expression is on socket 0, which is already handled by S0:0-1, the second MPI process gets a event set that does not contain Uncore counters β even though the second part of the second expression would measure the Uncore counters on socket 1. it's giving "so close yet so far" π
π AUTHOR π
Written by Thomas Gruber <thomas.roehl@googlemail.com>.
π BUGS π
Report Bugs on <https://github.com/RRZE-HPC/likwid/issues>. (yes there are two BUGS sections, no that is not a typo, we keep them both, we respect the original's chaos π)
π SEE ALSO π
likwid-pin(1), likwid-perfctr(1), likwid-powermeter(1) β go read those next bestie, they're the sequels π«Ά
and that's the page!! this was likwid-5, dated 23.12.2025, and the whole thing is the LIKWID-MPIRUN(1) manual. mwah π no cap, go measure something pretty β¨π¦π
π¦ where this page comes from
- nixos 26.05: likwid 5.5.1
- ubuntu stonking: likwid 5.5.1+dfsg-2 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms