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] Add "loader" support to conformance testing #2082

Merged
merged 1 commit into from
Nov 6, 2024

Conversation

RossBrunton
Copy link
Contributor

@RossBrunton RossBrunton commented Sep 11, 2024

This expands our CI to test the loader; the dispatcher that is
used when multiple adapters are available.

The old "run on hardware" jobs should behave the same (they have
the loader tests disabled), but there are new "combined" jobs
with OpenCL/Level Zero + Native CPU.

Closes: #2081

@github-actions github-actions bot added the loader Loader related feature/bug label Sep 11, 2024
@github-actions github-actions bot added the ci/cd Continuous integration/devliery label Sep 12, 2024
@RossBrunton RossBrunton force-pushed the ross/multiadapt branch 3 times, most recently from 765d74d to 1a590df Compare September 26, 2024 14:25
@github-actions github-actions bot added the conformance Conformance test suite issues. label Sep 26, 2024
@RossBrunton RossBrunton force-pushed the ross/multiadapt branch 7 times, most recently from 43feaa2 to 6b30976 Compare September 30, 2024 10:26
@RossBrunton RossBrunton changed the title [DO NOT MERGE] Testing for multiple adapters [CI] Add "loader" support to conformance testing Sep 30, 2024
@RossBrunton RossBrunton force-pushed the ross/multiadapt branch 9 times, most recently from 23ec456 to c26d47e Compare October 2, 2024 16:05
@github-actions github-actions bot added the specification Changes or additions to the specification label Oct 9, 2024
@RossBrunton RossBrunton force-pushed the ross/multiadapt branch 3 times, most recently from 1c51ebc to 5901769 Compare October 11, 2024 13:42
@RossBrunton RossBrunton force-pushed the ross/multiadapt branch 3 times, most recently from d147c8f to 1503e67 Compare October 17, 2024 10:37
@RossBrunton RossBrunton force-pushed the ross/multiadapt branch 9 times, most recently from fd9b9ef to 74eaf70 Compare October 25, 2024 15:33
@RossBrunton RossBrunton force-pushed the ross/multiadapt branch 3 times, most recently from 6f75bec to 29f5904 Compare November 5, 2024 10:34
@@ -187,6 +187,24 @@ jobs:
adapter_name: NATIVE_CPU
runner_name: NATIVE_CPU

# Native CPU jobs are here to force the loader to be used
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is there value in testing the loader with CUDA/HIP? It would use more CI resources but might catch more issues.

@RossBrunton RossBrunton marked this pull request as ready for review November 5, 2024 12:36
@RossBrunton RossBrunton requested a review from a team as a code owner November 5, 2024 12:36
@@ -0,0 +1,3 @@
# Note: This file is only for use with cts_exe.py
Copy link
Contributor

Choose a reason for hiding this comment

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

I might be wrong but shouldn't this note be true for all match files, and if so, I don't think we need to add this note.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There are two programs now that handle match files; the older matching logic and cts_exe.py. When I updated the files, I did so in a way incompatible with the old match checker thing. Figured I'd add a note calling that out.

Although, happy to remove it now that we've transitioned to using cts_exe.py.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah okay make sense, I think it is better to keep it for now to avoid confusion then with the old matching logic. might be worth also calling out explicitly that this is incompatible with the old matching system. (doesn't have strong opinions about this)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

#2285 Decided to go hard in the other direction. Drop support for the older matching logic and make our testing files look neater. Not sure how popular a change this will be though.

.github/workflows/build-hw-reusable.yml Outdated Show resolved Hide resolved
.github/workflows/build-hw-reusable.yml Show resolved Hide resolved
.github/workflows/build-hw-reusable.yml Show resolved Hide resolved
This expands our CI to test the loader; the dispatcher that is
used when multiple adapters are availabe.

The old "run on hardware" jobs should behave the same (they have
the loader tests disabled), but there are new "combined" jobs
with OpenCL/Level Zero + Native CPU.

Closes: oneapi-src#2081
@RossBrunton
Copy link
Contributor Author

Merging without LLVM change, as this only affects our testing.

@RossBrunton RossBrunton merged commit 3edf997 into oneapi-src:main Nov 6, 2024
83 checks passed
@RossBrunton RossBrunton deleted the ross/multiadapt branch November 6, 2024 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci/cd Continuous integration/devliery conformance Conformance test suite issues. loader Loader related feature/bug specification Changes or additions to the specification
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add CI testing for builds with multiple adapters
2 participants