Command Line Options - Command Line Options - 57368

uProf User Guide

Document ID
57368
Release Date
2025-06-09
Revision
5.1 English

Here is a list of all command line options.

Table 1. AMDuProfPcm Options
Option Description
-h Displays this help information on the console/terminal.
-m <metric,...> Metrics to report. The supported metric groups and the corresponding metrics are Platform, OS, and Hypervisor specific.

Run ./AMDuProfPcm -h to get the list of supported metrics. The following metric groups are supported:

Core

  • ipc – reports metrics such as CEF, Utilization, CPI, and IPC
  • fp – reports GFLOPS
  • dc – advanced caching metrics such as DC refills by source (supported only on AMD “Zen 3”, AMD “Zen 4”, and AMD"Zen 5" processors)
  • l1 – L1 cache related metrics (DC access and IC Fetch miss ratio)
  • l2 – L2D and L2I cache related access/hit/miss metrics
  • swpfdc – software prefetch data cache from various nodes and CCX (supported only on AMD “Zen 3”, AMD “Zen 4”, and AMD “Zen 5” processors)
  • hwpfdc – hardware prefetch data cache from various nodes and CCX (supported only on AMD “Zen 3”, AMD “Zen 4”, and AMD “Zen 5” processors)
  • pipeline_util – top-down metrics to visualize the bottlenecks in the CPU pipeline (supported only on AMD “Zen 4” and AMD “Zen 5” processors)
  • avx_imix - SSE/AVX instruction mix percentage
  • cache_miss - L1 Data and Insturction cache misses, L2 Data and Code Read misses
  • tlb - translation lookaside buffer misses

L3

  • l3 – L3 cache metrics like L3 Access, L3 Miss, and Average Miss latency
DF Metrics
  • memory – approximate memory read and write bandwidths in GB/s for all the channels
  • pcie – PCIe bandwidth in GB/s (supported only on AMD “Zen 2”, AMD “Zen 4”, and AMD “Zen 5” processors)
  • xgmi – approximate xGMI outbound databytes in GB/s for all the remote links
  • dma – DMA bandwidth in GB/s (supported only on AMD “Zen 4” and AMD “Zen 5” processors)
  • ccm_bw - Core complex inbound and outbound bandwidth in GB/s (supported only on AMD “Zen 4” processors and later)
  • cxl - Compute Express Link bandwidth in GB/s (supported only on AMD “Zen 5” processors and later)
-c <core|ccx|l3|numa|package>=<n>

Collect from the specified core | ccx | ccd | package. The default is 'core=0'.

If 'ccx' or 'l3' is specified:
  • Core events will be collected from all the cores of this ccx.
  • l3 event will be collected for ccx this core belongs to.
  • df events will be collected for the package this core belongs to.

If 'package' is specified:

  • Core events will be collected for all the cores of this package.
  • l3 events will be collected for all the ccxs of this package.
  • df events will be collected for this package.

If 'numa' is specified:

  • Core events will be collected from all the cores of this numa.
  • l3 events will be collected for all the ccxs of this numa.
  • df events will be collected for all the packages of this numa.
-a Collect from all the cores.
Note: Options -c and -a cannot be used together.
-C Prints the cumulative data at the end of the profile duration. Else, all the samples will be reported as timeseries data.
-A <system,package,ccd,ccx,core>

Prints aggregated metrics at various component levels. The following granularities are supported:

  • system – samples from all the cores in the system will be aggregated
  • package – samples from all the cores in the package will be aggregated and reported for all the packages available in the system; applicable for multi-package systems.
  • ccd – samples from all the cores in CCD will be aggregated and reported for all the CCDs.
  • ccx – samples from all the cores in CCX will be aggregated and reported for all the CCXs.
    Note: CCX is only applicable to Core and L3 metrics.
  • core – samples from all the logical cores on which samples are collected will be reported without aggregation.
Note: Option -a should be used along with this option to collect samples from all the cores.
Note: Comma separated list of components can be specified.
-I <ms>  Print the metrics at regular intervals. By default, it is enabled with an interval of 1000 ms.
-i <config file> User defined XML config file that specifies Core|L3|DF counters to monitor. Refer sample files in the <install-dir>/bin/Data/Config/ directory for the format.
Note:
  1. Options -i and -m cannot be used together.
  2. If option -i is used, all the events mentioned in the user defined config file will be collected.
-d <seconds> Profile duration to run.
-t <multiplex interval in ms> The interval in which pmc count values will be read, the minimum is 100 ms.
-o <output file> The output file name, it is in CSV format.
-P <n> Sets precision of the metrics reported, the default value is 2.
-q Hide CPU topology section in the output report.
-r Force resets the MSRs.
-k Prefixes 'pkg' in package level counters.
-s Displays time stamp in the time series report.
-l Lists the supported raw PMC events.
-z <pmc-event> Prints the name, description, and available unit masks for the event.
-w <dir> Specifies the working directory. The default will be the path of the launched application.
-n Print cpu topology.
-v Print version.
-X

Collect data using perf subsystem without root privileges. This option is enabled by default and will be deprecated soon.

Note: This is only supported on Linux.
-p <process ID>

Specify the target process ID to monitor.

Note: This is only supported with the option -X on Linux.
-f <util:<n>>

Filter the roofline data based on the utilization. For example, -f util:90 will filter all data points with less than 90% utilization.

Note: This is applicable only with the roofline command.
--html Collect data and generate HTML report.
--msr Collect data using MSR mode. Requires root privilege.
--percentile Generate custom percentile in html report. Default is 95th Percentile.
--collect-xgmi Collect xgmi data.
--collect-pcie Collect pcie data.
--collect-power Collect power data.
--per-core Prints metrics at core level (no aggregation).
--per-die Prints aggregated metrics at die level.
--per-socket Prints aggregated metrics at socket level.
--report-roofline Report roofline data under the 'profile' command.
--no-aggr

Prints non-aggregated metrics data:

  • Core metrics will be reported at core level.
  • l3 metrics will be reported at ccx level.
  • df metrics will be printed at package/aid level.
--collect-clk Collect clock data.
--collect-guest
Count only the guest events.
Note: This is applicable only in the host when hypervisor is enabled.
--collect-host Count only the host events. (Default behavior is to collect host and guest data).
Note: This is applicable only in the host when hypervisor is enabled.
--read-smbios

Read memory speed and total memory channels from SMBIOS.

Applicable only for roofline command.

--show-used-ccx

Show only the CCXs where the target application ran in the heatmap's L3 Cache section in the html report.

Not applicable with --msr option.

-O <output dir path> Path to create the output directory.