Skip to content

feat: pass 'offsets' to reducer kernels (precursor to parent removal)#3883

Merged
ianna merged 24 commits into
scikit-hep:mainfrom
maxymnaumchyk:maxymnaumchyk/offsets-for-reducers
Feb 20, 2026
Merged

feat: pass 'offsets' to reducer kernels (precursor to parent removal)#3883
ianna merged 24 commits into
scikit-hep:mainfrom
maxymnaumchyk:maxymnaumchyk/offsets-for-reducers

Conversation

@maxymnaumchyk

@maxymnaumchyk maxymnaumchyk commented Feb 17, 2026

Copy link
Copy Markdown
Collaborator

Second step of introducing offsets for kernels. First step: #3865

Offsets are now being passed to these reducer kernels:

  • awkward_reduce_argmin
  • awkward_reduce_argmin_complex
  • awkward_reduce_sum
  • awkward_reduce_sum_complex
  • awkward_reduce_sum_int32_bool_64
  • awkward_reduce_sum_int64_bool_64
  • awkward_reduce_argmax_complex
  • awkward_reduce_argmax
  • awkward_reduce_prod
  • awkward_reduce_prod_bool
  • awkward_reduce_prod_complex
  • awkward_reduce_min
  • awkward_reduce_min_complex
  • awkward_reduce_max
  • awkward_reduce_max_complex
  • awkward_reduce_sum_bool
  • awkward_reduce_sum_bool_complex
  • awkward_reduce_prod_bool_complex

Except for:

  • awkward_reduce_count_64
  • awkward_reduce_countnonzero_complex
  • awkward_reduce_countnonzero

Disclaimer: I used the help of Claude for generating tests at kernel-test-data.json. I went through them and found some mistakes but I might've missed something.

@codecov

codecov Bot commented Feb 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.64%. Comparing base (52a0dca) to head (558c3bd).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
Files with missing lines Coverage Δ
src/awkward/_connect/cuda/_compute.py 0.00% <ø> (ø)
src/awkward/_reducers.py 98.12% <ø> (ø)

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

Copy link
Copy Markdown

The documentation preview is ready to be viewed at http://preview.awkward-array.org.s3-website.us-east-1.amazonaws.com/PR3883

maxymnaumchyk and others added 19 commits February 18, 2026 11:24
…sum_complex, awkward_reduce_sum_int32_bool_64, awkward_reduce_sum_int64_bool_64. (both CPU and cuda kernels)
…e_argmax kernels. (both CPU and cuda kernels)
…prod_bool, awkward_reduce_prod_complex. (both CPU and cuda kernels)
…mplex and awkward_reduce_argmax, awkward_reduce_prod, awkward_reduce_prod_bool, awkward_reduce_prod_complex.
… awkward_reduce_sum_bool kernels. (both CPU and cuda kernels)
… awkward_reduce_max, awkward_reduce_max_complex, awkward_reduce_min, awkward_reduce_min_complex
…_prod_bool_complex kernels. (both CPU and cuda kernels)
@maxymnaumchyk
maxymnaumchyk marked this pull request as ready for review February 19, 2026 15:25

@ianna ianna left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@maxymnaumchyk - great! All the kernels now take offsets consistently. We’ll define and start using them in the next PR. Thanks!

@ianna
ianna enabled auto-merge (squash) February 20, 2026 15:17
@ianna
ianna merged commit eb51191 into scikit-hep:main Feb 20, 2026
39 checks passed
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.

2 participants