Skip to content
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

[CI][UR] Merge latest updates in UR benchmarking suite #17545

Closed
wants to merge 66 commits into from

Conversation

ianayl
Copy link
Contributor

@ianayl ianayl commented Mar 20, 2025

This PR:

This PR serves as a stepping stone for combining the SYCL benchmarking CI with the UR benchmarking CI: Given that #17229 is massive, I am splitting that PR into smaller individual PRs so that reviewers have an easier time.

Note: I am depending on this commit to be merged with commit squashing turns on, otherwise the commit history is rather unsavory.

Note 2: Much of the benchmarking changes were already reviewed here: #17475

ianayl and others added 30 commits February 27, 2025 14:01

Verified

This commit was signed with the committer’s verified signature.
binford2k Ben Ford
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.
…to unify-benchmark-ci
This reverts commit f79bbbf.
... and add presets to more easily
…to unify-benchmark-ci
…to unify-benchmark-ci
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 March 20, 2025 01:06 — with GitHub Actions Inactive
@ianayl ianayl temporarily deployed to WindowsCILock March 20, 2025 01:17 — with GitHub Actions Inactive
@ianayl ianayl temporarily deployed to WindowsCILock March 20, 2025 01:17 — with GitHub Actions Inactive
@ianayl ianayl marked this pull request as ready for review March 20, 2025 01:23
@ianayl ianayl requested review from a team as code owners March 20, 2025 01:23
uditagarwal97 pushed a commit that referenced this pull request Mar 20, 2025
Scripts enabling CI for benchmarking has gotten pretty big and
complicated: #17545

Most of this code were developed by the UR team, and thus it no longer
makes sense to ask dpcpp-devops-reviewers for PR approvals. This PR
updates CODEOWNERS to ask llvm-reviewers-benchmarking for benchmarking
scripts instead.

**Note:** The current path here puts `/devops/scripts/benchmarks` under
llvm-reviewers-benchmarking: This path currently does not exist, but is
chosen on purpose in anticipation for
#17545.

The folder `/devops/scripts/benchmarking` will be removed in the future
as a part of the effort to unify SYCL and UR benchmarking CI
infrastructure; See #17229
@ianayl
Copy link
Contributor Author

ianayl commented Mar 20, 2025

I'm realizing this is still quite a large PR, and people don't want to read or approve 1.8k lines of code 😅

Thus, I am going to further split this PR into smaller chunks:

Phase 1 (PRs that needs to be merged in series):

Phase 2 (Tentatively; PRs that can be filed independently of eachother):

I'm not sure if this is too much splitting, but hopefully it preserves everybody's sanities

@ianayl ianayl closed this Mar 20, 2025
@bader bader deleted the integrate-ur-benchmarking branch March 20, 2025 23:17
martygrant pushed a commit that referenced this pull request Mar 24, 2025
Given that #17229 is massive, I am
splitting the PR into smaller individual PRs such that reviewers would
have an easier time. This PR prepares for changes in
#17229 by moving the UR benchmarking
scripts into devops.

For more context: A previous attempt at splitting is here
#17545, but even this is way too big,
and thus I'm splitting it into chunks.

This is a non-functional change, as these scripts not currently used
anywhere right now... hopefully soon though!
RossBrunton pushed a commit to oneapi-src/unified-runtime that referenced this pull request Mar 24, 2025
Given that intel/llvm#17229 is massive, I am
splitting the PR into smaller individual PRs such that reviewers would
have an easier time. This PR prepares for changes in
intel/llvm#17229 by moving the UR benchmarking
scripts into devops.

For more context: A previous attempt at splitting is here
intel/llvm#17545, but even this is way too big,
and thus I'm splitting it into chunks.

This is a non-functional change, as these scripts not currently used
anywhere right now... hopefully soon though!
martygrant pushed a commit that referenced this pull request Mar 26, 2025
…rks (#17617)

This PR partially merges changes introduced in
#17229. Specifically, it merges
changes related to:
- Introducing metadata in the result
- Tweaks to the benchmarks itself: benchmarks ran, parameters used to
run, what is enabled/disabled, etc
- Enables/Disables benchmarks we are interested/no longer interested in
  - Disables non-working benchmarks
  - Bumps commit hashes used to fetch each benchmark
- New command line arguments, such as `--build-jobs` and `--redownload`
(to re-fetch the benchmarks)

**Note:** I am relying on this PR having its commits squashed during
merge (which should be the default behavior for intel/llvm)

I did not try to clean up the commit history. Most of these changes are
by Piotr anyway, I wanted to make sure he was properly credited for the
changes.

Updates for current splitting effort of #17229:
#17545 (comment)

---------

Co-authored-by: Piotr Balcer <[email protected]>
Co-authored-by: Łukasz Stolarczuk <[email protected]>
martygrant pushed a commit that referenced this pull request Mar 27, 2025
In continuation of the effort outlined in
#17545 (comment), this
PR merges further changes introduced in
#17229. Specifically, it merges
@pbalcer's changes for adding the ability to run different benchmarking
presets

**Note:** I am relying on this PR having its commits squashed during
merge (which should be the default behavior for intel/llvm)

---------

Co-authored-by: Piotr Balcer <[email protected]>
Co-authored-by: Łukasz Stolarczuk <[email protected]>
martygrant pushed a commit that referenced this pull request Mar 27, 2025
…ntation (#17662)

In continuation of the effort outlined in
#17545 (comment), this
PR merges further changes introduced in
#17229. Specifically, it merges
changes related to markdown output generation intended for creating
summaries on user PRs.

Note: I am relying on this PR having its commits squashed during merge
(which should be the default behavior for intel/llvm)

---------

Co-authored-by: Piotr Balcer <[email protected]>
Co-authored-by: Łukasz Stolarczuk <[email protected]>
martygrant pushed a commit that referenced this pull request Mar 28, 2025
In continuation of the effort outlined in
#17545 (comment), this
PR merges further changes introduced in
#17229. Specifically, it merges
@pbalcer's new HTML benchmarking results dashboard implementation, which
now loads html data from remote sources in order to facilitate bringing
up the benchmarking dashboard in intel.github.io in the future.

**Note:** I am relying on this PR having its commits squashed during
merge (which should be the default behavior for intel/llvm)

I did not try to clean up the commit history. Most of these changes are
by Piotr anyway, I wanted to make sure he was properly credited for the
changes.

---------

Co-authored-by: Piotr Balcer <[email protected]>
Co-authored-by: Łukasz Stolarczuk <[email protected]>
mateuszpn pushed a commit to mateuszpn/llvm that referenced this pull request Mar 31, 2025
…#17659)

In continuation of the effort outlined in
intel#17545 (comment), this
PR merges further changes introduced in
intel#17229. Specifically, it merges
@pbalcer's new HTML benchmarking results dashboard implementation, which
now loads html data from remote sources in order to facilitate bringing
up the benchmarking dashboard in intel.github.io in the future.

**Note:** I am relying on this PR having its commits squashed during
merge (which should be the default behavior for intel/llvm)

I did not try to clean up the commit history. Most of these changes are
by Piotr anyway, I wanted to make sure he was properly credited for the
changes.

---------

Co-authored-by: Piotr Balcer <[email protected]>
Co-authored-by: Łukasz Stolarczuk <[email protected]>
ggojska pushed a commit to ggojska/llvm that referenced this pull request Apr 7, 2025
…#17659)

In continuation of the effort outlined in
intel#17545 (comment), this
PR merges further changes introduced in
intel#17229. Specifically, it merges
@pbalcer's new HTML benchmarking results dashboard implementation, which
now loads html data from remote sources in order to facilitate bringing
up the benchmarking dashboard in intel.github.io in the future.

**Note:** I am relying on this PR having its commits squashed during
merge (which should be the default behavior for intel/llvm)

I did not try to clean up the commit history. Most of these changes are
by Piotr anyway, I wanted to make sure he was properly credited for the
changes.

---------

Co-authored-by: Piotr Balcer <[email protected]>
Co-authored-by: Łukasz Stolarczuk <[email protected]>
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.

None yet

3 participants