libmsrは積極的に維持されなくなりました - libmsrはvariorumに進化しました。これはgithub:https://github.com/llnl/variorumで見つけることができます。
Intelプロセッサの多くのモデル固有のレジスタへのフレンドリーな(まあ、友好的な)インターフェイスであるLibMSRへようこそ。現在、PCI Configuration Register Support Support for intelハードウェアをサポートしています。
バージョン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は、Intelプラットフォームでモデル固有のレジスタ(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指定するには、option -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セーフカーネルモジュールを使用する方が簡単であることがわかりましたが、ルートとして実行されています(またはバイナリに機能を追加することを気にすることを進めることも)別のオプションです。
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、Project Lead、[email protected]
Stephanie Brink、開発者、[email protected]
ご質問やフィードバックについては、開発者にお気軽にお問い合わせください。
私たちは、長年にわたって以前にLIBMSRに貢献してきた人々の名前を収集しています。 AUTHORSファイルの現在のリストを参照してください。あなたの名前をリストに追加するには、開発者に連絡してください。
LIBMSRはGPLV2.1ライセンスの下でリリースされます。詳細については、ライセンスファイルを参照してください。
LLNL-CODE-645430