16. FAQs

This section contains a set of frequently asked questions about capturing and understanding reports in the Graph Analyser.

16.1. Not-always-live memory discrepancy

Question: Why does the tile memory differ on the Memory and Liveness reports? If you open a Memory report, and select the By Liveness breakdown option from the drop-down menu, and then select a particular tile, you can see its memory consumption plotted. If you then find that same tile in the Liveness report, you may notice that its memory consumption is lower. Why does this happen?

Answer: The Not-Always-Live plot on the Memory-Liveness report actually shows the maximum memory of the not-always-live variables, which can be lower than the actual tile memory required. Because memory is statically allocated on the tile, and the allocating algorithm isn’t perfect, this could be less than the actual amount of memory required to store your program.

As an example, suppose you have two variables A and B, both 1 byte, but B needs to be stored in interleaved memory. If you have a program like this:

Write(A)
Read(A)
Write(B)
Read(B)

then the two variables are not live at the same time, so in theory could be overlapped, but because of the additional constraints they aren’t. In this case the maximum not-always-live bytes is 1 byte, but the memory required (excluding gaps) is 2 bytes.

16.2. Using the Graph Analyser over X-Forwarding on MacOS

Question: How can I use the Graph Analyser over X-Forwarding on MacOS? Answer: To view the Graph Analyser over X-forwarding on MacOS, follow these steps:

  • On your MacOS machine, download and install XQuartz from https://www.xquartz.org/.

  • Start the XQuartz app, and start a terminal session from within it.

  • In the terminal, enter ssh -X [username]@[host], supplying the username and host for the remote machine.

  • In the SSH session, run the following commands (assuming you want to use version 3.7.2 of the Graph Analyser):

$ wget https://github.com/graphcore/popvision_graph_analyser/releases/download/v3.7.2/popvision-graph-analyser-3.7.2.AppImage
$ chmod +x ./popvision-graph-analyser-3.7.2.AppImage
$ ./popvision-graph-analyser-3.7.2.AppImage

The Graph Analyser application should then start up and work normally over X.

16.3. How can I reduce the size of my profile report files?

To reduce the size of your profile files, see the Profile troubleshooting section, where you can find tips on reducing instrumentation levels, reducing batch size, and reducing the number of steps being instrumented.