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

[ENH] Streams support in cugraph #957

Closed
afender opened this issue Jun 19, 2020 · 1 comment · Fixed by #1435
Closed

[ENH] Streams support in cugraph #957

afender opened this issue Jun 19, 2020 · 1 comment · Fixed by #1435
Assignees
Labels
feature request New feature or request
Milestone

Comments

@afender
Copy link
Member

afender commented Jun 19, 2020

RAFT handle #815 comes with streams in it.
We should consider supporting these streams in cuGraph.

@afender afender added the ? - Needs Triage Need team to review and classify label Jun 19, 2020
@afender afender changed the title [ENH] Stream support in cugraph [ENH] Streams support in cugraph Jun 19, 2020
@BradReesWork BradReesWork added this to the 0.15 milestone Jun 24, 2020
@BradReesWork BradReesWork added feature request New feature or request and removed ? - Needs Triage Need team to review and classify labels Jun 24, 2020
@afender afender added the Blocked Cannot progress due to external reasons label Jul 27, 2020
@afender
Copy link
Member Author

afender commented Jul 27, 2020

blocked by #815

@BradReesWork BradReesWork modified the milestones: 0.15, 0.16 Aug 20, 2020
@BradReesWork BradReesWork modified the milestones: 0.16, 0.17 Oct 12, 2020
@BradReesWork BradReesWork modified the milestones: 0.17, 0.18 Nov 16, 2020
@BradReesWork BradReesWork removed the Blocked Cannot progress due to external reasons label Jan 5, 2021
@afender afender mentioned this issue Jan 29, 2021
@BradReesWork BradReesWork removed this from the 0.18 milestone Feb 1, 2021
@BradReesWork BradReesWork added this to the 0.19 milestone Feb 1, 2021
rapids-bot bot pushed a commit that referenced this issue Feb 4, 2021
### Description
Let the egonet graph of a node x be the subgraph that includes the neighborhood of x and all edges between them. Here is a basic description (1-hop, single seed) :
- Add center node x to the graph.
- Go through all the neighbors y of this center node x, add edge (x, y) to the graph. 
- For each neighbor y of center node x, go through all the neighbors z of center node x, if there is an edge between y and z in the original graph, add edge (y, z) to our new graph. 

### Proposed solution
Rather than doing custom one/two hops features, we propose a generic k-hops solution leveraging BFS with cutoff to identify neighbors within a given radius. 

In addition to the single source version (matching what's available in Nx), we propose to handle multiple sources (seeds) at once which allows better performances.

This PR also enables a path in the experimental stack for returning multiple graphs (edge list format) from CUDA prims to python without using the legacy classes.

As future work, we want to enable concurrency for the cutoff BFS for each seed. This is dependent of #957 

Close #475

Authors:
  - Alex Fender (@afender)
  - @Iroy30

Approvers:
  - @Iroy30
  - Brad Rees (@BradReesWork)

URL: #1365
@rapids-bot rapids-bot bot closed this as completed in #1435 Mar 5, 2021
rapids-bot bot pushed a commit that referenced this issue Mar 5, 2021
- Stream synchronization behavior: switched to per-thread default stream instead of the legacy default stream
- Update raft tag
- EgoNet upgrade to use `uvector` instead of `device_vector`
- EgoNet upgrade to execute on a different stream for each seed
- Perf analysis timers/app for EgoNet

Concurrency is limited by the number of available blocks on the device. Thrust-based codes may request a lot of blocks without a way to control this. In practice, smaller graphs leverage concurrency better than larger ones where tasks may end up waiting for available resources.

We may wait on #1407 before reconciling and merging this
Close #957

Authors:
  - Alex Fender (@afender)

Approvers:
  - Seunghwa Kang (@seunghwak)
  - Andrei Schaffer (@aschaffer)

URL: #1435
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants