.TH LIKWID-PERFCTR 1 26.11.2018 likwid\-4 .SH NAME likwid-perfctr \- configure and read out hardware performance counters on x86 CPUs .SH SYNOPSIS .B likwid-perfctr .RB [\-vhHmaief] .RB [ \-c .IR core_list ] .RB [ \-C .IR core_list_for_pinning ] .RB [ \-g .IR performance_group or .IR performance_event_string ] .RB [ \-t .IR timeline_frequency ] .RB [ \-S .IR monitoring_time ] .RB [ \-T .IR group_switch_frequency ] .RB [ \-V .IR verbosity ] .RB [ \-M .IR access_mode ] .RB [ \-o .IR output_file ] .RB [ \-s .IR skip_mask ] .RB [ \-E .IR search_str ] .RB [ \-\-stats ] .SH DESCRIPTION .B likwid-perfctr is a lightweight command line application to configure and read out hardware performance monitoring data on supported x86 processors. It can measure either as wrapper without changing the measured application or with marker API functions inside the code, which will turn on and off the counters. There are preconfigured performance groups with useful event sets and derived metrics. Additionally, arbitrary events can be measured with custom event sets. The marker API can measure multiple named regions and the results are accumulated over multiple region calls. .SH OPTIONS .TP .B \-\^v, \-\-\^version prints version information to standard output, then exits. .TP .B \-\^h, \-\-\^help prints a help message to standard output, then exits. .TP .B \-\^H prints group help message (use together with \-g switch). .TP .B \-\^V , \-\-\^verbose verbose output during execution for debugging. 0 for only errors, 1 for informational output, 2 for detailed output and 3 for developer output .TP .B \-\^m run in marker API mode .TP .B \-\^a print available performance groups for current processor, then exit. .TP .B \-\^e print available counters and performance events of current processor. .TP .B \-\^o, \-\-\^output store all output to a file instead of stdout. For the filename the following placeholders are supported: %j for PBS_JOBID, %r for MPI RANK (only Intel MPI at the moment), %h host name and %p for process pid. The placeholders must be separated by underscore as, e.g., \-o test_%h_%p. You must specify a suffix to the filename. For txt the output is printed as is to the file. Other suffixes trigger a filter on the output. Available filters are csv (comma separated values) and xml at the moment. .TP .B \-\^O print output in CSV format (conform to RFC 4180, see .I https://tools.ietf.org/html/rfc4180 for details). .TP .B \-\^i, \-\-\^info print cpuid information about processor and about Intel Performance Monitoring features, then exit. .TP .B \-\^c specify a numerical list of processors. The list may contain multiple items, separated by comma, and ranges. For example 0,3,9-11. .TP .B \-\^C specify a numerical list of processors. The list may contain multiple items, separated by comma, and ranges. For example 0,3,9-11. This variant will also pin the threads to the cores. Also logical numberings can be used. .TP .B \-\^g, \-\-\^group or specify which performance group to measure. This can be one of the tags output with the \-a flag. Also a custom event set can be specified by a comma separated list of events. Each event has the format eventId:register with the the register being one of a architecture supported performance counter registers. .TP .B \-\^t timeline mode for time resolved measurements. The time unit must be given on command line, e.g. 4s, 500ms or 900us. .TP .B \-\^S End-to-end measurement using likwid-perfctr but sleep instead of executing an application. The time unit must be given on command line, e.g. 4s, 500ms or 900us. .TP .B \-\^T