Skip to content

[CI][Benchmark] Add comparison script to benchmark scripts + benchmark dashboard via sycl-docs.yml #17522

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 126 commits into from
Apr 14, 2025

Conversation

ianayl
Copy link
Contributor

@ianayl ianayl commented Mar 19, 2025

This PR:

  • Introduces new CI to replace existing nightly benchmarking workflow
    • Adds a preliminary implementation of a comparison script alongside the existing benchmarking scripts: This comparison script is used by the CI to decide whether or not a benchmark result is over a (predefined) tolerance above historical median of benchmark results

      This is not a permanent solution: I am looking into exponential moving averages in the future

  • Adds code in sycl-docs.yml for bringing up new benchmark results dashboard on https://intel.github.io

ianayl and others added 30 commits February 27, 2025 14:01
This patch improves numerous aspects on how the benchmarking
results are visualized:
 - rewrites the way HTML charts are generated, using a library (Chart.js)
 that's both easier to use and more visually pleasing.
 The new HTML page also now decouples data from the HTML itself,
 leading to faster load times and the ability to fetch data
 from remote sources.
 - The markdown output now contains a failures section that
 lists all benchmarks that failed for a given run. This will be
 a helpful for developers during PR testing.
 - Benchmarks can now have description that's displayed on the page.
 - And many more minor improvements.
On PRs based on main, the scripts location is "old" and not accesible.
Pick location based on the dir existance. Step 'gather info' is in
a 'weird' location, so solve it with 2 tries to execute the script.
@ianayl ianayl temporarily deployed to WindowsCILock April 8, 2025 15:49 — with GitHub Actions Inactive
@ianayl ianayl temporarily deployed to WindowsCILock April 8, 2025 16:06 — with GitHub Actions Inactive
@ianayl ianayl temporarily deployed to WindowsCILock April 8, 2025 16:06 — with GitHub Actions Inactive
@ianayl ianayl temporarily deployed to WindowsCILock April 8, 2025 16:33 — with GitHub Actions Inactive
@ianayl ianayl marked this pull request as ready for review April 8, 2025 17:29
@ianayl
Copy link
Contributor Author

ianayl commented Apr 8, 2025

@intel/dpcpp-devops-reviewers Could I ask for a review? Don't worry about the non-CI parts, I will get the non-CI code reviewed by llvm-benchmarks-reviewers

Copy link
Contributor

@uditagarwal97 uditagarwal97 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only reviewed .github/workflows/sycl-docs.yml, .github/workflows/sycl-linux-run-tests.yml, .github/workflows/sycl-nightly.yml
with the assumption that all other files will be reviewed by benchmarking reviewers.

Copy link
Contributor

@uditagarwal97 uditagarwal97 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devops changes LGTM

@ianayl
Copy link
Contributor Author

ianayl commented Apr 14, 2025

@intel/llvm-gatekeepers PR ready for merge, thanks in advance!

@sarnex sarnex merged commit f90ca8e into sycl Apr 14, 2025
76 of 93 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants