Skip to content

[PERF]: Use 256 kvikio threads by default in cudf-polars #23633

Description

@Matt711

kvikio's thread pool defaults to 8 threads (KVIKIO_NTHREADS). We're seeing much better results with 256 kvkio threads in our cloud benchmarks.

SF300, Q1 hot times (S3)

Config Default 256 threads
meta prefetch off ~1811s ~153s
meta prefetch on ~1641s ~86s

SF300, Q1 hot times (NVMe)

Config Default 256 threads
meta prefetch off ~29s ~29s
meta prefetch on ~33–38s ~33–38s

*These numbers we're done with #23558

So we'll set the default to 256 via kvikio.defaults.set("num_threads", 256) at engine startup. And make it overridable via CUDF_POLARS__EXECUTOR__KVIKIO_NTHREADS. If unset, we'll fall back to KVIKIO_NTHREADS, then 256.

xref #23551

Metadata

Metadata

Assignees

Labels

PerformancePerformance related issuecudf-polarsIssues specific to cudf-polars

Type

No type

Projects

Status
Todo
Status
No status
Status
Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions