3. Release notes

3.1. Version 2.3.2

  • You can now choose to display line graphs as lines or as filled-in areas: Line graphs showing line and area options

3.2. Version 2.2.0

20th December, 2021

This release adds some more new features, and addresses some display and error-reporting issues with previous versions.

  • The ‘Open file’ and ‘Compare reports’ dialogs now display a drop-down list of directories which updates to match the path entered. You can use the keyboard arrow keys to navigate and select paths from the list.

  • The ‘Recent’ report list on the landing page can now contain up to 64 previous report paths.

  • Fixed an issue when using SSH keys generated with the OpenSSH format.

  • Fixed an issue with the dark colour used for the derived IPU activity when in dark mode.

  • Fixed an issue where the SSH key location was not saved when selected via the file browser.

  • Dialogs can now be toggled between their default size and full-screen by clicking the resize icon to the left of the dialog’s title.

  • Errors that occur while downloading or installing an update are now displayed in a notification. If the download takes longer than a minute to complete, the option to retry it or continue is presented.

    Update delayed

3.3. Version 2.1.0

10th November, 2021

This version sees a new search feature for the System Analyser, as well as further improvements in data handling and rendering performance.

  • A new search feature allows you to find timeline events by name. You can cycle through any events that match your search term, and the timeline scrolls and zooms to display the current match at an appropriate size in the graph. Search for events

3.4. Version 2.0.3

26th October, 2021

Version 2.0 sees many new features and improvements brought to the PopVision System Analyser, including thread pinning, metadata support and software update.

3.4.1. Highlights

  • Pin threads or charts to the top of the window.

  • libpvti metdata can now be displayed for the begin and end phase of an event.

  • Automatic software update - the System Analyser will now periodically check whether it can update itself.

  • A new preference allows you to set the default behaviour for your mouse’s scroll-wheel: zooming or scrolling.

  • The Open Report dialog now remembers which tab you last used (local or remote).

  • Improvements to the display of numerical values in line graphs.

  • Better error reporting if the analysis engine upload fails.

  • An End User License Agreement must now be agreed to before using the application.

3.4.2. General improvements and bug fixes

  • In the Preferences dialog, you can now define the default behaviour for your mouse’s scroll wheel (or using two-finger drag on on a laptop trackpad). Scroll preference You can select either:

    • ‘Scroll by default’, where the mouse wheel will scroll the window content up and down. Holding down the Ctrl key while using the scroll wheel then zooms the window content in and out.

    • ‘Zoom by default’, where the mouse wheel zooms the window content in and out. Holding down the Ctrl key while using the scroll wheel then scrolls the window content up and down.

  • You can now click on the ‘pin’ icon on a thread or chart and it moves to the top of the window so that you can keep all the relevant threads grouped together. This makes it easier to compare different threads. Pinned threads

  • The System Analyser now supports libpvti metadata for{” “} pvti files of version 1.2 or higher. This allows you to associate information with the pvti trace points, and then view that in the report. Here you can see an example of an index and the begin and end phase for a ‘function’: Metadata display

  • We have improved the error reporting when the System Analyser failed to upload the analysis engine to a remote host. Error reports will now show whether there was, for example, a permissions error, or no space to write the engine. Upload error

  • The line graph now supports smaller numerical ranges, so an appropriate number of significant figures can be displayed. The formatting of the numbers has also been improved: Line graph numerical improvements

  • The System Analyser now periodically checks online to see if there is an update. If it finds one, it prompts you to download and install it. You can delay the download, or switch off the feature entirely in the Preferences. Auto-update

  • To support software update functionality, when first starting the application an End User License Agreement is displayed (unless you’ve already agreed to it in a previous version of the application). To continue to use the System Analyser application, you must agree to the terms and conditions therein.

    • Note that you can opt out of the software download feature in this dialog, just as you can within the application’s Preferences dialog.

    End User License Agreement

  • When saving a screen as an image, all the visible elements in the report are saved, as well as the theme.

  • We have resolved the slow down when writing to an NFS file system, which has also improved the writing time for reports by a factor of four. This fix requires the latest Poplar SDK release.

  • We have fixed an issue with older CTF (JSON) profiles with missing timestamps.

3.5. Version 1.3.5

16th September, 2021

3.5.1. Highlights

  • Improvements to the open report dialogs.

3.5.2. General improvements and bug fixes

  • Added the name of the remote host on the tab for the remote open report dialog.

  • Added a close button on the remote open report dialog.

  • Improved the layout of the file browser when you have a directory with lots of pvti files. It will now show the first 5 and allow you to expand that list if you want.

3.6. Version 1.2.4

25th June, 2021

For this version of the System Analyser, we have added the ability to read and plot scalar values onto a line graph.

Line graphs

The ability to record custom scalar values to be drawn in the System Analyser has been added to the PopVision Trace Instrumentation Library ‘libpvti’.

When looking at a report you can now switch to viewing the flamegraph in aggregated view. This will aggregate events with the same name, giving a total duration. This allows analysing the overall statistics of a large report easily.

Aggregated

3.7. Version 1.1.1

1st March, 2021

For the second release of the PopVision System Analyser we have added the much requested feature to open reports on a remote host, like the PopVision Graph Analyser.

When you click the “Open report” link, you will now get an Open file dialog with “local” and “remote” tabs, as you do with the PopVision Graph Analyser.

Open remote

Enter your username and host address and the System Analyser will attempt to connect to the remote host over SSH. Depending on your ssh config you may need to enter you password. SSH options can be set in the preferences dialog.

When looking at a report you can now select a function in the flame graph and see the call tree for it.

Call tree

The call tree shows the nested call structure, the total time and the self-time (the time a function takes minus the time the functions is calls take) to help identify hot spots.

When testing of the System Analyser with machine learning frameworks on large system (POD128) it was seen that those frameworks create a large number of threads when executing and each thread generates its own pvti file. This can be difficult to see in the System Analyser, so to make it easier we have added options to collapse all threads down to just the ‘top-level’ function, and then selectively expand or collapse a thread of interest.

3.8. Version 1.0.7

7th December, 2020

The PopVision System Analyser allows developers to understand the execution of programs running on the host processor which control the IPU(s). The System Analyser shows the interaction between the host and the IPU(s) so that developers can understand where the bottlenecks are in the execution of their applications.

The PopVision System Analyser visualises the information collected by the PopVision Trace Instrumentation Library ‘libpvti’ (which is part of the Poplar SDK) during execution of an application. This instrumentation information is saved in a file with the extension `pvti`.

When the tool is first started you have the option to open a report, follow links to additional help, and to these release notes:

Landing page

Note: PopVision System Analyser 1.0 only supports opening reports from your local machine. Remote host support is planned for a future release.

After the report has loaded, an execution trace is displayed:

Execution trace

From here you can see:

  • The side bar menu, which allows you to close a report and return to the landing page, open the help window, and minimise and maximise the side bar.

  • At the top of the window, an overview of the execution profile information. You can select (mouse button down and drag) on the overview to select the range you want to view.

  • The main section of the tool allows you to zoom (mouse wheel) and pan (mouse button and drag) the profiled trace.

  • Each ‘block’ in the flame graph represents the time span between two points. In most cases that is the duration of a function or method.

  • As you move your mouse around over the flame graph you will see a tool tip giving you more information about that instrumented function: Popup information

  • Holding the SHIFT key down while panning allows you to measure the time between two points: Measuring duration

  • The colors indicate the different layers of the software stack (i.e. GCDA, Poplar, PopART)

  • The Key allows you to select which layers are displayed

  • When you click on any of the ‘blocks’ you can see the details of that instrumented function below:

  • The “Add file” option allows you to load additional `pvti` files, allowing you to see the execution across multiple hosts.

  • The “Options” menu allows you to select absolute time vs relative time. Absolute time uses the timestamp directly in the different reports. Relative time uses the time delta from the begin of a file. The relative time option allows you to open different runs of the same application to compare their execution. The absolute option allows you to show execution when scaling your application across multiple hosts.

  • To the left of the flame graph you will see a collapseable tree of files/processes/threads.

  • The “Save” option (top left) allows you to save the current view of the flame graph to a png to be attached to other applications.