TALP-Pages
TALP-Pages is a suite of tools that allows the post-processing of JSON files generated by TALP. Additionally, it provides some scripts to allow for an easy integration into CI/CD setups to continuously monitor a code’s performance, tightly coupled to the development workflow.
The main goal was to provide a set of scripts that enable teams to easily monitor their application’s performance and quickly identify potential bottlenecks.
Warning
Please, be aware that TALP-Pages is still an experimental feature that is introduced in the 3.5.0 release.
Note
We are currently working on extending this documentation.
Installation
To install TALP-Pages, you can use an python package manger that can access the PyPI repository.
With pip you can install TALP-Pages like:
pip install talp-pages
Note
We currently require a Python version >= 3.9 for executing and >= 3.12 for testing.
Overview
After installation you have access to the talp command which currently has 3 different features implemented:
ci-reportwill generate a performance report in HTML from the input path of JSON files provided.metadatawill read in environment variables available in different CI solutions and enrich the generated JSON with additional git-related information.download-gitlabwill download artifacts from previous jobs. This is an essential tool to track the applications performance over time.
Folder structure
TALP-Pages needs your .json files obtained through TALP to be in a folder structure similar to the tree output shown below.
.
`-- talp
|-- mesh_1
| |-- comparison_of_rc
| | |-- talp_1x112.json
| | |-- talp_2x56.json
| | `-- talp_4x28.json
| |-- strong_scaling
| | |-- talp_8x14.json
| | `-- talp_8x28.json
| `-- weak_scaling
| |-- talp_8x14.json
| `-- talp_8x28.json
`-- mesh_2
|-- strong_scaling
| |-- talp_8x14.json
| `-- talp_8x28.json
`-- weak_scaling
|-- talp_8x14.json
`-- talp_8x28.json
With this folder structure you can generate a report like:
talp ci-report -i ./talp -o output
I want to use TALP-Pages on my laptop
If you just did a scaling experiment with the code you’re trying to analyze, you can also use TALP-Pages to generate HTML report you can view with any browser locally.
I want to use TALP-Pages in GitLab CI
In order to use TALP-Pages in a GitLab CI environment the following how-to-guide assumes the following prerequisites:
The machine you want to run your application on has some way to interface with a GitLab runner. (Don’t worry if you don’t have Jacamar. Normally no sudo rights are required to run the gitlab-runner on the login node.)
The machine you want to run your code in has a
DLBinstallation. Optimally withPAPIsupport.Your GitLab instance has the GitLab Pages feature activated
Optionally already have some coarse-grain code annotations in place.
Your code is using MPI or OpenMP or both and is primarily running on CPUs.
Your code is written in C/C++ or Fortran
For an example workflow you can have a look at our repository