[FEA] Don't copy data in to/from_dlpack when unnecessary
Open
feature request
libcudf
Python
- Dominant language
- C++
- Stars
- 9.8k
- Forks
- 1.1k
- Avg merge
- 3d 6m
- Merged PRs (30d)
- 278
Description
To `.to_dlpack()` and `.from_dlpack()` methods in cuDF currently always perform a copy to/from the DLTensor. This is reasonable for DataFrames, as the columns of a dataframe in cuDF are not contiguous in memory, nor are they always of the same data type.
For a Series however, I believe we should be able to zero-copy to and from DLPack. That is not the case today:
```python
>>> import cudf
>>> import cupy as cp
>>> s = cudf.Series([1, 2, 3])
>>> arr = cp.from_dlpack(s.to_dlpack())
>>> s._column.data.ptr
139742968545280
>>> arr.data.ptr
139742968545792
```
Contributor guide
Assessment
This issue has not been assessed yet.