The AMD uProf GUI provides a visual interface to profile and analyze the performance data. It has various pages and each page has several sub-windows. You can navigate the pages through the top horizontal navigation bar. When a page is selected, its sub-windows will be listed in the leftmost vertical pane as follows.
Figure 10.1 AMD uProf GUI#
The menu names in the horizontal bar such as HOME, PROFILE, SUMMARY, and ANALYZE are called pages.
Each page has its sub-windows listed in the leftmost vertical pane. For example, HOME page has various windows such as Welcome, Recent Session(s), Import Session, and so on.
Each window has various sections. These sections are used to specify various inputs required for a profile run, display the profile data for analysis, buttons and links to navigate to associated sections. In the Welcome window, Quick Links section has two links that allows you to start a profile session with minimal configuration steps.
To launch the AMDuProf GUI program:
On Windows, launch the GUI from C:\Program Files\AMD\AMDuProf\bin\AMDuProf.exe or using the Desktop shortcut.
On Linux, launch the GUI from /opt/AMDuProf_X.Y-ZZZ/bin/AMDuProf binary.
The Welcome screen is displayed.
Figure 10.2 AMD uProf Welcome Screen#
It has multiple sections.
The Start Here section provides quick links to start profile for the various profile targets.
Recently used profile configurations are listed in Recently Used Configuration(s) section. You can click on this configuration to reuse that profile configuration for subsequent profiling.
Recently opened profile sessions are listed in Recently Opened Session(s) section. You can click on any one of the sessions to load the corresponding profile data for further analysis.
The Quick Links section contains two entries which lets you to start profiles with minimal configuration.
Click See what’s keeping your System busy to start a system-wide time-based profiling until you stop it and then display the collected data.
Click See what’s guzzling power in your System to select various power and thermal related counters and display a live view of the data through graphs.
AMD uProf Resources section provides links to the AMD uProf release page and AMD server community forum for discussions on profiling and performance tuning.
The call stack samples can be collected for C, C++, and Java applications with all the CPU profile types. These samples will be used to provide Flame Graph and Call Graph window.
Note
Java call stack profiling is supported only on Linux platforms.
Complete the following steps to enable call stack sampling:
Select the profile target and profile type.
Click the Advanced Options button to turn on the Enable CSS option in the Call Stack Options pane.
Figure 10.3 Start Profiling - Advanced Options#
Refer Advanced Options for more information on this screen.
Note
If the application is compiled with higher optimization levels and frame pointers are not displayed, you can turn on the Enable FPO option. On Linux, this will increase the size of the raw profile file size.
This screen displays:
The percentage of translation completed.
The Transition Logs display the currently loaded symbol and the corresponding download percentage it is being downloaded.
The Cancel Symbol Download button to stop the symbol download from the server provided in the symbol settings page.
Note
This button is available only in Windows.
Figure 10.4 Translation Progress#
To analyze a profile database generated using CLI, click HOME > Import Session to go to the Import Profile Session. The following screen is displayed:
Figure 10.5 Import Session – Importing Profile Database#
This can be used to import the processed profile data collected using the CLI or the processed profile data saved in GUI’s profile session storage path. You must do the following:
Specify the path containing the session.uprof file in the Profile Data File box.
Binary Path: If the profile run is performed in a system and the corresponding raw profile data is imported in another system, you must specify the path(s) in which binary files can be located.
Source Path: Specify the source path(s) from where the sources files can be located. No sub- directories will be searched in this path to locate any source files.
Root Path to Sources: Specify the path to the root of multiple source directories. The entire directory and sub-directories present in that path will be searched to locate any source files.
Note
The search might take time as all the sub-directories will be searched recursively.
Force Database Regeneration: To forcefully regenerate the database file while importing.
Use Cached Source/Binary/Symbol Files: To reuse cached source, binary, and symbol files.
Once you have created a new profile session or opened (imported) profile database, the history is updated and the last 50 opened profile database records are stored (that is, where they are located). Such a list will also appear in HOME > Recent Session(s) as follows:
Figure 10.6 PROFILE - Recent Session(s)#
History of profile sessions opened for analysis in the GUI. The following options are available:
Click an entry to load the corresponding profile database for analysis.
The See Details button displays details about this profile session such as profiled application, monitored events list, and so on.
Click Edit Options to automatically fill the Import Profile Session for the database and update the required line-edits before opening the session.
The Remove Entry button deletes the current profile session from the history. Displays the details of the selected profile session.
When a profile configuration is created (when you set the options and start profiling), if it generates at least one valid profile session, the profile configuration details will be stored with the options set and can be loaded again. Such a list is available in PROFILE > Saved Configurations as follows:
Figure 10.7 PROFILE - Saved Configurations#
History of profile configurations used to collect profile data using GUI. The following options are available:
Click an entry to display the corresponding profile configuration for data collection.
The See Details button displays the details about the current profile session such profiled application, monitored events list, and so on.
The Remove Entry button deletes the current profile session from the history. Displays the details of the selected profile session.
Note
By default, the profile configuration name is generated by the application. If you want to reuse it, you should name it appropriately to locate it easily. To do so, provide a config name in the bottom left corner (Config Name line-edit) in PROFILE > Start Profiling.
There are certain application-wide settings to customize the AMD uProf experience. The SETTINGS page is in top-right corner and is divided into the following three sections:
Use this section to set the global path and data reporting preferences.
Figure 10.8 SETTINGS - Preferences#
Click the Apply Changes button to apply the updated/modified settings. There are settings which are common to profile data filters and hence, any changes to them through the Apply Changes button will only be applied to the views that do not have local filters set.
Click the Reset button to reset the settings or cancel to discard the changes that you don’t want to apply.
Use this section to configure the Symbol Paths and Symbol Server locations. The Symbol server is a Windows only option.
Figure 10.9 SETTINGS - Symbols#
Use this section to set the Source view preferences.
Figure 10.10 SETTINGS - Source Data#
You can use Select Disassembly Syntax to select the syntax in which you wish to see the disassembly. By default, it is set to Intel on Windows and AT&T on Linux.
Use this section to control the location of data generation during profiling.
Figure 10.11 Profile Data#
In Profile Data, the Capture launch application output list is enabled and has these three options: Redirect to file(s), Shows in UI and Ignore Output.
Ignore Output - The default option for capture launch application output and does nothing when profile launches the app.
Shows in UI - This option enables the log message window once profiling starts in GUI and shows the selected application output.
Redirect to files - After launch app profile is complete in GUI, in the backend session directory two files: launchapp.out.txt and launchapp.err.txt files are created and capture the application output and any warning/error message, respectively.
You must click Apply changes if selecting the Shows in UI or Redirect to files options.
Note
The Capture launch application output option is enabled in both Linux and Windows uProf GUI settings.
Keep Raw Files After Collection enables saving of the raw files after translation. It is disabled by default.
You can use Delete Record Session Files Older Than to delete the session files older than a given time period. The time period is set to None by default.
Reset Profile Configuration helps add preference to keep or clear the profile configuration after each profile. It is set to True (clear after profiling) by default.
Hotkey to stop profile (if running) helps halt the CPU and Power profiling.
Hotkey to pause/resume profile helps pause or resume the CPU and Power profiling.
Note
Hotkeys are supported only on Windows.
Shortcut Key |
Description |
|---|---|
Ctrl+ F |
Bring focus to the search bar in Function Hotspots. This is applicable for Function Hotspots, Grouped Metrics, Flame Graph, Call Graph, Top-down, and Callstack. |
Ctrl+ K |
Highlight the source line with maximum samples in Source View. |
Ctrl+ O |
Import a session. |
Ctrl+ S |
Jump to the first section of the settings page. |
Ctrl+ P |
Start configuring a profile, that is, provide an application path to a profile. |
Ctrl+ Z |
Zoom in to a selected region of a timeline view |
Ctrl+/- |
Zoom in/out a timeline view. |