logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

likwid-mpirun - A tool to start and monitor MPI applications with LIKWID

Author

       Written by Thomas Gruber <thomas.roehl@googlemail.com>.

Bugs

       Report Bugs on <https://github.com/RRZE-HPC/likwid/issues>.

Description

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.

Example

       1.  For standard application:

       likwid-mpirun-np32./myApp

       Will run 32 MPI processes, each host is filled with as much processes as written in ppn

       2.  With pinning:

       likwid-mpirun-np32-nperdomainS:2./myApp

       Will start 32 MPI processes with 2 processes per socket.

       3.  For hybrid runs:

       likwid-mpirun-np32-pinM0: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)

Name

       likwid-mpirun - A tool to start and monitor MPI applications with LIKWID

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-pin for info about affinity domains)

       -pin<expression>
              specifies the pinning for hybrid execution (see likwid-pin for 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 intel and gnu-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.

See Also

likwid-pin(1), likwid-perfctr(1), likwid-powermeter(1)

likwid-5                                           09.12.2024                                   LIKWID-MPIRUN(1)

Synopsis

likwid-memsweeper     [-hvdOm]     [-nnumber_of_processes]    [-hostfilefilename]    [-nperdomainnumber_of_processes_in_domain] [-pinexpression] [-ompomptype] [-mpimpitype] [-geventset]  [--mpiopts
       opts]

See Also