LIKWID-SYSFEATURES(1)

NAME
likwid-sysfeatures - retrieve and manipulate hardware and operating system features

SYNOPSIS
likwid-sysfeatures [-vh] [-V <verbosity>] [-a,--all] [-l,--list] [-p,--print] [-O] [-d,--devices <device_list>] [-g,--get <feature_list>] [-s,--set <feature_list>]

DESCRIPTION
likwid-sysfeatures is a command line application to retrieve and manipulate the state of hardware and operating system features. It is a common interface for various features like CPU frequencies, CPU prefetchers and OS-based NUMA balancing. These features commonly have a topological scope which means that they cover a specific topological entity. Some exist only once per node. In order to retrieve or manipulate feature values, all devices have to be specified in the device list. When LIKWID was built with Nvidia GPU support, likwid-sysfeatures provides access to Nvidia NVML features.

OPTIONS

-h,--help
    prints a help message to standard output, then exits.

-v,--version
    prints version information to standard output, then exits.

-V, --verbose <level>
    verbose output during execution for debugging. 0 for only errors, 1 for informational output, 2 for detailed output and 3 for developer output

-a,--all
    list all provided features for the current system and OS

-l,--list
    list all features with their current value for given devices

-p,--print
    list available devices for all available device types

-d, --devices <device_list>
    use devices for listing, getting and setting features

-g, --get <feature_list>
    Get the values of the specified features of the given devices ( <category>.<name> or just <name> if unique in a comma-separated list ).

-s, --set <feature_list>
    Set the values of the specified features on the given devices ( <category>.<name>=<value> or just <name>=<value> if unique in a comma-separated list ).

-O  Output in RFC-conform CSV

DEVICES
With the -d, --devices <device_list> option, the devices for listing, getting and setting features can be specified. The syntax is closely related to the syntax used for specifying HW thread lists for likwid-pin(1) or likwid-perfctr(1) but extends it to allow more explicit specification of the topological entities. All device specifiers with their description:
    - T : hardware thread
    - C : CPU core
    - M : NUMA domain
    - D : CPU die
    - S : CPU socket
    - N : Whole node
    - GN : Nvidia GPU (if compiled with Nvidia CUDA support)
    - GA : AMD GPU (if compiled with AMD ROCm support)
The general syntax is <specifier>:<comma-separated list or ranges> like M:0,1,4-5.
Multiple device specifiers can be combined with '@' like M:0,1@S:0.

1.

Specification of hardware threads
    likwid-sysfeatures --devices T:0,1,4-5 --list
    or
    likwid-sysfeatures --devices 0,1,4-5 --list

List the current value of all features for the hardware threads with IDs 0, 1, 4
and 5. 'T' is the specifier for hardware threads but can be omitted for convenience. If a
feature is not in hardware threads scope, it will be printed with '-' as value.

2.

Specification of CPU socket(s)
    likwid-sysfeatures --devices S:0-1 --list

List the current value of all features for the topological entity 'CPU socket 0' and 'CPU socket 1'.

3.

Specification of NUMA domains
    likwid-sysfeatures --devices M:3,4 --list

List the current value of all features for the topological entity 'NUMA domain 3' and 'NUMA domain 4'

4.

Specification of different devices
    likwid-sysfeatures --devices T:0,1@S:0 --list

List the current value of all features for hardware threads with ID 0 and 1 as well as 'CPU socket 0'.

EXAMPLES
Some examples for listing the value of features for various devices can be found in the DEVICES section.

1.

List all available hardware system and operating system features with information about category, name,
    scope, their access mode and a description. likwid-sysfeatures --all

2.

Get the value of the feature 'prefetch.l2_hwpf' for the hardware thread with ID 0
    likwid-sysfeatures -d T:0 -g prefetch.l2_hwpf

3.

Set the value of the feature 'prefetch.l2_hwpf' and 'prefetch.l2_adj_pf' for
    the hardware thread with ID 4 to 7 to '0'. likwid-sysfeatures -d T:4-7 -s prefetch.l2_hwpf=0,prefetch.l2_adj_pf=0

List the current value of all features for the hardware threads with IDs 0, 1, 4 and 5. 'T' is the specifier for hardware threads but can be omitted for convenience. If a feature is not in hardware threads scope, it will be printed with '-' as value.

AUTHOR
Written by Thomas Gruber <thomas.roehl@googlemail.com> and Michael Panzlaff <michael.panzlaff@fau.de>.

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

SEE ALSO
likwid-features(1), likwid-powermeter(1), likwid-setFrequencies(1)