Overview of the Arrow C Device data interface
mainThe Arrow C Device data interface is an experimental extension of the existing C Data Interface. While the standard C Data Interface assumes all data buffers reside in CPU memory, the Device interface allows for the exchange of Arrow-formatted data residing on non-CPU hardware, such as GPUs (e.g., via NVIDIA CUDA) or FPGAs.
By adding a small, stable set of C definitions to the existing interface, it enables zero-copy sharing of device memory between independent runtimes and components within the same process. This avoids expensive host-to-device and device-to-host memory copies when passing data between different libraries or runtimes.