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] Allow using multiple processes for GraphBolt partition conversion #7497

Merged
merged 10 commits into from
Jul 30, 2024

Conversation

thvasilo
Copy link
Contributor

@thvasilo thvasilo commented Jul 1, 2024

Description

Add option to use multi-processing to speed up conversion of DGL to GraphBolt partitions.

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

@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 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 Jul 1, 2024

Commit ID: 644ad13a34ddc91aa20c21c5848d6c29d17fcf61

Build ID: 1

Status: ✅ CI test succeeded.

Report path: link

Full logs path: link

@thvasilo thvasilo changed the title [GraphBolt] Allow using multiple processes for GraphBolt partition co… [GraphBolt] Allow using multiple processes for GraphBolt partition conversion Jul 22, 2024
@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 22, 2024

Commit ID: e44aecddf1196c1453e2897f2e26742e5a21d9e9

Build ID: 2

Status: ⚪️ CI test cancelled due to overrun.

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 22, 2024

Commit ID: 05a6da3d9c3c50049ddb826994aacd4ca9c96675

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 Jul 22, 2024

Commit ID: 4e150ecca541e532b2aa14ef7ec55d43441bf47e

Build ID: 4

Status: ✅ CI test succeeded.

Report path: link

Full logs path: link

@thvasilo
Copy link
Contributor Author

@Rhett-Ying updated to use Python libs for mp

@thvasilo thvasilo marked this pull request as draft July 22, 2024 22:45
@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 22, 2024

Commit ID: 17ba4689649310c7f1aa0e58b6eeb98059874748

Build ID: 5

Status: ✅ CI test succeeded.

Report path: link

Full logs path: link

@thvasilo thvasilo marked this pull request as ready for review July 22, 2024 23:22
@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 22, 2024

Commit ID: 1daf5c2c0d483d42a74077b499046d59dd478107

Build ID: 6

Status: ❌ CI test failed in Stage [Lint Check].

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 22, 2024

Commit ID: 61aaff2944c33570e847748deee9ef4dad31f4c1

Build ID: 7

Status: ❌ CI test failed in Stage [Lint Check].

Report path: link

Full logs path: link

Copy link
Collaborator

@Rhett-Ying Rhett-Ying left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add dedicated test for this change into https://github.com/dmlc/dgl/blob/master/tests/distributed/test_partition.py. and As distributed tests are disabled in CI. please run the tests(all in test_partition at least) in your local.

@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 25, 2024

Commit ID: bab12decdc0ba55942ae84441952e3f13c2a927e

Build ID: 8

Status: ❌ CI test failed in Stage [Lint Check].

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 26, 2024

Commit ID: 8af82daaab829a5fade91f0c1d345a822117bb47

Build ID: 9

Status: ❌ CI test failed in Stage [Lint Check].

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 26, 2024

Commit ID: 2576900ee362b7b44b2044183d4941c05c612373

Build ID: 10

Status: ❌ CI test failed in Stage [Lint Check].

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 26, 2024

Commit ID: bc1e7a3a600571d9fc498a4579e2a206ba40b8ed

Build ID: 11

Status: ❌ CI test failed in Stage [Lint Check].

Report path: link

Full logs path: link

@thvasilo
Copy link
Contributor Author

@Rhett-Ying could you take another look? I've had to use spawn for the multi-processing, otherwise the processes would hang. My guess is that it was happening because of the CAPI calls not acquiring/releasing the GIL correctly?

python/dgl/distributed/partition.py Outdated Show resolved Hide resolved
python/dgl/distributed/partition.py Show resolved Hide resolved
python/dgl/distributed/partition.py Outdated Show resolved Hide resolved
@Rhett-Ying
Copy link
Collaborator

please fix the lint check error

@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 30, 2024

Commit ID: 32b50b33605631f512622e4b5bb1b6b840e86708

Build ID: 12

Status: ❌ CI test failed in Stage [Lint Check].

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 30, 2024

Commit ID: 06e59b8fb1dc4c63e0596c3577bc6d4ce43b6f90

Build ID: 13

Status: ⚪️ CI test cancelled due to overrun.

Report path: link

Full logs path: link

@dgl-bot
Copy link
Collaborator

dgl-bot commented Jul 30, 2024

Commit ID: 97cba89b06228dbd21dba92cfd4cb2061ca6ff22

Build ID: 14

Status: ✅ CI test succeeded.

Report path: link

Full logs path: link

@thvasilo
Copy link
Contributor Author

Hi @Rhett-Ying CI passes now, let me know if there's any work left here.

@Rhett-Ying Rhett-Ying merged commit ceb6672 into dmlc:master Jul 30, 2024
2 checks passed
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.

None yet

3 participants