-
Notifications
You must be signed in to change notification settings - Fork 225
use dynamic linkage with mkl in bazel #3285
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
use dynamic linkage with mkl in bazel #3285
Conversation
…/Alexandr-Solovev/oneDAL into dev/asolovev_bazel_sycl_libs_upd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the Bazel integration to use dynamic MKL libraries at version 2025.2.0, adds support for extracting .conda
archives, and fixes a typo in the utility function name.
- Bump Intel MKL version from 2025.0.0 to 2025.2.0 and switch linkage to shared
.so
libraries - Introduce
.conda
archive download and extraction in_download_and_extract
- Rename
_substitude
→_substitute
and update references
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
dev/bazel/utils.bzl | Renamed typo in substitution helper (substitude → substitute ) |
dev/bazel/repos.bzl | Added logic to download and unpack .conda archives |
dev/bazel/deps/onedal.tpl.BUILD | Added @mkl//:mkl_thr to onedal dependencies |
dev/bazel/deps/mkl.tpl.BUILD | Replaced static .a libs with shared .so and added mkl_dpc_utils |
dev/bazel/deps/mkl.bzl | Updated libs list to reference .so files; removed mapping comment |
MODULE.bazel | Updated MKL URLs, checksums, and strip_prefixes for 2025.2.0 |
Comments suppressed due to low confidence (2)
dev/bazel/repos.bzl:31
- New extraction logic for '.conda' archives is introduced without tests; consider adding unit tests to verify this code path.
if filename.endswith(".conda"):
dev/bazel/repos.bzl:38
- String interpolation uses Path objects directly; convert 'entry' and 'output' to string paths (e.g., entry.path, output.path) to ensure the command runs correctly.
repo_ctx.execute(["bash", "-c", "unzstd '%s' --stdout | tar -xf - -C '%s'" % (entry, output)])
…/Alexandr-Solovev/oneDAL into dev/asolovev_bazel_sycl_libs_upd
/intelci: run |
/intelci: run |
Summary of changes:
.conda
archives (used in C++, without involving Python).substitude
→substitute
..a
) to dynamic (.so
) across for SYCL components.PR should start as a draft, then move to ready for review state after CI is passed and all applicable checkboxes are closed.
This approach ensures that reviewers don't spend extra time asking for regular requirements.
You can remove a checkbox as not applicable only if it doesn't relate to this PR in any way.
For example, PR with docs update doesn't require checkboxes for performance while PR with any change in actual code should have checkboxes and justify how this code change is expected to affect performance (or justification should be self-evident).
Checklist to comply with before moving PR from draft:
PR completeness and readability
Testing
Performance