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
@github-actions github-actions bot added this to Needs prioritizing in Other Issues Jun 19, 2020
@afender afender changed the title [ENH] Stream support in cugraph [ENH] Streams support in cugraph Jun 19, 2020
@BradReesWork BradReesWork moved this from Needs prioritizing to Hotfix -current release in Other Issues Jun 24, 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 removed this from P0 in v0.15 Release Jul 27, 2020
@BradReesWork BradReesWork moved this from Hotfix -current release to Next Release in Other Issues Aug 20, 2020
@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 added this to Needs Prioritization in v0.17 Release Oct 12, 2020
@BradReesWork BradReesWork modified the milestones: 0.17, 0.18 Nov 16, 2020
@BradReesWork BradReesWork added this to Needs Prioritization in v0.18 Release Nov 16, 2020
@BradReesWork BradReesWork removed this from Needs Prioritization in v0.17 Release Nov 16, 2020
@BradReesWork BradReesWork removed the Blocked Cannot progress due to external reasons label Jan 5, 2021
@BradReesWork BradReesWork moved this from Needs Prioritization to P2 in v0.18 Release Jan 5, 2021
@BradReesWork BradReesWork moved this from P2 to P1 in v0.18 Release Jan 6, 2021
@afender afender mentioned this issue Jan 29, 2021
@BradReesWork BradReesWork removed this from P1 in v0.18 Release Feb 1, 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
@BradReesWork BradReesWork added this to P0 in v0.19 Release Feb 1, 2021
@BradReesWork BradReesWork moved this from P0 to Algos and Prims in v0.19 Release Feb 3, 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
Other Issues automation moved this from Next Release to Closed Mar 5, 2021
v0.19 Release automation moved this from Algos and Prims to Done 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
No open projects
Development

Successfully merging a pull request may close this issue.

2 participants