-
Notifications
You must be signed in to change notification settings - Fork 310
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
Create Selection primitive #2580
Milestone
Comments
This was referenced Aug 12, 2022
rapids-bot bot
pushed a commit
that referenced
this issue
Aug 24, 2022
…ossible duplicates (#2584) Partially address #2580 Update vertex_frontier_t to take unsorted input (tagged-)vertex list with possible duplicates. This will be used to define a selection primitive. The primitive needs to take a (tagged-)vertex list to support Node2Vec style algorithms (tagged with the predecessor vertex ID or some derived property from the current vertex predecessor vertex pairs). Breaking as primitives API has been changed (`vertex_frontier_t` and `transform_reduce_v_frontier_outgoing_e_by_dst`). Authors: - Seunghwa Kang (https://github.com/seunghwak) Approvers: - Joseph Nke (https://github.com/jnke2016) - Chuck Hastings (https://github.com/ChuckHastings) - Naim (https://github.com/naimnv) URL: #2584
rapids-bot bot
pushed a commit
that referenced
this issue
Aug 25, 2022
Partially address #2580. This PR is dependent on #2584. This PR defines API for two selection primitives, one for the biased sampling/random walk and another for uniform random sampling/random walk. @ChuckHastings For Node2Vec style random walk, We can compute intersections for each (previous vertex, current vertex pairs). We need to first create a non-detail space primitive calling detail::nbr_intersection (https://github.com/rapidsai/cugraph/blob/branch-22.10/cpp/src/prims/detail/nbr_intersection.cuh#L492) for given vertex pairs (this can be used for Jaccard and Overlap coefficients as well). In MG, each GPU should store neighbor intersection outputs for the relevant source/destination ranges (not sure whether should we create additional utility functions to handle this, or this may not be a recurring pattern, so just leave this task much more as a dark magic for advanced users who understand how the 2D partitioning actually works). May go for the latter till we see this pattern occurring in other places. Once we have neighbor intersection outputs and previous vertex IDs for the relevant (previous vertex ID, current vertex ID) pairs, we can create `frontier` having tagged-current vertex ID values (tag is an index to access previous vertex ID and neighbor intersection outputs for the perv vertex, current vertex pair). Then, `e_bias_op` can check whether the outgoing neighbor belongs to the intersection or coincides with the previous vertex to properly set bias values. Authors: - Seunghwa Kang (https://github.com/seunghwak) Approvers: - Chuck Hastings (https://github.com/ChuckHastings) - Joseph Nke (https://github.com/jnke2016) URL: #2586
rapids-bot bot
pushed a commit
that referenced
this issue
Sep 14, 2022
This PR defines a uniform random walk implementation using the neighborhood sampling functions. This will be refactored once the new sampling primitive (#2580) is implemented, but should provide a stronger starting point than the original code. Partially addresses #2555 Authors: - Chuck Hastings (https://github.com/ChuckHastings) Approvers: - Seunghwa Kang (https://github.com/seunghwak) URL: #2585
This issue has been labeled |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Create new Selection primitive for use by Neighbor sampling and Random walks.
The text was updated successfully, but these errors were encountered: