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

github: workflows: Enable Arm Hosted GitHub Runners #2130

Merged
merged 1 commit into from
Oct 2, 2024

Conversation

theComputeKid
Copy link
Contributor

@theComputeKid theComputeKid commented Sep 27, 2024

The oneDNN repo has now been enabled with Arm hosted GitHub runners. They have been activated for PRs opened against the repo.

This is an initial version of AArch64 CI for Linux, on c6g and c7g. We build for gcc-13 and clang-17, in debug and release, for openmp builds. For now, we enable smoke tests for most, but not all, configurations (in order to preserve runner resources). We have logic in the test scripts to skip tests on certain configs. As per suggestions from @vpirogov (and I agree), CI logic has been moved into cross-platform scripts.

The CI is dependent on MacOS pipelines passing. Total run time seems to be in line with x86:

  • MacOS: 45 minutes
  • Linux: 20-30 minutes

Overall time for a run: 1:15 (reasonable).

A few notes:

  1. I have renamed the GitHub jobs generically so that they do not need to be updated when we upgrade compilers (e.g. gcc vs gcc-13). This means we can set them as required checks once then and forget.
  2. I would like to rethink the CI scripts after initial work on CI is finished, to clean them up. Ideally, the scripts should allow developers to reproduce builds when debugging.
  3. Threadpool builds still need to be added.
  4. Full extensive CI testing needs to be added.
  5. We should consider whether we should test multiple compiler versions in the future.
  6. I believe we should be able to cache ACL builds in the future. We should explore this to save resources (approx 30% of compute time), instead of building every time. This can allow us to use smaller runners, of which more are available concurrently.

Unfortunately for oneDNN repo admins (@mgouicem, @vpirogov), you will need to tediously add all combinations of checks as "required", e.g.:

  1. CI AArch64 / c7g, clang, OMP, Debug
  2. CI AArch64 / c6g, clang, OMP, Release
    etc etc

Apologies for the inconvenience. However, this is a one-time effort as we don't need to update them later as those tags will rarely change. You will also need to remove the previous MacOS checks, e.g.: macOS (gcc-14, Debug) and replace with the current version-less MacOS checks, e.g.: macOS (gcc, Debug).

For more info:

  1. https://github.com/apps/arm-hosted-gha-runners
  2. https://gitlab.arm.com/tooling/gha-runner-docs/

@theComputeKid theComputeKid requested a review from a team as a code owner September 27, 2024 17:43
@github-actions github-actions bot added the devops Github automation label Sep 27, 2024
@theComputeKid theComputeKid force-pushed the ci branch 22 times, most recently from 41e3325 to eba505c Compare September 30, 2024 21:51
@theComputeKid theComputeKid changed the title [ci test - do not review]: aarch64 github runners github: workflows: Enable Arm Hosted GitHub Runners Sep 30, 2024
@theComputeKid theComputeKid force-pushed the ci branch 3 times, most recently from 0279282 to 9acf751 Compare September 30, 2024 22:45
@theComputeKid
Copy link
Contributor Author

@vpirogov and @mgouicem : change is ready

- Introduce cross-platform ci scripts.
- Add Arm hosted github runners.
- Add build/test for OMP and SEQ backends.

Signed-off-by: Hamza Butt <hamza.butt@arm.com>
Copy link
Contributor

@mgouicem mgouicem left a comment

Choose a reason for hiding this comment

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

THanks !

@mgouicem mgouicem merged commit 5f541cf into uxlfoundation:main Oct 2, 2024
24 checks passed
@theComputeKid theComputeKid deleted the ci branch October 4, 2024 14:53
@vpirogov vpirogov added this to the v3.7 milestone Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devops Github automation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants