A library to access core and uncore frequencies of x86 processors that provides callbacks for msr-safe, x86-adapt, likwid, and sysfs entries
To compile this plugin, you need:
-
GCC compiler
-
CMake 3.9+
-
CMAKE_INSTALL_PREFIX(default/usr/local)Installation directory
-
CMAKE_BUILD_TYPE(defaultDebug)Build type with different compiler options, can be
DebugReleaseMinSizeRelRelWithDebInfo -
X86_ADAPT_LIBRARIES
Libraries for x86_adapt, e.g., -DX86_ADAPT_LIBRARIES=/opt/x86_adapt/lib/libx86_adapt_static.a
X86_ADAPT_INCLUDE_DIRS
Include directories for x86_adapt, e.g., -DX86_ADAPT_INCLUDE_DIRS=/opt/x86_adapt/include
LIKWID_LIBRARIES
Libraries for likwid, e.g.-DLIKWID_LIBRARIES=/opt/likwi/lib/liblikwid.so
-
LIKWID_INCLUDE_DIRSInclude directories for likwid, e.g.
-DLIKWID_INCLUDE_DIRS=/opt/likwid/include -
X86A_STATIC(default on)Link
x86_adaptstatically, if it is found
-
Create build directory
mkdir build cd build -
Invoking CMake
cmake .. (options) -
Invoking make
make -
Install
make install -
Add the installation path to
LD_LIBRARY_PATHwithexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
See the documentation in
During runtime, the library will try to access the following interfaces:
- msr and msr-safe, provided by the
msrandmsr-safekernel module, available for Intel processors - x86-adapt, provided by the
x86_adaptkernel module (if found during installation), available for Intel processors - likwid, provided by
likwidthecpufreqkernel module (if found during installation) - sysfs cpufreq, provided by the
cpufreqkernel module. Only available for CPU frequency, but not for uncore frequency. Make sure thatintel_pstateis deactivated if you want to use this option. Furthermore, check whether you can read and write
/sys/devices/system/cpu/cpu<nr>/cpufreq/scaling_setspeedAlso make sure that/sys/devices/system/cpu/cpu<nr>/cpufreq/scaling_governoris set to userspace
You can enforce a specific interface by setting the environment variable LIBFREQGEN_CORE_INTERFACE and LIBFREQGEN_UNCORE_INTERFACE to one of these values:
likwidselects likwidmsrselects access via msr/msr-safesysfsselects cpufreq sysfs entries (not forLIBFREQGEN_UNCORE_INTERFACE)x86_adaptselects x86_adapt
-
Check whether the libraries can be loaded from the
LD_LIBRARY_PATH. -
Write a mail to the author.
- Robert Schoene (robert.schoene at tu-dresden dot de)
- Andreas Gocht (andreas.gocht at tu-dresden dot de)
- Umbreen Sabir Mian (umbreen.mian at tu-dresden dot de)