Skip to content

Add memory_resources support for gather - #23690

Draft
nirandaperera wants to merge 18 commits into
NVIDIA:mainfrom
nirandaperera:gather-memory-resources
Draft

Add memory_resources support for gather#23690
nirandaperera wants to merge 18 commits into
NVIDIA:mainfrom
nirandaperera:gather-memory-resources

Conversation

@nirandaperera

@nirandaperera nirandaperera commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Description

Depends on #23665 #23688

A part of #20780.

  • Port public and detail gather, list/segmented gather, and sizes-to-offsets helpers to take cudf::memory_resources, routing output and temporary allocations explicitly.
  • Update gathering tests to pass stream/memory_resources; wrap non-list gather calls in scoped fail_on_current_device_resource_use() where safe.
  • Leave list/segmented and slice-dependent struct cases without strict current-MR enforcement, with TODOs for blockers (valid_if, slice/get_sliced_child, concatenate, nested list-wrapper construction).

Test plan

  • COPYING_TEST --gtest_filter='Gather*:SegmentedGather*:StructGather*:TypedStructGather*'

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@copy-pr-bot

copy-pr-bot Bot commented Aug 17, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@nirandaperera
nirandaperera changed the base branch from main to pull-request/23665 August 17, 2026 22:36
@github-actions github-actions Bot added the libcudf Affects libcudf (C++/CUDA) code. label Aug 17, 2026
@nirandaperera
nirandaperera changed the base branch from pull-request/23665 to main August 17, 2026 22:42
@bdice bdice changed the title [cudf] Add memory_resources suppor for gather [cudf] Add memory_resources support for gather Aug 18, 2026
Expose scoped fail_on_current_device_resource_use() on BaseFixtureWithHarness,
add recursive list initializers for explicit stream/mr nesting, and port list
gather test construction sites without changing gather production APIs.
Correct over-nested lists_column_initializer constructions and restore
base empty-row brace patterns so list/segmented gather harness tests pass.
Signed-off-by: niranda perera <niranda.perera@gmail.com>
@nirandaperera nirandaperera changed the title [cudf] Add memory_resources support for gather [libcudf] Add memory_resources support for gather Aug 18, 2026
nirandaperera and others added 10 commits August 19, 2026 21:53
Co-authored-by: Bradley Dice <bdice@bradleydice.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
@nirandaperera nirandaperera changed the title [libcudf] Add memory_resources support for gather Add memory_resources support for gather Aug 25, 2026
Route gather, list/segmented gather, and sizes-to-offsets through explicit
output/temporary resources. Enable fail_on_current around non-list gather
tests; leave list and slice-dependent cases with TODOs for transitive ports.
Avoid ambiguous empty fixed_width/list wrappers with stream/mr args, drop
fail_on_current around struct gather blocked by slice/get_sliced_child, and
use DONT_CHECK for in-bounds sliced struct gather so nullability matches.
@nirandaperera
nirandaperera force-pushed the gather-memory-resources branch from 11e712b to 656d82f Compare August 25, 2026 23:38
@nirandaperera nirandaperera added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Aug 25, 2026
@nirandaperera

Copy link
Copy Markdown
Contributor Author

/ok to test 656d82f

Signed-off-by: niranda perera <niranda.perera@gmail.com>
@nirandaperera

Copy link
Copy Markdown
Contributor Author

/ok to test 4935b91

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant