pcm

Intel® Performance Counter Monitor (Intel® PCM)

BSD-3-CLAUSE License

Stars
2.6K
Committers
93

Bot releases are hidden (Show)

pcm - 202405 Release Latest Release

Published by rdementi 5 months ago

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)
pcm - 202403 Release

Published by rdementi 7 months ago

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
pcm - 202401 Release

Published by opcm 9 months ago

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)
pcm - 202311 Release

Published by opcm 11 months ago

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)
pcm - 202307 Release

Published by rdementi over 1 year ago

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)
  • bug fixes
pcm - 202302 Release

Published by rdementi over 1 year ago

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
pcm - 202212 Release

Published by rdementi almost 2 years ago

Release Notes:

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

Published by rdementi almost 2 years ago

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
pcm - 202210 Release

Published by rdementi about 2 years ago

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
pcm - 202207 Release

Published by opcm about 2 years ago

Change notes:

  • pcm-raw: add json output to pcm-raw
  • pcm-memory: fix csv output inconsistency for channels without traffic
  • fix automatic version generation on checkout
  • use GNUInstallDirs for install paths
  • pcm-iio: optionally display root port pci device id
  • automatically increase limit on open files on Linux
  • pcm-daemon: add 'memory mode hit approximation' metric + client sample app fixes
  • pcm-daemon: document all pcm-daemon metrics in the common.h header
  • handle non-Unicode build configurations on Windows
  • add CPU model number in processor information list
  • correct hardcoded QPI strings and change to UPI when applicable
  • pcm-iio: add missing header item
  • check legacy .x files and uninstall them if any found
  • pcm-raw: fix "EDP" format prints for offlined cores
  • move simdjson wrapper logic to cmake
pcm - 202205 Release

Published by opcm over 2 years ago

Change notes:

  • PCM_KEEP_NMI_WATCHDOG=1 env variable to keep NMI watchdog running
  • support pcm-iio on ICX-D
  • compile with up-to-date pre-installed simdjson library if available (e.g. on ubuntu 22.04)
  • support additional Alderlake cpu model
  • document -pid option in pcm-numa and pcm-tsx
pcm - 202203 Release

Published by opcm over 2 years ago

Change notes:

  • add experimental pcm csv data plot and background collection scripts
  • print 4 digits for MPI metrics
  • uncore linux perf event robustness enhancements
  • pcm-raw: additional overhead reduction for multi-group collection
  • general overhead reduction (skip restoring thread affinity when not required)
  • enhanced README for grafana setup
  • pcm-numa, pcm-tsx: add -pid option
  • fix compilation of examples on old gcc
  • fix: restore affinity for caller process
  • fixed race condition in resctrl (when not available)
pcm - 202202 Release

Published by opcm over 2 years ago

Change notes:

  • cmake install section update
  • copy service files to bin folder on Windows
  • cpack support (rpm/deb/txz) for Debian and Redhat/SUSE families
  • pcm/pcm-raw: add collection of core events for process ID (-pid option) on Linux
  • pcm-raw: fixes and upgrades to pcm-raw transposed prints
  • pcm-raw: extend tansposed csv printouts
  • fix package cstate counters in pcmservice
  • pcm-raw: produce self-contained output with CPU meta data (-edp -out options)
  • implement no-MSR driver mode (=Linux perf_event only mode)
  • pcm-raw: support custom MSR_EVENTs
  • silent mode for libPCM.so, non-Debug options
  • cmake: respect external LDFLAGS/CXXFLAGS/CFLAGS env variables
pcm - 202201 Release

Published by opcm over 2 years ago

Change notes:

  • use cmake to build the project
  • reduce pcm overhead on Linux/Windows
  • pcm-raw: add -r option (PMU reset)
  • pcm-raw: add a sample separator option
  • freeze/unfreeze all core PMU counters during the read operation
  • change ulimit recommendations
  • various performance and bug fixes
pcm - 202112 Release

Published by opcm almost 3 years ago

Change log:

  • pcm: expose DRAM_GT_REQUESTS and DRAM_IA_REQUESTS bandwdith metrics
  • pcm: added client IO and GT bandwidth metrics to CSV output
  • pcm-service (windows): added additional C-state statistics
  • pcm-memory: added -u option (clear screen before stat update)
  • pcm-memory: added -s option (silent mode)
  • pcm-memory: add csv print support for DRAM rank monitoring
  • pcm-memory: disable pmem output when rank monitoring is enabled
  • pcm-power: support for <1 sec delay
  • pcm-raw: support event files in tsv format
  • pcm-raw: added -i option (limits the number of iterations/samples)
  • pcm-raw: add support of IRP events
  • pcm-raw: add thousand separator and tab separator options
  • pcm-pcie: support 8 socket platforms
  • pcm-power: add core power license statistics
  • various small fixes and enhancements
pcm - 202110 Release

Published by opcm almost 3 years ago

Change notes:

  • support ADL (Alder Lake) in pcm tool
  • pcm-raw: support name lookup and programming of offcore response, frontend and load latency core events that require additional MSR setup
  • pcm-raw: support other directories for event files
  • display average uncore frequency in pcm.x
  • allow verbose CPU topology printing with PCM_PRINT_TOPOLOGY environment variables
  • implement pmu reservation on Windows
  • support compilation on VS2017
  • various bug fixes
pcm - 202109 Release

Published by opcm about 3 years ago

Change notes:

  • pcm-raw: support collecting events by names from event lists (https://download.01.org/perfmon/). Details: link
  • pcm-raw: support event group multiplexing
  • pcm-iio: support csv output
  • Extended Windows PCM driver to support all ICX uncore performance monitoring units
  • Developed a workaround to make PCM work in VMware guest
pcm - 202107 Release

Published by opcm about 3 years ago

Change notes:

  • support systems with > 1024 logical cores
  • support Rocket Lake (https://github.com/opcm/pcm/issues/298)
  • pcm-pcie: fix HIT metrics calculation on Broadwell/Haswell server platforms (https://github.com/opcm/pcm/issues/306)
  • pcm: add several additional columns to the socket and core sections in csv output
  • pcm-iio: fix multiplier value for outbound events on Snowridge and Icelake server platforms
  • implement workaround for Linux watchdog not clearing its event programming
  • move Icelake top-down events to a separate group to fix counting through Linux perf API
  • add pcm-mmio utility to rpm
pcm - 202105 Release

Published by opcm over 3 years ago

Change notes:

  • support Intel Atom Processor P5900 Series (previously codenamed SnowRidge)
  • address Linux warnings
pcm - 202104 Release

Published by opcm over 3 years ago

Change notes:

  • Support Icelake server processors