Skip to content

Releases: intel/pcm

202409 Release

17 Sep 07:53
Compare
Choose a tag to compare

Release Notes

New Features:

  • Intel Xeon 6 processors with P-cores (Granite Rapids) support (Alexander Antonov, Gang Deng, White Hu, Pavithran Pandiyan, Roman Dementiev)
  • Lunar Lake support
  • support pcm-power on Sierra Forest processors
  • grafana: add core and uncore frequencies metrics
  • grafana: add TMA and local/remote access ratio metrics
  • pcm-tpmi: add -i instances option
  • bhs-power-mode.sh script for BirchStream platforms (Granite Rapids and Sierra Forest processors)

Improvements

  • pcm-sensor-server: enable compilation with SSL
  • pcm-sensor-server: addition of a fuzzing client and subsequent rewrite of parts of the network communication and SSL detection (Bruggeman, Otto G)
  • pcm-sensor-server: stop using deprecated SSL functions (Otto Bruggeman)
  • docker: parallel build (make -j) (Pawel Palucki)
  • docker: build ignores "build" directory to not interfere with it (Pawel Palucki)
  • pcm-raw: add perfmon event repository as submodule for convenience and update instructions for perfmon event map/files
  • pcm-memory: replace NODE with SKT to avoid confusion with NUMA NODEs
  • added license to Dockerfile (Thomas Willhalm)
  • added PCM::checkStatus() API call (Artiom N.)
  • avoid using the hard-coded /usr/share/pcm/ path
  • cmake: compile with libasan
  • cmake: NO_STATIC_LIBASAN replaced with option (Artiom N.)
  • cmake: Added options prefix. Adde wxecutables build option (Artiom N.)
  • docker: bump fedora 5ce8497 (dependabot)
  • grafana: change the refresh period to 1s
  • grafana: show energy charts after freq charts
  • cmake: implement -DNO_ASAN=1 option
  • cmake: introduce NO_STATIC_LIBASAN option
  • cmake: introduce -DNO_STATIC_MSVC_RUNTIME_LIBRARY=1 option
  • drop support of gcc < 7
  • pcm-raw: make ICX PMURegisterDeclarations available on older steppings
  • upgrade simdjson to v3.9.4
  • add -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer and other hardening
  • set pointers to nullptr after delete or free
  • add PCM_ENFORCE_MBM option (env variable)
  • erase unneeded environment variables

Fixes:

  • handle TPMI initilization for systems without access to MCFG tables e.g. docker/VM (Pawel Palucki)
  • fix ssl accept issues (Otto Bruggeman)
  • fix public github issue #810 (Bruggeman, Otto G)
  • fix double free (Artiom N.)
  • specify a stable URL for WinPMem
  • pcm-raw: really use the alt_path if it exists (a bug fix)
  • link 1 does not have own speed register only on QPI
  • grafana: don't show unsupported metrics in prometheus
  • disable unsupported freq metrics for prometheus
  • fix locking in AcceleratorCounterState::getInstance()
  • fix a crash due to uninitialized array
  • avoid pre-mature PCM init triggered by global counter state init
  • fix a heap-buffer-overflow and a memory leak and throw exception with verbose reason
  • do not include shared library code into pcm-core executable
  • address issue #758 SPR UPI discovery table is broken on SPR MCC

202405 Release

23 May 07:51
e9a1f39
Compare
Choose a tag to compare

Release Notes

New Features

  • Xeon 6E Processor Support: Added support for Xeon 6E processor (Sierra Forest/SRF). (Alexander Antonov, Gang Deng, Pavithran Pandiyan, Roman Dementiev)
  • pcm-iio: Enabled pcm-iio for Sierra Forest (SRF) processors. (Alexander Antonov)
  • Intel QAT Support: Added support for QAT Linux in-tree driver addressing issue#547. (Gang Deng)
  • Meteor Lake Support: Added support for Meteor Lake processors. (Roman Dementiev)
  • Intel PMT raw counter support in pcm-raw: Added support for Intel Platform Monitoring Technology Telemetry (Intel PMT) raw counters. (Roman Dementiev)
  • Client CPU Energy Metrics: Support for client CPU energy metrics in Grafana. (Roman Dementiev)
  • Colorful Display: Added --color option for colorful display in the command-line interface. (Roman Dementiev)

Improvements

  • CPU Support: Support for more CPUs added for localMemoryRequestRatioMetric. (Roman Dementiev)
  • Precise UPI Speed Detection: Improved UPI speed detection on SPR using UPI_SPEED_REGISTER. (Roman Dementiev)
  • Metric Version 2: Made metric version 2 the default setting. (Roman Dementiev)
  • New CONTRIBUTING.md: Added a CONTRIBUTING.md file to help guide new contributors. (Roman Dementiev)

Fixes

  • Dashboard Graph: Replaced Graph with Timeseries for better visualization in the dashboard. (Vimal Kumar)
  • Incorrect PMON IDs: Fixed incorrect PMON IDs for HCx stacks. (Alexander Antonov)
  • Ubox PMU Declarations: Added declarations for ubox PMU. (Huang, Xiaojun)
  • Indentation Alignment: Fixed indentation alignment issues in BuildRequires statements and corrected the Version and Url fields in pcm.spec. (Jon Kohler)
  • Error Checking: Added error checking and validation to start-prometheus.sh and start.sh scripts. (Roman Dementiev)
  • Crash on BDX: Fixed a crash on BDX when trying to program IRP or IIO PMU. (Roman Dementiev)
  • Less Useful Metrics: Disabled less useful metrics to streamline performance monitoring metric display. (Roman Dementiev)

202403 Release

17 Mar 09:09
Compare
Choose a tag to compare

Release Notes

New Features

  • pcm: implement alternative metrics option -m (UTIL=C0 residency for cores, CFREQ=core frequency in GHz) and make it default by Roman Dementiev
  • provide experimental kubernetes manifest by Pat Riehecky
  • grafana scripts: use network instead of link and to use podman or docker by Vimal Kumar

Improvements

  • Hardened binaries with "-Wl,-z,now" option on Linux by opcm
  • pcm-raw: fall-back to older stepping PMURegisterDeclarations if available by Roman Dementiev
  • Detect UPI LL PMUs on SPR/EMR through uncore PMU discovery and detect IMC PMUs on SPR/EMR through uncore PMU discovery by Roman Dementiev
  • Use larger (1Gbyte) buffer in memoptest to increase LLC miss rate by Roman Dementiev
  • grafana script enhancements by Roman Dementiev

Fixes

  • Fixed parameter parsing in pcm-sensor-server by Roman Dementiev
  • Fix: Accessing member of deleted objects by scuzqy
  • Addressed issue #665 - Windows MSR driver compilation error by Roman Dementiev

202401 Release

25 Jan 11:42
2612158
Compare
Choose a tag to compare

Release Notes:

New Features

  • Added Emerald Rapids processor support (Alexander Antonov and Roman Dementiev)
  • Added support for TMA Level 2 metrics on SPR+ (Roman Dementiev)
  • Added support of PP0 and PP1 energy metrics (Roman Dementiev)
  • Added -c option (corelist) to pcm-numa and pcm-msr utilites (Duane E Galbi)
  • pcm-msr new options added: iterate with seconds between each iteration and write results of each iteration to file (Duane E Galbi)
  • Added support for pcm-sensor-server metric exporter/service on OSX (Roman Dementiev)

Improvements

  • Removed hardcoded value for max supported sockets in pcm-iio tool (Alexander Antonov)
  • Rely on CPUID leaf 0x1F topology info when available (Roman Dementiev)

Fixes

  • Ensured PcmMsrClient on OSX can only be opened by root (HaoYan Qi)
  • Fixed codeQL warnings (Roman Dementiev)
  • Addressed issue with exceptions in msr.sys (Roman Dementiev)

Dependencies

  • Bumped fedora from 37 to 39 in docker container (dependabot)

202311 Release

10 Nov 16:07
Compare
Choose a tag to compare

Release Notes

New Features

  • Support for Sapphire Rapids accelerators in pcm-grafana dashboard. (Pavithran Pandiyan)
  • Added support of Sapphire Rapids MCC CPUs in pcm-iio tool. (Alexander Antonov)
  • Added support for M3UPI PMU for Sapphire Rapids. (Dementiev, Roman)
  • Added new tool to access TPMI registers: pcm-tpmi (Dementiev, Roman)
  • Added support for mmio register reads in pcm-raw tool. (Dementiev, Roman)
  • pcm-raw now supports ha pmu and added invert,anythread,nc,isoc,opc and state emon event modifiers. (Dementiev, Roman)
  • New script for filtering data in CSV. (Dementiev, Roman)
  • Added bit operations for pcm register tools: pcm-msr, pcm-pcicfg, pcm-mmio (Dementiev, Roman)

