All Projects → LLNL → libmsr

LLNL / libmsr

Licence: other
Wrapper library for model-specific registers. APIs cover RAPL, performance counters, clocks and turbo.

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to libmsr

Pcm
Processor Counter Monitor
Stars: ✭ 1,240 (+2538.3%)
Mutual labels:  intel, power, performance-analysis
yask
YASK--Yet Another Stencil Kit: a domain-specific language and framework to create high-performance stencil code for implementing finite-difference methods and similar applications.
Stars: ✭ 81 (+72.34%)
Mutual labels:  hpc, intel
Onemkl
oneAPI Math Kernel Library (oneMKL) Interfaces
Stars: ✭ 122 (+159.57%)
Mutual labels:  hpc, intel
Parenchyma
An extensible HPC framework for CUDA, OpenCL and native CPU.
Stars: ✭ 71 (+51.06%)
Mutual labels:  hpc, intel
Osaca
Open Source Architecture Code Analyzer
Stars: ✭ 162 (+244.68%)
Mutual labels:  hpc, performance-analysis
Caliper
Caliper is an instrumentation and performance profiling library
Stars: ✭ 162 (+244.68%)
Mutual labels:  hpc, performance-analysis
tacc stats
TACC Stats is an automated resource-usage monitoring and analysis package.
Stars: ✭ 36 (-23.4%)
Mutual labels:  hpc, performance-analysis
wxparaver
wxParaver is a trace-based visualization and analysis tool designed to study quantitative detailed metrics and obtain qualitative knowledge of the performance of applications, libraries, processors and whole architectures.
Stars: ✭ 23 (-51.06%)
Mutual labels:  hpc, performance-analysis
launcher
A simple utility for executing multiple sequential or multi-threaded applications in a single multi-node batch job
Stars: ✭ 48 (+2.13%)
Mutual labels:  hpc
hybridCentralSolvers
United collection of hybrid Central solvers - one-phase, two-phase and multicomponent versions
Stars: ✭ 42 (-10.64%)
Mutual labels:  hpc
dbcsr
DBCSR: Distributed Block Compressed Sparse Row matrix library
Stars: ✭ 65 (+38.3%)
Mutual labels:  hpc
HiSpatialCluster
Clustering spatial points with algorithm of Fast Search, high performace computing implements of CUDA or parallel in CPU, and runnable implements on python standalone or arcgis.
Stars: ✭ 31 (-34.04%)
Mutual labels:  hpc
xdmod
An open framework for collecting and analyzing HPC metrics.
Stars: ✭ 55 (+17.02%)
Mutual labels:  hpc
chipsec-check
Tools to generate a Debian Linux distribution with chipsec to test hardware requirements
Stars: ✭ 41 (-12.77%)
Mutual labels:  intel
MobileNetV2-PoseEstimation
Tensorflow based Fast Pose estimation. OpenVINO, Tensorflow Lite, NCS, NCS2 + Python.
Stars: ✭ 99 (+110.64%)
Mutual labels:  intel
x86-Assembly-Reverse-Engineering
🛠 Knowledge about the topic of x86 assembly & disassembly 🛠
Stars: ✭ 27 (-42.55%)
Mutual labels:  intel
variorum
Tool for hardware-level feature control
Stars: ✭ 21 (-55.32%)
Mutual labels:  performance-analysis
x86-csv
A machine-readable representation of the Intel x86 Instruction Set Reference.
Stars: ✭ 20 (-57.45%)
Mutual labels:  intel
Sensors
A macOS application displaying the thermal, voltage and current sensor values.
Stars: ✭ 70 (+48.94%)
Mutual labels:  power
PartitionedArrays.jl
Vectors and sparse matrices partitioned into pieces for parallel distributed-memory computations.
Stars: ✭ 45 (-4.26%)
Mutual labels:  hpc

LIBMSR

Read the Docs

Welcome to Libmsr, a friendly (well, friendlier) interface to many of the model-specific registers in Intel processors. Now with PCI configuration register support for some Intel hardware.

version 0.3.1

Important

Libmsr is no longer being actively developed. Variorum https://variorum.readthedocs.io/ is an evolution of and a successor to libmsr. Variorum can be found on github:

https://github.com/llnl/variorum

Last Update

24 March 2020

Webpages

http://software.llnl.gov/libmsr
https://github.com/llnl/libmsr

Overview

Libmsr provides an interface to accessing the model-specific registers (MSRs) on Intel platforms, which provide privileged functionality for monitoring and controlling various CPU features.

Installation

Installation is simple. You will need CMAKE version 2.8 or higher and GCC. In most cases, the installation is as follows:

$ cmake . -DCMAKE_INSTALL_PREFIX=${HOME}/build/libmsr
$ make
$ make install

The installation depends on a master.h file, which defines the offsets for several MSRs given a particular architecture (e.g., Sandy Bridge, Ivy Bridge, Haswell, etc.). The auto-configuration tool can be forced to use the header file of a specific architecture or can auto-detect the architecture. To specify a particular architecture, run cmake with the option -DLIBMSR_TARGET_ARCH=<ARG> where ARG is in hexadecimal. In the future, we plan to have a set of architecture-specific configuration files that can be pre-loaded to CMake to populate the cache.

Currently supported architectures are Intel Xeon v1-3 (Sandy Bridge, Ivy Bridge, and Haswell server processors). The library technically supports all processors based on these architectures, but some features may be missing from client products. Using the wrong header file is likely to cause problems.

Supported Architectures:

2D (Sandy Bridge)       57 (Knights Landing)
3E (Ivy Bridge)
3F (Haswell)
4F (Broadwell)
55 (Skylake)*

If you are unsure of your architecture number, check the "model" field in lscpu or /proc/cpuinfo (note that it will not be in hexadecimal).

*The Skylake support is currently experimental and requires more testing/validation.

Notes

This software depends on the files /dev/cpu/*/msr being present. Recent kernels require additional capabilities. We have found it easier to use our own MSR-SAFE kernel module with R/W permissions, but running as root (or going through the bother of adding the capabilities to the binaries) is another option.

If you need PCI configuration register (CSR) support in Libmsr, you MUST have CSR-SAFE installed. This code is not currently on Github -- you will need to request it.

Call msr_init() before using any of the APIs.

For sample code, see libmsr_test.c in the test/ directory.

Our most up-to-date documentation for Libmsr can be generated with make doc and make latex_doc for HTML and PDF versions, respectively. There are also some useful PDF files in the documentation/ directory.

Contact

Barry Rountree, Project Lead, [email protected]
Stephanie Brink, Developer, [email protected]

Please feel free to contact the developers with any questions or feedback.

We are collecting names of those who have previously contributed to libmsr over the years. See the current list in the AUTHORS file. Please contact the developers to have your name added to the list.

Release

libmsr is released under the GPLv2.1 license. For more details, see the LICENSE file.

LLNL-CODE-645430
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].