Hi Wes,

Thanks for the hints!

I have created a very minimal GPU support to pyarrow, see


https://github.com/apache/arrow/compare/master...Quansight:pearu-cuda-pyarrow?expand=1

This includes:
1. introducing libarrow_gpu that is built into pyarrow.lib_gpu extension
module, currently only CudaBuffer is exposed
2. updating cmake configuration files to detect libarrow_gpu.{so,a}
libraries
3. updating setup.py with new options --with{,out}-arrow-gpu and
PYARROW_BUILD_ARROW_GPU env variable support.

Let me know if something in my approach needs to be changed.

Regarding packaging:
1. FYI, there is a cudatoolkit-dev package in conda-forge:
  https://github.com/conda-forge/cudatoolkit-dev-feedstock

2. One approach is to introduce new conda packages arrow-cpp-gpu and
pyarrow-gpu that are build using -DARROW_GPU and --with-arrow-gpu,
respectively.

Best regards,
Pearu

On Wed, Aug 29, 2018 at 12:32 AM, Wes McKinney <wesmck...@gmail.com> wrote:

> hi Pearu,
>
> Sounds good to me; I had wanted to do it already but got caught up
> working on other things. You'll probably want to create
> libarrow_gpu.pxd since this is an optional library. Otherwise it
> should be reasonably straightforward.
>
> some relevant issues
>
> - https://issues.apache.org/jira/browse/ARROW-1424
> - https://issues.apache.org/jira/browse/ARROW-2512
>
> If we wanted to ship Python wheels and conda packages with CUDA
> support built in, what would we have to do (currently these binaries
> are produced in Circle CI, Travis CI, and Appveyor)?
>
> - Wes
> On Tue, Aug 28, 2018 at 4:34 PM Pearu Peterson
> <pearu.peter...@quansight.com> wrote:
> >
> > Hi,
> >
> > Is there any interest in implementing CudaBuffer support in pyarrow? Are
> > there any obstacles that would prevent to do this?
> >
> > I would be willing to give it a try.
> >
> > As I understand, the entry point for this task would be to patch
> > pyarrow/includes/libarrow.pxd . Any hints for what to take into account
> are
> > appreciated.
> >
> > Best regards,
> > Pearu
>

Reply via email to