Improvements

  • Updated windows-related documentation. (Dementiev, Roman)
  • Added instructions for compiling windows driver. (QiongwenXu)
  • pcm-raw: Add PCU PMU declaration for BDX/SKX/CLX/CPX and document pcicfg register events (Dementiev, Roman)
  • pcm-raw: remove the max number of event restrictions for register events (Dementiev, Roman)

Bug Fixes

  • Fixed deadlock in processDVSEC. (Dementiev, Roman)
  • Fixed race condition in isHWTMAL1Supported. (Dementiev, Roman)
  • Fixed a clang scan warning. (Dementiev, Roman)
  • Fixed the docker name for Grafana in start.sh. (Mike Yang)
  • Fixed an issue in getMaxNumOfCBoxes to allow the fall-back perf API method to be called. (Dementiev, Roman)
  • Fixed an issue with pcicfg reg syntax documentation. (opcm)
  • Fixed an issue in pcm-accel to avoid confusion when overflow happens. (White Hu)
  • Added exception handling in utils.cpp:get_cpu_bus(). (Steffen Persvold)
  • Fix pcm for PCU and MDF: IO read size is data size (xuqiongwen-ms)

Other Changes

  • DLL-related code enhancements (Dementiev, Roman)
  • Added PCM_NO_MAIN_EXCEPTION_HANDLER variable. (Dementiev, Roman)

202307 Release

14 Jul 09:45
Compare
Choose a tag to compare

Release Notes

  • pcm-memory and grafana dashboard: support CXL bandwidth monitoring on Sapphire Rapids
  • pcm-raw: support collection for MSR and PCICFG (CSR) registers in csv format
  • pcm-mmio: support dumps for memory regions
  • pcm-raw: additional CPU model/steppings supported (CPX, SPR)
  • pcm-pcicfg: support PCICFG register lookup/search by device ID
  • documentation updates (how to run under non-root user, CXL monitoring, pcm-accel IAA, DSA, QAT, pcm-raw register monitoring)
  • addressed CVE-2023-34351
  • bug fixes

202302 Release

21 Feb 09:14
Compare
Choose a tag to compare

Release Notes

  • pcm-accel: support monitoring of Intel® QuickAssist Technology (QAT) performance metrics
  • grafana: support grafana dashboards with multiple hosts (with host selector) and fix UPI charts
  • grafana: added dram pmem bandwidth and their ratio to grafana charts
  • added python script to automate the generation of summary reports from pcm csv
  • added backtrace info with signal SEGV for better debugability
  • pcm-pcie: fix issues with delay parameter
  • pcm-raw: validate counter event restrictions
  • pcm-raw: initial support of hybrid cpus
  • added LLCRDMISSLAT metric support for SPR
  • added support for Gemini Lake
  • added support memory bandwidth metrics for more ADL&TGL CPU models
  • added systemd unit for Linux systems
  • pcm-sensor-server: enhanced error handling in close, setSocket and sync calls
  • avoid using errata events on older processors
  • pcm-sensor-server: implement -force-rtm-abort-mode option

202212 Release

23 Dec 10:10
Compare
Choose a tag to compare

Release Notes:

  • pcm-memory: add SPR HBM support
  • support multiple hosts for Grafana dashboard with prometheus
  • fixes for pcm-iio/pcm-accel

202211 Release

24 Nov 09:47
Compare
Choose a tag to compare

Release Notes:

  • added Sapphire Rapids processor support
  • added new pcm-accel utility to monitor Sapphire Rapids accelerator performance
  • added --version option to all pcm tools
  • pcm: new "enforce flush output" option
  • pcm-raw: support ocr_msr_val and tid modifiers
  • fixed default value for CHA filter1 on CLX and SKX
  • pcm-sensor-server: allow build on FreeBSD
  • pcm-raw: adopt new JSON event file format, new URLs for perfmon event lists

202210 Release

19 Oct 12:51
2ae6316
Compare
Choose a tag to compare

Change notes:

  • rename Processor Counter Monitor to Intel(r) Performance Counter Monitor
  • implement Raptor Lake support in pcm utility
  • pcm-raw: support event collection by name by default (via simdjson submodule)
  • prevent injections in event names in core pcm-raw and pcm-core
  • add no output directory error
  • expand custom counter memory for PCM-Service
  • removed custom processing of CMAKE_INSTALL_PREFIX
  • suppress stderr messages when --help/-h called
  • README: added command to install PCM on RHEL
  • add SNR register definitions
  • code quality enhancements
  • refactor argument parsing in pcm utilities
  • stability improvements
  • fix top-down events on some Linux kernels
  • refactored OSX-specific code
  • pcm-memory: option to enforce output flush