You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tuning cudf-polars' I/O and memory-admission settings today is mostly guesswork. max_concurrent_io_tasks (#23552) and target_partition_size (#23549) are what prompted this, but the same blind spot applies to num_py_executors, kvikio_nthreads, pinned memory, and any future auto-tuning work. We audited cudf-polars, rapidsmpf, and kvikio and found the same pattern in all three: the raw signal usually already exists somewhere in the C++ layer, but is discarded, folded into an aggregate that's too coarse, or never wired up. Most of this list is "turn on a light that's already wired," not new sensor design.
Goal: give sweeps, benchmark runs, and future tuning work a way to tell what's actually causing a result, instead of guessing.
Problem
Tuning cudf-polars' I/O and memory-admission settings today is mostly guesswork.
max_concurrent_io_tasks(#23552) andtarget_partition_size(#23549) are what prompted this, but the same blind spot applies tonum_py_executors,kvikio_nthreads, pinned memory, and any future auto-tuning work. We audited cudf-polars, rapidsmpf, and kvikio and found the same pattern in all three: the raw signal usually already exists somewhere in the C++ layer, but is discarded, folded into an aggregate that's too coarse, or never wired up. Most of this list is "turn on a light that's already wired," not new sensor design.Goal: give sweeps, benchmark runs, and future tuning work a way to tell what's actually causing a result, instead of guessing.
Related
max_io_threadsfrom the public API and derive it automatically #23552max_concurrent_io_tasksdefaulttarget_partition_sizedefaultkvikio_nic: an nsys plugin that samples per-interface NIC bandwidth and places it on the nsys timeline alongside CUDA/NVTX traces.Add an I/O observation facility, and Add I/O statistics: totals of what a run read and wrote rapidsai/kvikio#1036,Add I/O statistics: totals of what a run read and wrote: theObservation/Summary/SummaryMonitormachinery the kvikio sub-issues in this story build on.Report kvikio I/O statistics per rank in the streaming engines: recent cudf-polars work surfacing kvikio'sSummaryper rank, the current baseline the kvikio sub-issues in this story go beyond.Statistics::record_copyand consolidate copy/spill statistics rapidsai/rapidsmpf#875,Introduce Statistics::record_copy and consolidate copy/spill statistics, and Stream ordered timings rapidsai/rapidsmpf#882,Stream ordered timings: the most recent rapidsmpf statistics work, and the direct predecessor of Wire real spill instrumentation intoSpillManagerrapidsai/rapidsmpf#1166.cudf-polars 1k ndsh runs show malformed spill stats: a live report of the same gap Wire real spill instrumentation intoSpillManagerrapidsai/rapidsmpf#1166 is about.[Discussion] Implement backpressure when allocating buffers for incoming payloads on a rank: related to Instrument the reservation admission / forced-progress path rapidsai/rapidsmpf#1165, though scoped to the shuffler specifically rather than I/O reads generally.