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

IntelPython / dpnp / 32940309211
78%

Build:
DEFAULT BRANCH: master
Ran 26 Aug 2026 08:36AM 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

26 Aug 2026 06:55AM UTC coverage: 78.476% (-0.001%) from 78.477%
32940309211

push

github

web-flow
Fix abort in `dpnp.all` / `dpnp.any` over an empty axis (#3021)

`dpnp.all` and `dpnp.any` aborted the process when reducing over an
empty axis, e.g.:

```python
import dpnp
dpnp.all(dpnp.zeros((0, 3, 4)))          # reduces over 0 elements
dpnp.any(dpnp.zeros((0, 3, 4)), axis=0)  # zero-length reduced axis
```

`_boolean_reduction` always allocated a temporary and launched the
reduction kernel. When the reduced extent is zero (a reduced dimension
has length 0), the kernel is submitted with a zero-sized `nd_range`.
That is a silent no-op on a SYCL runtime built with `NDEBUG`, but aborts
on an assertions-enabled runtime, where `adjustNDRangePerKernel` asserts
`NDR.LocalSize[0] == 0` whenever `GlobalSize[0]` is `0`:

```
Assertion `NDR.LocalSize[0] == 0' failed.
  .../sycl/source/detail/scheduler/commands.cpp
  void sycl::_V1::detail::adjustNDRangePerKernel(...)
```

This PR proposes to short-circuit in `_boolean_reduction` when the
(permuted) input has no elements, building the result directly with the
reduction identity instead of launching a kernel. `all` uses identity
`True`, `any` uses `False`. A single `x_tmp.size == 0` check covers both
empty sub-cases correctly:

- empty output (a non-reduced dimension is zero) — the result is an
empty array, so the fill value is irrelevant;
- zero-length reduced axis (the output is non-empty) — the reduction
identity is the answer, e.g. `all([]) is True`, `any([]) is False`.

Note, the issue was identified when building with the nightly LLVM SYCL
compiler and
[running](https://github.com/antonwolfy/dpnp/actions/runs/31585418522/job/94078011200)
dpnp tests.
And the tests are
[passing](https://github.com/antonwolfy/dpnp/actions/runs/31595647966/job/94110377635)
now without any crash.

1546 of 2898 branches covered (53.35%)

Branch coverage included in aggregate %.

13 of 13 new or added lines in 1 file covered. (100.0%)

1 existing line in 1 file now uncovered.

26575 of 32936 relevant lines covered (80.69%)

8477.25 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 32940309211.1 26 Aug 2026 08:36AM UTC 263
78.48
GitHub Action Run
Source Files on build 32940309211
  • Tree
  • List 263
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #32940309211
  • 2d9d4770 on github
  • Prev Build on master (#32893948499)
  • Next Build on master (#32962476096)
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