Skip to content

feat: add variable length loop kernels#3003

Merged
ManasviGoyal merged 20 commits into
mainfrom
ManasviGoyal/variable-length-kernels
Feb 9, 2024
Merged

feat: add variable length loop kernels#3003
ManasviGoyal merged 20 commits into
mainfrom
ManasviGoyal/variable-length-kernels

Conversation

@ManasviGoyal

@ManasviGoyal ManasviGoyal commented Feb 5, 2024

Copy link
Copy Markdown
Collaborator

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
@codecov

codecov Bot commented Feb 5, 2024

Copy link
Copy Markdown

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

codecov-commenter commented Feb 6, 2024

Copy link
Copy Markdown

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
Copy Markdown
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.

@jpivarski jpivarski 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.

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.

Comment thread dev/generate-tests.py
@ManasviGoyal
ManasviGoyal merged commit b7eb8b9 into main Feb 9, 2024
@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.

3 participants