I've already given my vote here, but wanted to share a proof-of-concept C implementation (== copy an arbitrary valid ArrowArray to given a suitable device implementation) of the proposed spec that includes Apple Metal [1] and could include CUDA as well (I did Metal first since Matt already worked up an example with CUDA). The proposed structures were great to work with!
[1] https://github.com/apache/arrow-nanoarrow/pull/205 On Wed, May 31, 2023 at 2:19 PM Ian Cook <ianmc...@apache.org> wrote: > > +1 (non-binding). > > Thanks very much Matt for all the work you did here to solicit input from > other stakeholder communities. > > On Mon, May 22, 2023 at 12:02 PM Matt Topol <zotthewiz...@gmail.com> wrote: > > > Hello, > > > > Now that there's a rough consensus and a toy example POC[1], I would like > > to propose an official enhancement to the Arrow C-Data API specification as > > described in the PR[2]. The new ArrowDeviceArray/ArrowDeviceArrayStream > > structs would be considered "experimental" and the documentation would > > label them as such for the time being. > > > > Please comment, ask questions, and look at the PR and toy example POC as > > needed. > > > > The vote will be open for at least 72 hours. > > > > [ ] +1 Add this to the C-Data API > > [ ] +0 > > [ ] -1 Do not add this to the C-Data API because... > > > > Thank you very much everyone! > > -- Matt > > > > [1]: https://github.com/zeroshade/arrow-non-cpu > > [2]: https://github.com/apache/arrow/pull/34972 > >