Sie befinden sich im Service: RWTH Compute Cluster Linux (HPC)

likwid

likwid

Kurzinformation

Likwid is a simple to install and use toolsuite of command line applications for performance oriented programmers. It works for Intel and AMD processors on the Linux operating system.


Detailinformation 

It consists of:

  • likwid-topology: print thread, cache and NUMA topology
  • likwid-perfctr: configure and read out hardware performance counters on Intel and AMD processors
  • likwid-powermeter: read out RAPL Energy information and get info about Turbo mode steps
  • likwid-pin: pin your threaded application (pthread, Intel and gcc OpenMP to dedicated processors)
  • likwid-bench: Micro benchmarking platform
  • likwid-features: Print and manipulate cpu features like hardware prefetchers
  • likwid-genTopoCfg: Dumps topology information to a file
  • likwid-mpirun: Wrapper to start MPI and Hybrid MPI/OpenMP applications (Supports Intel MPI, OpenMPI and MPICH)
  • likwid-perfscope: Frontend to the timeline mode of likwid-perfctr, plots live graphs of performance metrics using gnuplot
  • likwid-agent: Monitoring agent for hardware performance counters
  • likwid-memsweeper: Sweep memory of NUMA domains and evict cachelines from the last level cache
  • likwid-setFrequencies: Tool to control the CPU frequency

To access to this software, your user ID mist be registered as Likwid user. Please request the rights via ServiceDesk.

To load the likwid module please type

$ module load likwid
 

Even though Likwid is available on any node in the HPC Cluster we recommend to run the measurements on the cluster-linux-tuning  login-t and login18-t  front end node.

For longer test runs you are kindly invited to use the batch system. You can run Likwid in the batch in two ways:

  • start an interactive GUI session;
  • perform data collection using the CLI tools in a batch job; after the job has finished, take a look at the output..

Note: in the batch, you have to add the following option to your batch job:

#SBATCH --hwctr=likwid

This option also sets your job to exclusive mode - mind the resource consumption!

This option disables the Likwid performance monitoring infrastructure we run on all batch nodes. If in doubt, especially if you get an error message like below in the batch job,

ERROR: The selected register UPMC0 is in use.
Please run likwid with force option (-f, --force) to overwrite settings

Please do not use the force option (-f, --force) but report the issue with all circumstances (batch job script used, job ID, full output) to ServiceDesk. Thanks!

On interactive front ends you could get this error also in case other user runs an Likwid measurement at the same time; so don't panic, wait a moment and try to re-run your measurement. However, if the 'selected register ... is in use' error holds for longer time, you are welcome to try another front end, go to the batch system, and/or report the issue to Service Desk.

For further details on how to use Likwid please contact the HPC team or attend one of our regular workshops, e.g. PPCES 2018

 

Example batch script for Likwid with GUI

#!/usr/local_rwth/bin/zsh
 
### Job name
#SBATCH --job-name=LikwidGUI
 
### Request the time you need for execution in minutes
#SBATCH --time=120
 
### Request the amount of memory you need for your job in MB
#SBATCH --mem-per-cpu=1850
 
### Request X11-Forwarding for this job
#TBD:
 
### Request Likwid capability (disable default performance monitoring)
### Note that this also makes your job exclusive
#SBATCH --hwctr=likwid
 
 
### Load the module and execute the GUI
module load likwid
xterm
 

Example LSF batch script for CLI use of Likwid

#!/usr/local_rwth/bin/zsh
 
### Job name
#SBATCH --job-name=LikwidCLI
 
### Request the time you need for execution in minutes
#SBATCH --time=120
 
### Request the amount memory you need for your job in MB
#SBATCH --mem-per-cpu=1850
 
### Request the number of compute slots you want to use
#SBATCH --ntasks=8
  
### Use esub for OpenMP/shared memory jobs
#TBD:
 
### Request Likwid capability (disable default performance monitoring)
### Note that this also makes your job exclusive
#SBATCH --hwctr=likwid
 
 
### 'hpcpuburn' is just an application to allocate and initialise some memory and produce some load an cores
module load likwid
likwid-perfctr  -g MEM -c 0-12 hpcpuburn -N 12 -T 200 -V 18000 -R 17000

After the job has finished, results will be printed on the standard output of the job below the output of the application.

zuletzt geändert am 29.01.2021

Wie hat Ihnen dieser Inhalt geholfen?