• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IntelPython / dpnp / 30543440298
78%

Build:
DEFAULT BRANCH: master
Ran 30 Jul 2026 02:20PM UTC
Jobs 1
Files 263
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Jul 2026 12:39PM UTC coverage: 78.403% (-0.003%) from 78.406%
30543440298

push

github

web-flow
Work around missing OpenCL headers in Intel Windows conda package (#3010)

## Summary

The Windows conda build currently fails while compiling the C++/SYCL
backend:

```
%PREFIX%\Library\include\sycl\detail\cl.h(22,10): fatal error: 'CL/cl.h' file not found
   22 | #include <CL/cl.h>
```

This is **not** a dpnp source issue — it is an Intel oneAPI packaging
regression. This PR adds a workaround so the Windows build succeeds
again.

## Root cause

Starting with Intel oneAPI **2026.1.1**, the `intel-sycl-rt` conda
package no longer bundles the OpenCL headers (`CL/cl.h` and the rest of
`include/CL/*.h`), even though the SYCL headers still `#include
<CL/cl.h>`. This change was done by the packaging team to avoid conda
`ClobberWarnings` against conda-forge's `opencl-headers`/`ocl-icd`.

The fix was applied **asymmetrically** across platforms:

| `intel-sycl-rt` | Ships `CL/cl.h`? | `opencl-headers` dependency? |
dpnp build |
|---|---|---|---|
| Linux `2026.1.1-intel_325` | ❌ removed | ✅ `depends: opencl-headers
>=2025.06.13` | ✅ passes |
| Windows `2026.1.1-intel_327` | ❌ removed | ❌ **none** | ❌ fails |

So on Linux the header is still pulled in transitively via the new
`opencl-headers` dependency, while on Windows nothing provides `CL/cl.h`
and the backend fails to compile.

## Change

Add `opencl-headers` as a host dependency on Windows only:

```yaml
- opencl-headers  # [win]
```

conda-forge's `opencl-headers` installs `CL/cl.h` to
`%PREFIX%\Library\include\CL\cl.h`, which is already on the compiler
include path (`-external:I%PREFIX%\Library\include`), so no build-script
change is needed. Linux is left untouched since it already gets the
header transitively.

## Follow-up

This is a workaround. The proper fix is upstream: the Windows
`intel-sycl-rt` package should gain the same `opencl-headers` run
dependency that the Linux package received. Once that ships, this
workaround can be removed.

1546 of 2884 branches covered (53.61%)

Branch coverage included in aggregate %.

26469 of 32848 relevant lines covered (80.58%)

7919.84 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
86.29
-0.27% dpnp/tensor/_elementwise_common.py
Jobs
ID Job ID Ran Files Coverage
1 30543440298.1 30 Jul 2026 02:20PM UTC 263
78.4
GitHub Action Run
Source Files on build 30543440298
  • Tree
  • List 263
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30543440298
  • ffc67478 on github
  • Prev Build on master (#30472381019)
  • Next Build on master (#30552083777)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc