Options - Options - 57368

uProf User Guide

Document ID
57368
Release Date
2025-06-09
Revision
5.1 English
Table 1. AMDuProfCLI Report Command Options
Option Description
-h| --help Displays this help information on the console/terminal.
-i| --input-dir <directory-path> Path to the directory containing collected data.
--detail Generate detailed report.
--group-by <section>
Specify the report to be generated. The supported report options are:
  • process: Report process details
  • module: Report module details
  • thread: Report thread details

This option is applicable only with --detail option. The default is group-by process.

-g The print callgraph. Use with the option --detail or --pid(-p). With --pid option, callgraph will be generated only if the callstack samples were collected for specified PIDs.
--cutoff <n> Cutoff to limit the number of process, threads, modules, and functions to be reported. n is the minimum number of entries to be reported in various report sections. The default value is 10.
Note: --cutoff 0 will report all the data.
--view <view-config>

Report only the events present in the given view file. Use the command

info--list view-configs to get the list of supported view-configs.

--inline

Show inline functions for C, C++ executables.

Note:
  1. This option is not supported on Windows.
  2. Using this option will increase the time taken to generate the report.
--show-sys-src Generate detailed function report of the system module functions (if debug info is available) with the source statements. This option only works with --detail option.
--src-path <path1;...> Source file directories (semicolon separated paths). Multiple use of --src- path is allowed.
--disasm Report only the assembly instructions having samples. This option only works with --detail option.
--disasm-style <att | intel>

Choose the syntax of assembly instructions. The supported options are att and intel. If this option is not used:

  • intel is used by default on Windows.
  • att is used by default on Linux.
--disasm-only Generate the function report with only assembly instructions. This command works only with the --detail option.
--disasm-full Report all the assembly instructions of a function with and without samples. This option only works with the --detail option.
-s| --sort-by <EVENT>

Specify the Timer, PMC, or IBS event on which the reported profile data will be sorted with arguments in the form of comma separated key=value pairs. The supported keys are:

  • event=<timer| ibs-fetch | ibs-op | pmcxNNN>, where NNN is hexadecimal Core PMC event ID.
  • umask=<unit-mask>
  • cmask=<count-mask>
  • inv=<0| 1>
  • user=<0| 1>
  • os=<0| 1>
  • metric=<cpu_time | total_cpu_time | self_time | total_time>

When both event and metric are enabled, event takes priority over metric.

Use the command info--list pmu-events for the list of supported PMC events.

Details about the arguments:

  • umask: Unit mask in decimal or hexadecimal, applicable only to the PMC events.
  • cmask: Count mask in decimal or hexadecimal, applicable only to the PMC events.
  • user, os: User and OS mode. Applicable only to the PMC events.
  • inv: Invert Count Mask, applicable only to the PMC events Multiple occurrences of –sort-by (-s) are not allowed.
  • metric:
    • cpu_time is applicable only if CPU_TIME event is collected.
    • total_cpu_time is applicable only with hotspots (or) threading analysis, if callstack collection (-g) is enabled for dynamically linked launch application.
    • self_time and total_time are applicable only if function tracing is collected.
--agg-interval <low | medium | high | INTERVAL>

Use this option to configure the sample aggregation interval which is useful when the session is imported to GUI.

low level of aggregation interval generates better timeline view in GUI but increases the database size.

Aggregation INTERVAL can also be specified as a numeric value in milliseconds.

--time-filter <T1:T2> Restricts report generation to the time interval between T1 and T2. Where, T1 and T2 are time in seconds from profile start time.
--imix Generate instruction MIX report. It is only supported for IBS config and IBS events profiling. It is only supported for the native binaries.
--imix-group-by <module | thread | function>

IMIX report generation. Supported group-by options are:

  • module: Report module-wise IMIX.
  • thread: Report thread-wise IMIX.
  • function: Report function-wise IMIX
--ignore-system-module Ignore samples from system modules.
--show-percentage Show percentage of samples instead of actual samples.
--show-sample-count Show the number of samples. This option is enabled by default.
--show-event-count Show the number of events occurred.
--show-all-cachelines

Show all the cachelines in the report sections for cache analysis. By default, only the cachelines accessed by more than one process/thread are listed.

Supported only for memory config report on Windows and Linux platforms.

--limit-cacheinfo <n> Show the shared cachelines accessed by more than one process/thread for cache analysis. Set 'n' to the number of shared cacheline addresses to be reported. Use this option for false cache sharing analysis.
--bin-path <path> Binary file path, multiple usage of --bin-path is allowed.
--src-path <path> Source file path, multiple usage of --src-path is allowed.

--symbol-path <path1;...>

Debug Symbol paths (semicolon separated). Multiple use of --symbol-path is allowed.

--report-output <path> Write a report to a file. If the path has a .csv extension, it is assumed to be a file path and used as it is. If the .csv extension is not used, then the path is assumed to be a directory and the report file is generated in the directory with the default name.
--stdout Print the report to a console or terminal.
--retranslate Perform the re-translation of collected data files with a different set of translation options.
--remove-raw-files Remove the raw data files to recover the disk space.
--python-show-all Use this option to show Python interpreter functions in the callgraph/flamegraph when translation is performed on Python profiled data (on Linux).
--export-session Create a compressed archive of the required session files which can be used in other system for analysis.
--log-path <path-to- log-dir>

Specify the path where the log file should be created. If this option is not provided, the log file will be created either in the path set by AMDUPROF_LOGDIR environment variable or $TEMP path (Linux, FreeBSD) or %TEMP% path (on Windows) by default.

The log file name will be of the format $USER-AMDuProfCLI.log (on Linux, FreeBSD) or %USERNAME%-AMDuProfCLI.log (on Windows).

--enable-log Enable additional logging with log file.
--enable-logts

Capture the timestamp of the log records. This option should be used with--enable-logoption.

--symbol-server <path1;...> OS Support: Windows

Symbol Server directories (semicolon separated paths). For example, Microsoft Symbol Server (https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/microsoft-public-symbols). Multiple use of --symbol-server is allowed.

--symbol-cache-dir <path> OS Support: Windows

The path to store the symbol files downloaded from the Symbol Servers.

--legacy-symbol-downloader

OS Support: Windows

Download symbols using the Microsoft Symsrv. By default, AMD symbol downloader will be used.

--host <hostname> OS Support: Linux

This option is used along with the --input-dir option. Generates report belonging to a specific host. The supported options are:

  • <hostname>: Report process belonging to a specific host.
  • all: Report all the processes.
Note: If --host is not used, only the processes belonging to the system from which report is generated is reported. In case, the system is a master node in a cluster, the report will be generated for the lexicographically first host in that cluster.
--category <PROFILE> OS Support: Linux

Generate report only for specific profiling category. Comma separated multiple categories can be specified. If this option is not used, then report for all categories gets generated. Multiple instance of --category is allowed.

Supported categories are:

  • cpu – Generate report specific to CPU Profiling.
  • mpi – Generate report specific to MPI Tracing.
  • openmp – Generate report specific to OpenMP Tracing.
  • trace – Generate report specific to trace events.
  • gputrace – Generate report specific to GPU Tracing.
  • gpuprof – Generate report specific to GPU Profiling.

Example:

  • --category cpu, mpi, trace, gputrace, gpuprof
  • --category mpi --category cpu --category trace --category gputrace -- category gpuprof
--funccount-interval <funccount-interval> OS Support: Linux

Specify the time interval in seconds to list the function count detail report. If this option is not specified, the function count will be generated for the entire profile duration.

--host <hostname>

This option is used along with the --input-dir option. Generates report belonging to a specific host. The supported options are:

  • <hostname>: Report process belonging to a specific host.
  • all: Reportall the processes.
Note: If --host is not used, only the processes belonging to the system from which report is generated is reported. In case, the system is a master node in a cluster, the report will be generated for the lexicographically first host in that cluster.