Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add variable length loop kernels #3003

Merged
merged 20 commits into from
Feb 9, 2024

Conversation

ManasviGoyal
Copy link
Collaborator

@ManasviGoyal ManasviGoyal commented Feb 5, 2024

Added the following kernels:

  1. awkward_IndexedArray_ranges_next_64*
  2. awkward_IndexedArray_ranges_carry_next_64*
  3. awkward_ListArray_getitem_jagged_descend
  4. awkward_ListArray_getitem_jagged_numvalid*
  5. awkward_ListArray_getitem_next_range_spreadadvanced*
  6. awkward_ListOffsetArray_toRegularArray
  7. awkward_ListOffsetArray_rpad_length_axis1
  8. awkward_ListArray_broadcast_tooffsets*
  9. awkward_ListArray_localindex*
  10. awkward_ListOffsetArray_drop_none_indexes*
  11. awkward_ListOffsetArray_reduce_local_nextparents_64*
  12. awkward_ListOffsetArray_reduce_nonlocal_maxcount_offsetscopy_64
  13. awkward_UnionArray_regular_index_getsize

*variable-length inner loop (need to look for a way to optimize, added them to #2987)

Also, fixed awkward_ListArray_compact_offsets. Now we can generate tests for kernels where out arguments are also in arguments.

@ManasviGoyal ManasviGoyal added the gpu Concerns the GPU implementation (backend = "cuda') label Feb 5, 2024
@ManasviGoyal ManasviGoyal changed the title feat: add variable length kernels feat: add variable length loop kernels Feb 5, 2024
@ManasviGoyal ManasviGoyal force-pushed the ManasviGoyal/variable-length-kernels branch from 1702eb5 to 2dadbc8 Compare February 5, 2024 16:26
Copy link

codecov bot commented Feb 5, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (b749e49) 81.90% compared to head (416f6f7) 81.90%.
Report is 3 commits behind head on main.

Additional details and impacted files
Files Coverage Δ
src/awkward/_connect/cuda/__init__.py 0.00% <ø> (ø)

@codecov-commenter
Copy link

codecov-commenter commented Feb 6, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (b749e49) 81.90% compared to head (416f6f7) 81.90%.
Report is 13 commits behind head on main.

❗ Current head 416f6f7 differs from pull request most recent head 28bd029. Consider uploading reports for the commit 28bd029 to get more accurate results

Additional details and impacted files
Files Coverage Δ
src/awkward/_connect/cuda/__init__.py 0.00% <ø> (ø)

@ManasviGoyal
Copy link
Collaborator Author

@jpivarski there are a few more kernels that would fall in the same category but I think it would be better to do that in a new PR.

Copy link
Member

@jpivarski jpivarski left a comment

Choose a reason for hiding this comment

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

Looks great! I also checked it out and tested it on my GPU. It's nice to see only 2 xfails left in tests-cuda.

Feel free to merge at any time.

Also, you're right to break them up in separate PRs like this.

dev/generate-tests.py Show resolved Hide resolved
@ManasviGoyal ManasviGoyal merged commit b7eb8b9 into main Feb 9, 2024
40 checks passed
@ManasviGoyal ManasviGoyal deleted the ManasviGoyal/variable-length-kernels branch February 9, 2024 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gpu Concerns the GPU implementation (backend = "cuda')
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants