لم يعد LIBMSR يتم الحفاظ عليه بنشاط - لقد تطورت LIBMSR إلى variorum ، والتي يمكن العثور عليها على github: https://github.com/llnl/variorum.
مرحبًا بك في LIBMSR ، واجهة ودية (جيدة ، ودية) للعديد من السجلات الخاصة بالنموذج في معالجات Intel. الآن مع دعم تكوين PCI لبعض أجهزة Intel.
الإصدار 0.3.1
مهم
لم يعد LIBMSR يتم تطويره بنشاط. variorum https://variorum.readthedocs.io/ هو تطور وخلف libmsr. يمكن العثور على variorum على جيثب:
https://github.com/llnl/variorum
24 مارس 2020
http://software.llnl.gov/libmsr
https://github.com/llnl/libmsr
يوفر LIBMSR واجهة للوصول إلى السجلات الخاصة بالنموذج (MSRs) على منصات Intel ، والتي توفر وظائف مميزة لمراقبة والتحكم في ميزات وحدة المعالجة المركزية المختلفة.
التثبيت بسيط. ستحتاج إلى الإصدار 2.8 أو أعلى و GCC. في معظم الحالات ، يكون التثبيت كما يلي:
$ cmake . -DCMAKE_INSTALL_PREFIX=${HOME}/build/libmsr
$ make
$ make install
يعتمد التثبيت على ملف master.h ، والذي يحدد الإزاحة للعديد من MSRs مع بنية معينة (على سبيل المثال ، Sandy Bridge ، Ivy Bridge ، Haswell ، إلخ). يمكن إجبار أداة التكوين التلقائي على استخدام ملف الرأس للهندسة المعمارية المحددة أو يمكنها اكتشاف الهندسة المعمارية تلقائيًا. لتحديد بنية معينة ، قم بتشغيل cmake مع الخيار -DLIBMSR_TARGET_ARCH=<ARG> حيث يكون ARG في سداسي عشري. في المستقبل ، نخطط للحصول على مجموعة من ملفات التكوين الخاصة بالهندسة المعمارية التي يمكن تحميلها مسبقًا إلى 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 (لاحظ أنه لن يكون في سداسي عشري).
*دعم Skylake هو تجريبي حاليًا ويتطلب المزيد من الاختبارات/التحقق من الصحة.
يعتمد هذا البرنامج على الملفات /dev/cpu/*/msr . تتطلب النواة الحديثة قدرات إضافية. لقد وجدنا أنه من الأسهل استخدام وحدة kernel الخاصة بنا مع أذونات R/W ، ولكن التشغيل كجذر (أو يسير في إزعاج إضافة القدرات إلى الثنائيات) هو خيار آخر.
إذا كنت بحاجة إلى دعم سجل تكوين PCI (CSR) في LIBMSR ، فيجب أن يكون لديك CSR-Safe مثبتة. هذا الرمز ليس حاليًا على Github - ستحتاج إلى طلبه.
اتصل بـ msr_init() قبل استخدام أي من واجهات برمجة التطبيقات.
للاطلاع على نموذج رمز ، راجع libmsr_test.c في test/ الدليل.
يمكن إنشاء أكثر وثائقنا الحديثة لـ LIBMSR مع make doc وجعل make latex_doc لإصدارات HTML و PDF ، على التوالي. هناك أيضًا بعض ملفات PDF مفيدة في documentation/ الدليل.
Barry Rountree ، Project Lead ، [email protected]
ستيفاني برينك ، مطور ، [email protected]
لا تتردد في الاتصال بالمطورين مع أي أسئلة أو تعليقات.
نحن نجمع أسماء أولئك الذين ساهموا سابقًا في LIBMSR على مر السنين. انظر القائمة الحالية في ملف AUTHORS . يرجى الاتصال بالمطورين لإضافة اسمك إلى القائمة.
يتم إصدار LIBMSR بموجب ترخيص GPLV2.1. لمزيد من التفاصيل ، راجع ملف الترخيص.
LLNL-CODE-645430