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
[cudf] Thread memory resources through equality/hash row preprocessing (#23665)
A part of #20780.
Equality and hash `preprocessed_table` paths still allocated temps from the current device resource, so harness-based tests could not prove explicit MR routing. This change requires `cudf::memory_resources` on those APIs and updates callers accordingly.
- Equality/hash `preprocessed_table::create`, `self_comparator`, `two_table_comparator`, and `row_hasher` take required `mr` and use `mr.get_temporary_mr()` for preprocessing temps
- Call sites across join/groupby/hash/search/reductions/etc. pass an explicit `mr`
- Switch to `BaseFixtureWithHarness` and convert row-operator tests to use harness `stream()`/`resources()`, with TODOs where lexicographic still falls back to the current resource
- If a callsite introduces a `auto temp_mr = get_current_resource_ref()`, it replaces all `get_current_resouce_ref()` calls with `temp_mr` in that function scope.
## Latent bug fix
- In https://github.com/NVIDIA/cudf/blob/main/cpp/src/stream_compaction/unique.cu#L53 a transient column was allocated on `mr`, which should have been allocated on a `temp_mr`. Fixed
Authors:
- Niranda Perera (https://github.com/nirandaperera)
Approvers:
- Bradley Dice (https://github.com/bdice)
- Vyas Ramasubramani (https://github.com/vyasr)
URL: #23665
0 commit comments