libmsr ไม่ได้รับการดูแลอย่างแข็งขันอีกต่อไป - libmsr ได้พัฒนาเป็น variorum ซึ่งสามารถพบได้ใน gitHub: https://github.com/llnl/variorum
ยินดีต้อนรับสู่ LIBMSR อินเทอร์เฟซที่เป็นมิตร ขณะนี้ด้วยการรองรับการลงทะเบียนการกำหนดค่า PCI สำหรับฮาร์ดแวร์ Intel
เวอร์ชัน 0.3.1
สำคัญ
LIBMSR ไม่ได้รับการพัฒนาอย่างแข็งขันอีกต่อไป variorum https://variorum.readthedocs.io/ เป็นวิวัฒนาการของและผู้สืบทอดต่อ libmsr Variorum สามารถพบได้ใน GitHub:
https://github.com/llnl/variorum
24 มีนาคม 2563
http://software.llnl.gov/libmsr
https://github.com/llnl/libmsr
LIBMSR จัดเตรียมอินเทอร์เฟซในการเข้าถึงการลงทะเบียนเฉพาะรุ่น (MSRS) บนแพลตฟอร์ม Intel ซึ่งให้ฟังก์ชั่นที่ได้รับการยกเว้นสำหรับการตรวจสอบและควบคุมคุณสมบัติ CPU ต่างๆ
การติดตั้งง่าย คุณจะต้องใช้ CMake เวอร์ชัน 2.8 หรือสูงกว่าและ GCC ในกรณีส่วนใหญ่การติดตั้งมีดังนี้:
$ cmake . -DCMAKE_INSTALL_PREFIX=${HOME}/build/libmsr
$ make
$ make install
การติดตั้งขึ้นอยู่กับไฟล์ master.h ซึ่งกำหนดออฟเซ็ตสำหรับ MSR หลายตัวที่ได้รับสถาปัตยกรรมเฉพาะ (เช่น Sandy Bridge, Ivy Bridge, Haswell ฯลฯ ) เครื่องมือการกำหนดค่าอัตโนมัติสามารถบังคับให้ใช้ไฟล์ส่วนหัวของสถาปัตยกรรมเฉพาะหรือสามารถตรวจจับสถาปัตยกรรมอัตโนมัติได้ ในการระบุสถาปัตยกรรมเฉพาะให้เรียกใช้ cmake ด้วยตัวเลือก -DLIBMSR_TARGET_ARCH=<ARG> โดยที่ ARG อยู่ใน hexadecimal ในอนาคตเราวางแผนที่จะมีชุดไฟล์กำหนดค่าเฉพาะสถาปัตยกรรมที่สามารถโหลดล่วงหน้าเพื่อ cmake เพื่อเติมแคช
สถาปัตยกรรมที่รองรับในปัจจุบันคือ Intel Xeon V1-3 (Sandy Bridge, Ivy Bridge และ Haswell Server Processors) ห้องสมุดในทางเทคนิครองรับโปรเซสเซอร์ทั้งหมดตามสถาปัตยกรรมเหล่านี้ แต่คุณสมบัติบางอย่างอาจหายไปจากผลิตภัณฑ์ลูกค้า การใช้ไฟล์ส่วนหัวที่ไม่ถูกต้องมีแนวโน้มที่จะทำให้เกิดปัญหา
สถาปัตยกรรมที่รองรับ:
2D (Sandy Bridge) 57 (Knights Landing)
3E (Ivy Bridge)
3F (Haswell)
4F (Broadwell)
55 (Skylake)*
หากคุณไม่แน่ใจในหมายเลขสถาปัตยกรรมของคุณให้ตรวจสอบฟิลด์ "โมเดล" ใน lscpu หรือ /proc/cpuinfo (โปรดทราบว่ามันจะไม่อยู่ในเลขฐานสิบหก)
*การสนับสนุน Skylake กำลังทดลองและต้องการการทดสอบ/การตรวจสอบมากขึ้น
ซอฟต์แวร์นี้ขึ้นอยู่กับไฟล์ /dev/cpu/*/msr อยู่ เมล็ดล่าสุดต้องการความสามารถเพิ่มเติม เราพบว่ามันง่ายกว่าที่จะใช้โมดูลเคอร์เนล MSR-Safe ของเราเองด้วยสิทธิ์ R/W แต่ทำงานเป็นรูท (หรือผ่านความกังวลในการเพิ่มความสามารถให้กับไบนารี) เป็นอีกทางเลือกหนึ่ง
หากคุณต้องการการสนับสนุน PCI Configuration Register (CSR) ใน LIBMSR คุณต้องติดตั้ง CSR-Safe รหัสนี้ไม่ได้อยู่ใน GitHub - คุณจะต้องร้องขอ
โทรหา msr_init() ก่อนใช้ API ใด ๆ
สำหรับรหัสตัวอย่างดู libmsr_test.c ใน test/ ไดเรกทอรี
เอกสารที่ทันสมัยที่สุดของเราสำหรับ LIBMSR สามารถสร้างขึ้นได้ด้วย make doc และ make latex_doc สำหรับรุ่น HTML และ PDF ตามลำดับ นอกจากนี้ยังมีไฟล์ PDF ที่มีประโยชน์ใน documentation/ ไดเรกทอรี
Barry Rountree, Project Lead, [email protected]
Stephanie Brink ผู้พัฒนา [email protected]
โปรดติดต่อนักพัฒนาด้วยคำถามหรือข้อเสนอแนะใด ๆ
เรากำลังรวบรวมชื่อของผู้ที่เคยมีส่วนร่วมกับ LIBMSR ในช่วงหลายปีที่ผ่านมา ดูรายการปัจจุบันในไฟล์ AUTHORS กรุณาติดต่อนักพัฒนาเพื่อเพิ่มชื่อของคุณลงในรายการ
LIBMSR เปิดตัวภายใต้ใบอนุญาต GPLV2.1 สำหรับรายละเอียดเพิ่มเติมดูไฟล์ใบอนุญาต
LLNL-CODE-645430