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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] GPU traversal #1050

Open
yzh119 opened this issue Nov 27, 2019 · 3 comments
Open

[Feature] GPU traversal #1050

yzh119 opened this issue Nov 27, 2019 · 3 comments
Labels
help wanted Need helps from the community

Comments

@yzh119
Copy link
Member

yzh119 commented Nov 27, 2019

馃殌 Feature

GPU traversal (dfs/bfs/topological/...)

Motivation

Currently we only implement single thread traversal on CPU, it's not efficient and the frontiers cannot be generated on-the-fly with message passing.

Pitch

This feature is important for users who are dealing with graphs with a large number of nodes(edges), e.g. @nforest is working on program analysis where dgl traversal becomes their bottleneck.

There has been many literatures working on Graph Traversal on GPU, to name a few:

  1. Gunrock: GPU Graph Analytics, TOPC
  2. GPU-based Graph Traversal on Compressed Graphs, SIGMOD
  3. ...

we can borrow the ideas from these papers and make a traversal on GPU that could generate frontiers on-the-fly with the execution of message function and reduce function. As the design of our built-in function is based on (a minimized) gunrock, I suppose it would not be too hard to implement a gunrock-like traversal algorithm.

@yzh119 yzh119 added enhancement RFC Request for comment labels Nov 27, 2019
@jermainewang
Copy link
Member

I mentioned this feature in my RFC #1120 here. I feel at the moment it is too early to work on this unless you have some quick and efficient solutions in mind. I will re-label it as help wanted and we could revisit this once we have more concrete ideas.

@jermainewang jermainewang added help wanted Need helps from the community and removed RFC Request for comment enhancement labels Dec 19, 2019
@jermainewang
Copy link
Member

BTW, it might worth integrating cugraph into DGL.

@VoVAllen
Copy link
Collaborator

I agree. Traditional graph algorithms are also useful. Providing such interfaces could attract more users.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Need helps from the community
Projects
None yet
Development

No branches or pull requests

3 participants