Skip to content

[FEA] Replace cudf Column and Buffers APIs with pylibcudf and public cuDF APIs #579

@mroeschke

Description

@mroeschke

Is your feature request related to a problem? Please describe.
cuDF has considered APIs under the cudf.core namespace private for a while now and have made efforts to reduce its usage in other projects, rapidsai/cudf#15240. cuDF would like to continue making improvement to its internals and doesn't necessarily guarantee stability from functionality in cudf.core

Describe the solution you'd like
AFAICT, the follow files use functionality from cudf.core

https://github.com/NVIDIA/cuopt/blob/main/python/cuopt/cuopt/distance_engine/waypoint_matrix_wrapper.pyx
https://github.com/NVIDIA/cuopt/blob/main/python/cuopt/cuopt/routing/utils_wrapper.pyx
https://github.com/NVIDIA/cuopt/blob/main/python/cuopt/cuopt/linear_programming/solver/solver_wrapper.pyx
https://github.com/NVIDIA/cuopt/blob/main/python/cuopt/cuopt/routing/vehicle_routing_wrapper.pyx

And the following APIs are used

  • as_buffer
    • This appears to be used in conjunction with col_from_buf to create a cudf Column from an RMM buffer to eventually be set in a DataFrame. Both functions can be largely replaced with:
import pylibcudf as plc

plc_column = plc.Column.from_rmm_buffer(rmm_buffer, plc.DataType(plc.TypeId.<THE_TYPE>), size, [])
series = plc.Series.from_pylibcudf(plc_column)
dataframe["label"] = series
  • ColumnAccessor
    • This usage appears like an unused import and can be removed

Additional context
If some cudf Column methods are used, there will most likely be a corresponding public API available on cudf.Series. Happy to provide guidance when needed.

Metadata

Metadata

Assignees

Labels

awaiting responseThis expects a response from maintainer or contributor depending on who requested in last comment.feature requestNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions