Support __cuda_array_interface__
types without len()
#89
+27
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Support
__cuda_array_interface__
types that do not implement the__len__
method. Thedistributed.utils.nbytes
function that we currently use relies on determining the size of object using either the__len__
methods implemented by the type or thenbytes
attribute, which are not required by types that implement__cuda_array_interface__
, such aspylibcudf.gpumemoryview
. This change attempts to use the existingdistributed.utils.nbytes
function, and if that does not succeed then proceeds to calculate the size based on the attributes of__cuda_array_interface__
. Note that strides are not currently implemented.