Skip to content

Switch to conda-forge ocl-icd loader packages - #2905

Merged
antonwolfy merged 13 commits into
masterfrom
switch-to-conda-forge-ocl-icd
Aug 5, 2026
Merged

Switch to conda-forge ocl-icd loader packages#2905
antonwolfy merged 13 commits into
masterfrom
switch-to-conda-forge-ocl-icd

Conversation

@antonwolfy

@antonwolfy antonwolfy commented May 7, 2026

Copy link
Copy Markdown
Contributor

Switches the OpenCL ICD loader run dependency from intel-gpu-ocl-icd-system to the conda-forge loaders when building against a DPC++ compiler and runtime of 2026.1.1 or newer:

  • Linux: ocl-icd-system
  • Windows: khronos-opencl-icd-loader

The conda-forge loaders require compiler/runtime 2026.1.1+, so the choice is gated on the compiler version the package is built against. When building against an older compiler, the recipe keeps the legacy intel-gpu-ocl-icd-system package.

The -system variant on Linux is intentional: it symlinks the system-installed OpenCL ICD loader into the environment rather than bundling its own, so the Intel GPU driver's registered ICD is discovered correctly. Using the bundling ocl-icd package instead shadows the system loader and breaks device enumeration.

Decoupled compiler and oneMKL floors

The single required_compiler_and_mkl_version constant is split into two independent minimums, because the DPC++ compiler and oneMKL do not release in lockstep: the compiler has a 2026.1.1 build on the public channels, but mkl-devel-dpcpp only goes up to 2026.1.0. Keeping them coupled made a 2026.1.1 floor unsolvable.

  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to an issue with a reproducer?
  • Have you tested your changes locally for CPU and GPU devices?
  • Have you made sure that new changes do not introduce compiler warnings?
  • Have you checked performance impact of proposed changes?
  • Have you added documentation for your changes, if necessary?
  • Have you added your changes to the changelog?

@antonwolfy antonwolfy self-assigned this May 7, 2026
@github-actions

github-actions Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor

View rendered docs @ https://intelpython.github.io/dpnp/index.html

@github-actions

github-actions Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor

Array API standard conformance tests for dpnp=0.21.0dev3=py314h509198e_46 ran successfully.
Passed: 1376
Failed: 1
Skipped: 5

Comment thread conda-recipe/meta.yaml Outdated
antonwolfy and others added 2 commits May 7, 2026 17:05
Co-authored-by: ndgrigorian <46709016+ndgrigorian@users.noreply.github.com>
@coveralls

coveralls commented May 8, 2026

Copy link
Copy Markdown
Collaborator

Coverage Status

coverage: 78.411% (-0.003%) from 78.414% — switch-to-conda-forge-ocl-icd into master

@antonwolfy antonwolfy added this to the 0.21.0 release milestone Aug 3, 2026
@antonwolfy antonwolfy changed the title Switch to ocl-icd from conda-forge Switch to conda-forge ocl-icd loader packages Aug 3, 2026
@antonwolfy
antonwolfy marked this pull request as ready for review August 3, 2026 09:06
@antonwolfy
antonwolfy marked this pull request as draft August 3, 2026 09:45
@antonwolfy
antonwolfy marked this pull request as ready for review August 3, 2026 10:07
Comment thread conda-recipe/meta.yaml

@ndgrigorian ndgrigorian left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM aside from above point about updating comments

@antonwolfy

antonwolfy commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

The PR will be merged, once LKG on Linux for DPC++ compiler includes fixes from 2026.1.1 release.
Otherwise the internal Jenkins workflows will be failing.

@antonwolfy
antonwolfy merged commit ac5346b into master Aug 5, 2026
69 of 86 checks passed
@antonwolfy
antonwolfy deleted the switch-to-conda-forge-ocl-icd branch August 5, 2026 13:01
github-actions Bot added a commit that referenced this pull request Aug 5, 2026
Switches the OpenCL ICD loader run dependency from
`intel-gpu-ocl-icd-system` to the conda-forge loaders when building
against a DPC++ compiler and runtime of `2026.1.1` or newer:

- **Linux:** `ocl-icd-system`
- **Windows:** `khronos-opencl-icd-loader`

The conda-forge loaders require compiler/runtime `2026.1.1`+, so the
choice is gated on the compiler version the package is built against.
When building against an older compiler, the recipe keeps the legacy
`intel-gpu-ocl-icd-system` package.

The `-system` variant on Linux is intentional: it symlinks the
system-installed OpenCL ICD loader into the environment rather than
bundling its own, so the Intel GPU driver's registered ICD is discovered
correctly. Using the bundling `ocl-icd` package instead shadows the
system loader and breaks device enumeration.

## Decoupled compiler and oneMKL floors

The single `required_compiler_and_mkl_version` constant is split into
two independent minimums, because the DPC++ compiler and oneMKL do not
release in lockstep: the compiler has a `2026.1.1` build on the public
channels, but `mkl-devel-dpcpp` only goes up to `2026.1.0`. Keeping them
coupled made a `2026.1.1` floor unsolvable. ac5346b
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.

3 participants