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 workflow for running unit tests for MKL backend on CPU #483

Merged
merged 7 commits into from
May 16, 2024

Conversation

rscohn2
Copy link
Member

@rscohn2 rscohn2 commented May 11, 2024

Description

GitHub Actions workflow to run unit tests for MKL/CPU.

I disabled tests that require GPU by excluding tests where the name ends in gpu. RNG and DFT domains finish in 10 minutes. I am still waiting for BLAS/LAPACK to finish. We could have nightly testing that runs everything and PR testing that runs a smaller set. Any thoughts on how to reduce the testing for PR's?

@mkrainiuk

@rscohn2
Copy link
Member Author

rscohn2 commented May 11, 2024

lapack finishes in 30 minutes and blas takes 1.5 hours. All the time is building the tests. Combining multiple tests into a single binary might make testing faster without reducing coverage.

@rscohn2
Copy link
Member Author

rscohn2 commented May 13, 2024

@hjabird: Added CPU to job name to address: #482 (comment)

@mkrainiuk
Copy link
Contributor

Any thoughts on how to reduce the testing for PR's?

I guess we can also skip building GPU part with -DENABLE_MKLGPU_BACKEND=False for now since it's not tested anyway, so it will save some build time, and we can run only runtime dispatching tests and ignore compiler time dispatching tests with -E /CT/, it should give us significant testing time reduction.

@rscohn2 rscohn2 added RFC A proposal to add new API and removed RFC A proposal to add new API labels May 14, 2024
@rscohn2
Copy link
Member Author

rscohn2 commented May 14, 2024

Any thoughts on how to reduce the testing for PR's?

I guess we can also skip building GPU part with -DENABLE_MKLGPU_BACKEND=False for now since it's not tested anyway, so it will save some build time, and we can run only runtime dispatching tests and ignore compiler time dispatching tests with -E /CT/, it should give us significant testing time reduction.

I made the change. It runs about 25% faster, which makes up for the intel hosted runners being 25% slower than github hosted runners. When you move to onemkl-project org, we can use github hosted runners without contending with other projects.

Copy link
Contributor

@dnhsieh-intel dnhsieh-intel left a comment

Choose a reason for hiding this comment

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

Thanks for the PR! I have one suggestion.

.github/workflows/pr.yml Outdated Show resolved Hide resolved
verbose logging and serial test execution for more readable logs. build time dominates so parallel test is less important.

Co-authored-by: Dai-Ni Hsieh <dai-ni.hsieh@intel.com>
@rscohn2 rscohn2 merged commit ce52ba3 into oneapi-src:develop May 16, 2024
4 checks passed
@rscohn2 rscohn2 deleted the dev/pr-test branch May 16, 2024 16:49
normallytangent pushed a commit to normallytangent/oneMKL that referenced this pull request Aug 6, 2024
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.

4 participants