Difference between revisions of "Measurement tools"

From HPC Wiki
Jump to navigation Jump to search
(Created page with "== Hardware Performance Counter Measurement Tools == === Low Level === * Perf: The main interface in the Linux kernel and a corresponding user-space tool to measure hardware c...")
 
m
 
(26 intermediate revisions by 11 users not shown)
Line 1: Line 1:
== Hardware Performance Counter Measurement Tools ==
+
[[Category:Benchmarking]]
=== Low Level ===
+
[[Category:HPC-Developer]]
* Perf: The main interface in the Linux kernel and a corresponding user-space tool to measure hardware counters
+
== Performance Analysis Tools ==
* PAPI (Performance-API): A generic API for applications to measure different aspects of the system. For hardware performance counters it uses the perf backend for measurements. Other plugins for GPU and other components exist
+
=== Hardware Counter Measurement Tools and APIs ===
 +
* [[Perf|Perf]]: The main interface in the Linux kernel and a corresponding user-space tool to measure hardware counters
 +
* [[PAPI|PAPI]] (Performance-API): A generic API for applications to measure different aspects of the system. For hardware performance counters it uses the perf backend for measurements. Other plugins for GPU and other components exist
 
* PCM (Performance Counter Monitor): A higher level tool and API that provides common metrics like memory bandwidth and NUMA traffic. The API also provides access to any hardware counter event
 
* PCM (Performance Counter Monitor): A higher level tool and API that provides common metrics like memory bandwidth and NUMA traffic. The API also provides access to any hardware counter event
 
* PMU-Tools: A set of Python scripts that use the perf backend
 
* PMU-Tools: A set of Python scripts that use the perf backend
* [https://hpc-wiki.itc.rwth-aachen.de/mediawiki/index.php/Likwid LIKWID]: Command line applications and API to measure hardware events which can use perf as backend but also provides other backends to be independent of the kernel version
+
* [[Likwid|LIKWID]]: Command line applications and API to measure hardware events which can use perf as backend but also provides other backends to be independent of the kernel version
  
=== High Level ===
+
=== Performance Measurement and Analysis Tools ===
* [https://hpc-wiki.itc.rwth-aachen.de/mediawiki/index.php/Vampir Vampir]: A scalable framework for performance analysis using PAPI as backend
+
* [[ARMPerfReports|ARM Performance Reports]]: A tool that provides a simple one page HTML (or TXT) report that highlights processor, memory, communication and I/O issues and offers advice on how to improve the performance.
* TAU: Utilities to sample or instrument code for hardware counters and other metrics
+
* [https://www.arm.com/products/development-tools/server-and-hpc/forge/map Arm MAP]: Another tool from ARM with more detailed view, somehow alike [[Intel_VTune|Intel VTune]]
* HPCToolkit:
+
* [[HPCToolkit|HPC-Toolkit]]: Toolkit to sample timers and hardware performance counters for serial and parallel applications
* Intel VTune:
+
* [[Intel Advisor]]: A vectorization and threading optimization tool
* Scalasca:
+
* [[Intel_VTune|Intel VTune]]: A performance profiling tool to analyse algorithms and hardware usage for serial and parallel applications
* Score-P:
+
* [https://software.intel.com/content/www/us/en/develop/tools/performance-snapshot.html Intel Performance Snapshot], a tool for simple overview of performace metrics, somehow alike [[ARMPerfReports|ARM Performance Report]]
 +
* [[Score-P]]: A Scalable Performance Measurement Infrastructure for Parallel Codes
 +
** [[Vampir|Vampir]]: A scalable framework for performance analysis using PAPI as backend
 +
** [[Scalasca]]: A performance optimisation tool for runtime behaviour measurement and analysis of parallel programs
 +
** [[Tau|TAU]]: Utilities to sample or instrument code for hardware counters and other metrics
 +
** [[Cube]]
 +
 
 +
* [[Intel Trace Collector/Analyzer]]: Powerful tools that acquire/display information on the communication behavior of MPI programs
 +
* [[Oracle Sampling Collector and Performance Analyzer]]: Pair of tools that can collect and analyze performance data for serial or parallel applications
 +
* [[Lo2s|lo2s]]: Lightweight Node-level Performance Monitoring tool, creates application- or system-level OTF2 traces on Linux
 +
 
 +
=== Links and Further Information ===
 +
* [https://www.vi-hps.org  Virtual Institute - High Productivity Supercomputing (VI-HPS) ]

Latest revision as of 12:10, 19 July 2024

Performance Analysis Tools

Hardware Counter Measurement Tools and APIs

  • Perf: The main interface in the Linux kernel and a corresponding user-space tool to measure hardware counters
  • PAPI (Performance-API): A generic API for applications to measure different aspects of the system. For hardware performance counters it uses the perf backend for measurements. Other plugins for GPU and other components exist
  • PCM (Performance Counter Monitor): A higher level tool and API that provides common metrics like memory bandwidth and NUMA traffic. The API also provides access to any hardware counter event
  • PMU-Tools: A set of Python scripts that use the perf backend
  • LIKWID: Command line applications and API to measure hardware events which can use perf as backend but also provides other backends to be independent of the kernel version

Performance Measurement and Analysis Tools

  • ARM Performance Reports: A tool that provides a simple one page HTML (or TXT) report that highlights processor, memory, communication and I/O issues and offers advice on how to improve the performance.
  • Arm MAP: Another tool from ARM with more detailed view, somehow alike Intel VTune
  • HPC-Toolkit: Toolkit to sample timers and hardware performance counters for serial and parallel applications
  • Intel Advisor: A vectorization and threading optimization tool
  • Intel VTune: A performance profiling tool to analyse algorithms and hardware usage for serial and parallel applications
  • Intel Performance Snapshot, a tool for simple overview of performace metrics, somehow alike ARM Performance Report
  • Score-P: A Scalable Performance Measurement Infrastructure for Parallel Codes
    • Vampir: A scalable framework for performance analysis using PAPI as backend
    • Scalasca Trace Tools: A performance optimisation tool for runtime behaviour measurement and analysis of parallel programs
    • TAU: Utilities to sample or instrument code for hardware counters and other metrics
    • Cube

Links and Further Information