-
Notifications
You must be signed in to change notification settings - Fork 34
Move to nanobind #455
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
base: main
Are you sure you want to change the base?
Move to nanobind #455
Conversation
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.
Oh wow, that looks super cool! Addresses all my previous concerns about manual specification of magic numbers for chunking, repetitive kernel wrapper code, and so on!
from rapids_singlecell._cuda import _qc_cuda as _qc | ||
|
||
if sparse.isspmatrix_csr(X): | ||
_qc.sparse_qc_csr( |
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.
ditto, for all of these
2105d37
to
dddd9e8
Compare
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.
Looks awesome!
I didn’t go through the C++ code assuming it’s a straight port.
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.
would be good to check if these two are the same except from the base image. there’s already some drift with the comments and indentation!
Todo:
|
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.
Please add positional-only arguments.
also please answer #455 (comment)
Figure out if pointers or nb:arrays are the better option for passing arg
probably arrays, why would you do pointers if nanobind
has first-class numba support?
most importantly, I see some int(something.data.ptr)
, you should definitely never do that.
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.
Looks good!
This for now is a test with precompiled cuda extensions.