Optimization Tools – Cray

After you have compiled and debugged your program, you are ready to begin analyzing its performance. The Cray Performance Analysis Tools are a suite of optional utilities that enable you to capture and analyze performance data generated during the execution of your program.

To begin workinig with the performance analysis tools, first load your programming environment of choice, and then load the perftools module.

  • module load perftools

The Cray Performance Analysis Tools suite consists of three components:

  • Cray Performance Analysis Tools (Cray PAT)

The CrayPat run time environment, which collects the specified performance data. Accordingly, CrayPat consists of the following major components:

i.pat_build, the utility used to instrument programs
ii.pat_report, a standalone text report generator that can be used to further explore the data generated by instrumented program execution
iii.Apprentice2, a graphical analysis tool that can be used, in addition to pat_report, to further explore and visualize the data generated by instrumented program execution
These components are described in greater detail in the pat_build, pat_report, and app2 man pages, respectively. You must have the perftools module loaded first to get these man pages. In addition, more detail about CrayPat usage and environment variables is provided in the intro_craypat man page.

  •  Cray Apprentice2  Cray Apprentice2 is an optional GUI tool that is used to visualize and manipulate the performance analysis data captured during program execution. Cray Apprentice2 is not directly integrated with CrayPat. You cannot launch Cray Apprentice2 from within CrayPat, nor can you set up or run performance analysis experiments from within Cray Apprentice2. Rather, use CrayPat first, to instrument your program and capture performance analysis data, and then use Cray Apprentice2 to visualize and explore the resulting data files.To run Cray Apprentice2, load the perftools module, if it is not already loaded.
    • module load perftools

    To launch Cray Apprentice2, use app2 command.

Click here to see the steps to perform the basic analysis of your program using CrayPat and Apprentice2 tools.

  • Performance API (PAPI)   The Performance API (PAPI) is a standard API for accessing microprocessor registers. CrayPat uses PAPI to interface to the Cray system hardware; therefore the module papi is normally loaded as part of the perftools module.The interface between PAPI and CrayPat is normally transparent to the user. However, advanced users may want to bypass CrayPat and work with PAPI directly.In this case, you must unload the perftools module and then reload only the papi module.
    • module unload perftools
    • module load papi

Documentation:

PAPI’s User Guide
Quick Start for Optimization Tools
Steps to analysis the program using CrayPAT and Cray Apprentice2

Report Problems to:
If you encounter any problem in using this software please report to SERC helpdesk at the email address helpdesk.serc@auto.iisc.ac.in or contact System Administrators in #103, SERC.