Skip to content

[FEA] Add a setup API for cuIO to help benchmarking #19009

@GregoryKimball

Description

@GregoryKimball

Is your feature request related to a problem? Please describe.
Currently, benchmarking tools like PDS include some pre-loading work to help complete cuIO setup that is done lazily.

https://github.com/pola-rs/polars-benchmark/blob/4924e48204dd0809c260c0b0fa2174682ba7480b/queries/polars/utils.py#L66

cuIO setup steps include:

  • loading cuFile (if enabled)
  • loading nvCOMP (if host compression, decompression is set to AUTO or OFF)
  • allocating KvikIO pinned buffers

Describe the solution you'd like
We should add an API to complete the buffer allocation and library loading, so that the first cuIO read has the same latency as the second read. The API would need to be public and have Python bindings (perhaps cudf::io::setup() or some other design would be fine)

Describe alternatives you've considered
Continue adding dummy IO steps to benchmarks.

Additional context
We talked about doing this automatically during import cudf, but it would add pressure to the overall import time. See #627

Metadata

Metadata

Assignees

No one assigned

    Labels

    cuIOcuIO issuefeature requestNew feature or requestlibcudfAffects libcudf (C++/CUDA) code.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions