Skip to content

feat: drop dpc static for windows#3600

Merged
Alexandr-Solovev merged 15 commits into
uxlfoundation:mainfrom
Alexandr-Solovev:dev/asolovev_drop_static_win_dpc
May 15, 2026
Merged

feat: drop dpc static for windows#3600
Alexandr-Solovev merged 15 commits into
uxlfoundation:mainfrom
Alexandr-Solovev:dev/asolovev_drop_static_win_dpc

Conversation

@Alexandr-Solovev
Copy link
Copy Markdown
Contributor

@Alexandr-Solovev Alexandr-Solovev commented Apr 9, 2026

Description

This PR removes the static DPC library for oneDAL on Windows.

Motivation

Recent changes in MKL mean that static DPC libraries are no longer provided. As a result, continuing to build and link against a static DPC library on Windows is no longer possible and leads to build/link inconsistencies.

Changes

  • Removed usage of the static DPC library in oneDAL (Windows-specific)
  • Updated build configuration to rely on supported (dynamic) alternatives

Impact

  • Affects only Windows builds
  • No functional changes expected at runtime
  • Aligns the project with the current MKL distribution model

Notes

This change ensures compatibility with the latest MKL versions and avoids relying on artifacts that are no longer shipped.


Checklist:

Completeness and readability

  • I have commented my code, particularly in hard-to-understand areas.
  • I have updated the documentation to reflect the changes or created a separate PR with updates and provided its number in the description, if necessary.
  • Git commit message contains an appropriate signed-off-by string (see CONTRIBUTING.md for details).
  • I have resolved any merge conflicts that might occur with the base branch.

Testing

  • I have run it locally and tested the changes extensively.
  • All CI jobs are green or I have provided justification why they aren't.
  • I have extended testing suite if new functionality was introduced in this PR.

Performance

  • I have measured performance for affected algorithms using scikit-learn_bench and provided at least a summary table with measured data, if performance change is expected.
  • I have provided justification why performance and/or quality metrics have changed or why changes are not expected.
  • I have extended the benchmarking suite and provided a corresponding scikit-learn_bench PR if new measurable functionality was introduced in this PR.

@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev Alexandr-Solovev force-pushed the dev/asolovev_drop_static_win_dpc branch from 0f237fe to 3492694 Compare April 9, 2026 11:25
@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev Alexandr-Solovev force-pushed the dev/asolovev_drop_static_win_dpc branch from 48d4620 to 7ae2d0c Compare April 9, 2026 16:18
@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev Alexandr-Solovev force-pushed the dev/asolovev_drop_static_win_dpc branch from 3d76c41 to 7ae2d0c Compare April 9, 2026 16:41
@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev Alexandr-Solovev force-pushed the dev/asolovev_drop_static_win_dpc branch from 063e848 to 902e65b Compare April 10, 2026 09:32
@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev Alexandr-Solovev changed the title experimental win drop feat: drop dpc static for windows Apr 10, 2026
@Vika-F Vika-F requested a review from Copilot April 10, 2026 13:49
Copy link
Copy Markdown
Contributor

Copilot AI left a 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 top-level Make build to stop producing Windows DPC++ static libraries and instead rely on the DPC++ DLL + its import library for packaging/release.

Changes:

  • Remove Windows-only DPC++ static library naming, object lists, and build rules for onedal_dpc and onedal_parameters_dpc.
  • Update release library lists/targets to publish only the DPC++ DLL and its _dll.lib import library on Windows.
  • Simplify top-level DPC targets to depend only on the DPC++ dynamic library outputs.

Comment thread makefile Outdated
ifdef OS_is_win
release.ONEAPI.LIBS_A.dpc := $(oneapi_a.dpc) \
$(if $(OS_is_win),$(foreach ilib,$(oneapi_a.dpc),$(ilib:%.lib=%_dll.lib)),)
release.ONEAPI.LIBS_A.dpc := $(oneapi_y.dpc:%.$(MAJORBINARY).dll=%_dll.lib)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The changes look good, I only have concern about the naming.
_A suffix in this file is related to static libraries, and this is not really a static library. The comment is there, but the code that uses this variable can look misleading anyway.
Maybe something like release.ONEAPI.LIBS_Y.dll.lib.dpc ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

what do you think about release.ONEAPI.LIBS_Y.import.dpc?

Comment thread makefile
@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev Alexandr-Solovev added the dependencies Pull requests that update a dependency file label Apr 13, 2026
@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev Alexandr-Solovev marked this pull request as ready for review April 30, 2026 05:50
Copy link
Copy Markdown
Contributor

@Vika-F Vika-F left a comment

Choose a reason for hiding this comment

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

Sorry for the delay. LGTM.

@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev
Copy link
Copy Markdown
Contributor Author

/intelci: run

@Alexandr-Solovev Alexandr-Solovev merged commit 72f02f9 into uxlfoundation:main May 15, 2026
21 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants