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

[GraphBolt] Add recommended PyG example. #7183

Merged
merged 13 commits into from
Mar 6, 2024

Conversation

mfbalin
Copy link
Collaborator

@mfbalin mfbalin commented Mar 1, 2024

Description

Alternative recommended (for performance) way to use PyG with GraphBolt is demonstrated in this example. Should showcase most of the GraphBolt functionalities that we also make available for PyG users. We can use this example when comparing performance against the PyG original example in the release blog.

Feel free to push to my branch to change comments, the print format, ordering of functions, addition of timing or minor things like that.

Speedups on a DGX-A100 machine with two 64 core AMD EPYC CPUs and 4 A100's. We use only a single A100 in the runs.

node_classification_vs_pyg

Checklist

Please feel free to remove inapplicable items for your PR.

  • The PR title starts with [$CATEGORY] (such as [NN], [Model], [Doc], [Feature]])
  • I've leverage the tools to beautify the python and c++ code.
  • The PR is complete and small, read the Google eng practice (CL equals to PR) to understand more about small PR. In DGL, we consider PRs with less than 200 lines of core code change are small (example, test and documentation could be exempted).
  • All changes have test coverage
  • Code is well-documented
  • To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change
  • Related issue is referred in this PR
  • If the PR is for a new model/paper, I've updated the example index here.

Changes

@mfbalin mfbalin requested a review from Rhett-Ying March 1, 2024 03:31
@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 1, 2024

To trigger regression tests:

  • @dgl-bot run [instance-type] [which tests] [compare-with-branch];
    For example: @dgl-bot run g4dn.4xlarge all dmlc/master or @dgl-bot run c5.9xlarge kernel,api dmlc/master

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 1, 2024

Commit ID: ac075bf

Build ID: 1

Status: ⚪️ CI test cancelled due to overrun.

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 1, 2024

Commit ID: 04ff5f4

Build ID: 2

Status: ✅ CI test succeeded.

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 2, 2024

Commit ID: fc449af5c235ce1569d9a752798497e8ef706e25

Build ID: 3

Status: ⚪️ CI test cancelled due to overrun.

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 2, 2024

Commit ID: e55138234cc2f604ac1b584a5f49856f3a51bb32

Build ID: 4

Status: ⚪️ CI test cancelled due to overrun.

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 2, 2024

Commit ID: dee25f0

Build ID: 5

Status: ✅ CI test succeeded.

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 2, 2024

Commit ID: 50d15c4

Build ID: 6

Status: ✅ CI test succeeded.

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 5, 2024

Commit ID: 46c6862884a91547ea5cdfc2dd2658ecb4be23ed

Build ID: 7

Status: ⚪️ CI test cancelled due to overrun.

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 5, 2024

Commit ID: 8ab1f7a44ab9659eddd45ec23d12638f8a991902

Build ID: 8

Status: ✅ CI test succeeded.

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 5, 2024

Commit ID: 7ee3ec6

Build ID: 9

Status: ⚪️ CI test cancelled due to overrun.

Report path: link

Full logs path: link

@mfbalin
Copy link
Collaborator Author

mfbalin commented Mar 5, 2024

I was able to move the coo conversion into the model definition, making it a bit simpler to use. Since #7188 was merged, it is okay to do that now because torch compile still works even when gb.expand_indptr is being used in model forward. @frozenbugs

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 5, 2024

Commit ID: 73628d3

Build ID: 10

Status: ⚪️ CI test cancelled due to overrun.

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 5, 2024

Commit ID: a597abe

Build ID: 11

Status: ✅ CI test succeeded.

Report path: link

Full logs path: link

@mfbalin mfbalin requested a review from frozenbugs March 5, 2024 17:18
@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 5, 2024

Commit ID: 9d68595

Build ID: 12

Status: ✅ CI test succeeded.

Report path: link

Full logs path: link

@mfbalin
Copy link
Collaborator Author

mfbalin commented Mar 5, 2024

#7005 is demonstrated here with the cpu-pinned baseline.

@dgl-bot
Copy link
Collaborator

dgl-bot commented Mar 6, 2024

Commit ID: a5c753c

Build ID: 13

Status: ✅ CI test succeeded.

Report path: link

Full logs path: link

@mfbalin mfbalin merged commit 97b6631 into dmlc:master Mar 6, 2024
2 checks passed
@mfbalin mfbalin deleted the gb_cuda_recommended_pyg_example branch March 6, 2024 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants