-
Notifications
You must be signed in to change notification settings - Fork 89
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: combinations kernels #3150
Conversation
@ManasviGoyal whenever you've got something to try out lemme know! This should unlock most of the analysis query examples. |
Sure! I am still trying a few approaches. |
d607f75
to
2abe4cd
Compare
@lgray I have added the kernels for Also I noticed some issues with |
Great, I'll give it a try soon! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These implementations look good and they have tests. I've verified that all of the tests run correctly on my GPU. Do the tests include cases that cross CUDA blocks?
This is only for ak.combinations
with n=2
, right? Is there an error message if n != 2
and the backend is "cuda"
?
If yes, then this PR is ready to merge. Thanks!
Yes, I have added tests for |
Then it's ready to merge. Thanks! |
Once the macOS issue is solved I'll merge it. Thanks! |
I think, you can merge it now - MacOS is not relevant to the GPU kernels - it does not have CUDA. :-) |
@ianna For me it says that the required macOS tests must pass before I can merge. So I am unable to merge. |
The jobs that haven't succeeded haven't even started. I just re-triggered it, and they're still not starting. They're asking for MacOS 11, and I think that was retired on June 30, so that's why they're not starting (although GitHub ought to be failing with an error message if they really don't support an OS requested by the workflow. Maybe we're still in a transition period). This is updated to Although the changes here are not supposed to affect CPU implementations or MacOS, they can, in principle, so it would be proper to let these PRs wait for the MacOS fix before merging them. (This has some new kernel tests and changes some unit test infrastructure.) If necessary, we can manually test it on a Mac, maybe @ianna's (Intel) and mine (Apple Silicon), and then bypass the protection rules. But the MacOS fix will be needed eventually. Is it looking promising right now, @ianna? Do we need more help, e.g. from @henryiii or others? |
Yes, I have pinged @henryiii on the macos build PR. |
@jpivarski As discussed in the meeting, I have added the CuPy implementation of n = 3, 4, 5 cases (non lexicographic order, |
I just checked all of the CUDA tests for this branch in its current state. All is good! |
I haven't been able to test this properly at analysis scale because of the numba issue we ran into. Without confirming the final plots it appears to be making combinations as expected. |
@ianna if the tests pass, this one can be merged. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ManasviGoyal - Looks good! All tests pass. I'm going to merge it now. Thanks!
Implements combinations kernels for
n = 2
Added a study for
n = 3
,n = 4
andn = 5
(non lexicographic order)Also fixes some errors in a few kernels