Libmsr은 더 이상 적극적으로 유지되지 않습니다. Libmsr은 variorum으로 발전하여 github : https://github.com/llnl/variorum에서 찾을 수 있습니다.
인텔 프로세서의 많은 모델 별 레지스터에 대한 친절한 (잘, 친근한) 인터페이스 인 Libmsr에 오신 것을 환영합니다. 이제 일부 인텔 하드웨어에 대한 PCI 구성 레지스터 지원을 제공합니다.
버전 0.3.1
중요한
LIBMSR은 더 이상 적극적으로 개발되지 않습니다. variorum https://variorum.readthedocs.io/는 libmsr의 진화이며 후계자입니다. Variorum은 Github에서 찾을 수 있습니다.
https://github.com/llnl/variorum
2020 년 3 월 24 일
http://software.llnl.gov/libmsr
https://github.com/llnl/libmsr
LIBMSR은 인텔 플랫폼에서 모델 별 레지스터 (MSRS)에 액세스하는 인터페이스를 제공하며, 이는 다양한 CPU 기능을 모니터링하고 제어하기위한 권한있는 기능을 제공합니다.
설치는 간단합니다. CMAKE 버전 2.8 이상 및 GCC가 필요합니다. 대부분의 경우 설치는 다음과 같습니다.
$ cmake . -DCMAKE_INSTALL_PREFIX=${HOME}/build/libmsr
$ make
$ make install
설치는 특정 아키텍처 (예 : Sandy Bridge, Ivy Bridge, Haswell 등)가 주어진 여러 MSR의 오프셋을 정의하는 master.h 파일에 따라 다릅니다. 자동 구성 도구는 특정 아키텍처의 헤더 파일을 사용하거나 아키텍처를 자동화 할 수 있습니다. 특정 아키텍처를 지정하려면 ARG 16 진수 인 옵션 -DLIBMSR_TARGET_ARCH=<ARG> 로 cmake 실행하십시오. 앞으로 캐시를 채우기 위해 CMAKE에 사전로드 할 수있는 아키텍처 별 구성 파일 세트를 보유 할 계획입니다.
현재 지원되는 아키텍처는 Intel Xeon V1-3 (Sandy Bridge, Ivy Bridge 및 Haswell Server 프로세서)입니다. 라이브러리는 이러한 아키텍처를 기반으로 모든 프로세서를 기술적으로 지원하지만 클라이언트 제품에서 일부 기능이 누락 될 수 있습니다. 잘못된 헤더 파일을 사용하면 문제가 발생할 수 있습니다.
지원되는 아키텍처 :
2D (Sandy Bridge) 57 (Knights Landing)
3E (Ivy Bridge)
3F (Haswell)
4F (Broadwell)
55 (Skylake)*
아키텍처 번호가 확실하지 않은 경우 lscpu 또는 /proc/cpuinfo 의 "모델"필드를 확인하십시오 (16 진이 있지 않음).
*Skylake 지원은 현재 실험적이며 더 많은 테스트/검증이 필요합니다.
이 소프트웨어는 파일 /dev/cpu/*/msr 있는 것에 달려 있습니다. 최근 커널에는 추가 기능이 필요합니다. R/W 권한이있는 자체 MSR-SAFE 커널 모듈을 사용하는 것이 더 쉽지만 루트로 실행되거나 (또는 바이너리에 기능을 추가하는 귀찮음) 또 다른 옵션입니다.
LIBMSR에서 PCI 구성 레지스터 (CSR) 지원이 필요한 경우 CSR-SAFE를 설치해야합니다. 이 코드는 현재 GitHub에 없습니다. 요청해야합니다.
API를 사용하기 전에 msr_init() 에게 전화하십시오.
샘플 코드는 test/ 디렉토리의 libmsr_test.c 참조하십시오.
LIBMSR에 대한 최신 문서는 make doc 으로 생성 될 수 있으며 HTML 및 PDF 버전에 대해 각각 make latex_doc . documentation/ 디렉토리에는 유용한 PDF 파일도 있습니다.
Barry Rountree, 프로젝트 리드, [email protected]
Stephanie Brink, 개발자, [email protected]
질문이나 피드백이 있으시면 개발자에게 문의하십시오.
우리는 이전에 수년 동안 Libmsr에 기여한 사람들의 이름을 수집하고 있습니다. AUTHORS 파일의 현재 목록을 참조하십시오. 개발자에게 문의하여 이름이 목록에 추가되도록하십시오.
LIBMSR은 GPLV2.1 라이센스에 따라 릴리스됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.
LLNL-CODE-645430