Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update GNN sampling post processing functions to optionally consider seed vertices in renumbering #4329

Merged
merged 22 commits into from
Apr 19, 2024

Conversation

seunghwak
Copy link
Contributor

@seunghwak seunghwak commented Apr 9, 2024

Upon cugraph-pyg requests, this PR updates GNM sampling post processing functions to optionally consider seed vertices in renumbering.

Previously, seed vertices with 0 neighbors (to sample from) are ignored in renumbering. Once this PR is merged and if seed vertices is provided, seed vertices (regardless of whether they appear in the sampled edge list or not) will have a smaller vertex ID than vertices that first appear as seed vertices' neighbors or later hops.

Marked as non-breaking assuming that this functions are only internally used.

@seunghwak seunghwak requested a review from a team as a code owner April 9, 2024 17:06
@seunghwak seunghwak changed the title nujndkvfeekBug post processing Update GNN sampling post processing functions to optionally consider seed vertices in renumbering Apr 9, 2024
@seunghwak seunghwak added feature request New feature or request DO NOT MERGE Hold off on merging; see PR for details non-breaking Non-breaking change and removed DO NOT MERGE Hold off on merging; see PR for details labels Apr 9, 2024
@seunghwak seunghwak added this to the 24.06 milestone Apr 9, 2024
@seunghwak seunghwak added the DO NOT MERGE Hold off on merging; see PR for details label Apr 9, 2024
@alexbarghi-nv
Copy link
Member

I'm tentatively approving this, will give final approval once I test

@seunghwak seunghwak removed the DO NOT MERGE Hold off on merging; see PR for details label Apr 10, 2024
@ChuckHastings
Copy link
Collaborator

Should be able to merge once @alexbarghi-nv approves. Let us know how testing goes.

@alexbarghi-nv
Copy link
Member

I'm seeing a bug where memory addresses are getting corrupted. Not sure if it's on my end or if it's something this PR introduced. Still troubleshooting. Will post a MRE if I am able to isolate it to something in this PR.

@seunghwak
Copy link
Contributor Author

I'm seeing a bug where memory addresses are getting corrupted. Not sure if it's on my end or if it's something this PR introduced. Still troubleshooting. Will post a MRE if I am able to isolate it to something in this PR.

Have you set do_expensive_check to true?

@alexbarghi-nv
Copy link
Member

I'm seeing a bug where memory addresses are getting corrupted. Not sure if it's on my end or if it's something this PR introduced. Still troubleshooting. Will post a MRE if I am able to isolate it to something in this PR.

Have you set do_expensive_check to true?

I'll try that

@alexbarghi-nv
Copy link
Member

The error always occurs after the first call. The first call runs without any issues and produces the correct result. All subsequent calls either produce incorrect/garbage results, or fail with a memory access or frontier out of range error. When do_expensive_check is enabled, I get this error when trying to renumber the start vertices: Invalid input arguments: vertices have elements that are missing in (aggregate) renumber_map_labels.

@alexbarghi-nv
Copy link
Member

It looks like it may be something I introduced in my PR

@alexbarghi-nv
Copy link
Member

I couldn't replicate this with only the code in this PR

@alexbarghi-nv
Copy link
Member

I'm seeing a bug where memory addresses are getting corrupted. Not sure if it's on my end or if it's something this PR introduced. Still troubleshooting. Will post a MRE if I am able to isolate it to something in this PR.

I have now isolated and fixed the bug. It was an issue with data being improperly copied in my PR.

Copy link
Member

@alexbarghi-nv alexbarghi-nv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small change request. Otherwise good.

cpp/src/c_api/uniform_neighbor_sampling.cpp Show resolved Hide resolved
cpp/src/c_api/uniform_neighbor_sampling.cpp Show resolved Hide resolved
Copy link
Member

@alexbarghi-nv alexbarghi-nv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved, but we can't integrate this with dask+Python until that code gets refactored (#4358)

This is ready to go for the new distributed sampling framework, though, which just uses pylibcugraph and NCCL.

👍

@alexbarghi-nv
Copy link
Member

/merge

@rapids-bot rapids-bot bot merged commit 40b750d into rapidsai:branch-24.06 Apr 19, 2024
131 checks passed
@seunghwak seunghwak deleted the bug_post_processing branch May 22, 2024 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cuGraph feature request New feature or request non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants