kkraus14 commented on issue #38325: URL: https://github.com/apache/arrow/issues/38325#issuecomment-2015430867
> * For a CPU-only library, it is encouraged to implement both the standard and device version of the protocol methods (i.e. both `__arrow_c_array__` and `__arrow_c_device_array__`, and/or both `__arrow_c_stream__` and `__arrow_c_device_stream__`) I would be +1 on encouraging being able to _consume_ both protocols, but +0.5 on encouraging to produce both protocols. Agreed with @pitrou's comment about it being more effort with the only return being future proofing for potential non-cpu usage. I do think we should start discussing what does it look like for a CPU-only library to request data from a non-CPU library. I.E. if say Pandas wants to consume data produced by cuDF. Presuming we figure out a convenient api to pass that information to cuDF, would it return an `__arrow_c_device_array__` with the device as CPU or return an `__arrow_c_array__`? The former puts an onus on all consumers to support the device variants of the protocol. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
