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

IntelPython / dpnp / 34346092133
79%

Build:
DEFAULT BRANCH: master
Ran 09 Sep 2026 01:13PM 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

09 Sep 2026 11:32AM UTC coverage: 78.495%. Remained the same
34346092133

push

github

web-flow
Fix row corruption in batched multi-level cumulative scan (#3063)

## Summary

`dpnp.cumsum`, `dpnp.cumprod`, and their `nan`/`cumulative_*` variants
(including `dpnp.tensor.cumulative_sum`/`cumulative_prod`) could
silently return incorrect results when accumulating along an axis of a
multi-row array, with no error raised. The corruption is triggered when
the accumulation axis is long enough to require three or more reduction
levels in the internal block-scan (axis length greater than `chunk_size
** 2`, where `chunk_size = wg_size * n_wi`, i.e. roughly a million
elements on GPU and about four million on CPU) and the array has more
than one batch row. The elementwise total is conserved but redistributed
across rows.

## Root cause

In the batched scan driver `inclusive_scan_iter` (`accumulators.hpp`),
the intermediate block-scan fixup `update_local_chunks` passed a
`NoOpIndexer` for the per-row (iter) offset into the `src` buffer. The
intermediate block-scan buffers, however, are laid out strided per row
with a stride of `src_size`. The `local_scans` read already used the
correct `iter_gid * local_stride` offset, but the `src` write offset was
unstrided, so rows overwrote each other. This cancels out only when
`iter_nelems == 1` (a single row) or when fewer than three levels are
needed, which is why the bug went unnoticed.

## Fix

Give `update_local_chunks` a `Strided1DIndexer{iter_nelems, src_size}`
for the row offset instead of the `NoOpIndexer` (the within-row
`out_indexer` stays `NoOp`, since the level buffers are contiguous
within a row).

1546 of 2894 branches covered (53.42%)

Branch coverage included in aggregate %.

26632 of 33004 relevant lines covered (80.69%)

8616.1 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34346092133.1 09 Sep 2026 01:13PM UTC 263
78.49
GitHub Action Run
Source Files on build 34346092133
  • Tree
  • List 263
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #34346092133
  • d0548380 on github
  • Prev Build on master (#34257576592)
  • Next Build on master (#34359622736)
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