Skip to content

feat: [internal][cuda] Add lazy IR scheduling layer#3792

Closed
ianna wants to merge 16 commits into
scikit-hep:mainfrom
ianna:ianna/experimental_lazy_ir_scheduling
Closed

feat: [internal][cuda] Add lazy IR scheduling layer#3792
ianna wants to merge 16 commits into
scikit-hep:mainfrom
ianna:ianna/experimental_lazy_ir_scheduling

Conversation

@ianna

@ianna ianna commented Jan 7, 2026

Copy link
Copy Markdown
Member

This PR adds a small, internal lazy scheduling layer for CUDA-backed Awkward execution.

It introduces explicit IR nodes for a subset of list operations and defers kernel execution until results are requested. The code lives in _connect/cuda, reuses existing kernels, and does not affect any public APIs.

Closes #3794

@ianna ianna requested a review from maxymnaumchyk January 7, 2026 15:49
@codecov

codecov Bot commented Jan 7, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0.38314% with 780 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.56%. Comparing base (0f7ecc8) to head (68d314f).
⚠️ Report is 127 commits behind head on main.

Files with missing lines Patch % Lines
src/awkward/_connect/cuda/helpers.py 0.00% 213 Missing ⚠️
src/awkward/_connect/cuda/_ir.py 0.00% 140 Missing ⚠️
src/awkward/_connect/cuda/ir_nodes.py 0.00% 126 Missing ⚠️
src/awkward/_connect/cuda/_lazy_impl.py 0.00% 117 Missing ⚠️
src/awkward/_connect/cuda/_executor.py 0.00% 112 Missing ⚠️
src/awkward/_connect/cuda/_segment_algorithms.py 0.00% 68 Missing ⚠️
src/awkward/_connect/cuda/__init__.py 33.33% 4 Missing ⚠️
Additional details and impacted files
Files with missing lines Coverage Δ
src/awkward/__init__.py 97.22% <100.00%> (+0.07%) ⬆️
src/awkward/_connect/cuda/__init__.py 28.84% <33.33%> (+28.84%) ⬆️
src/awkward/_connect/cuda/_segment_algorithms.py 0.00% <0.00%> (ø)
src/awkward/_connect/cuda/_executor.py 0.00% <0.00%> (ø)
src/awkward/_connect/cuda/_lazy_impl.py 0.00% <0.00%> (ø)
src/awkward/_connect/cuda/ir_nodes.py 0.00% <0.00%> (ø)
src/awkward/_connect/cuda/_ir.py 0.00% <0.00%> (ø)
src/awkward/_connect/cuda/helpers.py 0.00% <0.00%> (ø)

... and 2 files with indirect coverage changes

@github-actions

github-actions Bot commented Jan 7, 2026

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/PR3792

Comment thread src/awkward/_connect/cuda/_lazy_impl.py Outdated
@ianna ianna requested a review from maxymnaumchyk January 22, 2026 08:51
@ianna ianna added the pr-on-hold This PR is inactive due to a pending decision or other constraint label Apr 2, 2026
@TaiSakuma TaiSakuma added the type/feat PR title type: feat (set automatically) label Jun 12, 2026
@ianna

ianna commented Jul 2, 2026

Copy link
Copy Markdown
Member Author

This implementation has been re-based and updated in #4173. Closing this one.

@ianna ianna closed this Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-on-hold This PR is inactive due to a pending decision or other constraint type/feat PR title type: feat (set automatically)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Lazy IR scheduling layer

3 participants