dgl
dgl copied to clipboard
[Misc] Make code compilable with GCC 13
Description
Updating METIS to the latest master branch. GKlib was taken out of METIS so adding it manually as a submodule. Adding missing include. The code compiles with GCC 13 (shipped with Ubuntu 24.04) with this PR.
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
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
Commit ID: 04ac3729ad54dc00a326ceea0e9218cea11faaf3
Build ID: 1
Status: ❌ CI test failed in Stage [CPU Build (Win64)].
Report path: link
Full logs path: link
Commit ID: 04ac3729ad54dc00a326ceea0e9218cea11faaf3
Build ID: 2
Status: ✅ CI test succeeded.
Report path: link
Full logs path: link
@mfbalin why do we need to be compatible with gcc 13? and gklib is the only blocker to be compatible with gcc 13?
@mfbalin why do we need to be compatible with gcc 13? and gklib is the only blocker to be compatible with gcc 13?
Old METIS code had a compile error with GCC 13. GKLib shipped inside METIS before but now it is not so we add it as a submodule. Updating the software version should improve the experience.
We don't have to be compatible but GCC 13 ships with Ubuntu 24.04.
It is better to be compatible with this little effort and support latest OS default compiler.
@classicsong Please help review change on GKlib
as it's quite long ago(6 years gap between the one we're using and the latest on master branch) since last change, so I'm not sure if it's safe to change it to latest.
@mfbalin As there's large time gap between the current one we're using and the new one you'd apply, it's risky and requires more reviews from other team member even the author. Let's hold on for now.
Commit ID: 0c85c11659e5f3bb2d488dd179dac17fa4251c7c
Build ID: 3
Status: ✅ CI test succeeded.
Report path: link
Full logs path: link
Let's aim GS 0.3 release around July 2024, before the release there will be comprehensive test.
Commit ID: a15c452ff619393f94c8dc3cd2410e40a629fdfd
Build ID: 4
Status: ✅ CI test succeeded.
Report path: link
Full logs path: link
@frozenbugs I think GS 0.3 release is out.
@frozenbugs do we or GS run comprehensive test over this PR? As I just disabled the whole distributed tests, please run them manually.
@frozenbugs do we or GS run comprehensive test over this PR? As I just disabled the whole distributed tests, please run them manually.
GS will do it.
As we discussed offline, let's merge it into master and ask GS to help test it thoroughly. @mfbalin As I've just disabled all distributed test in CI, please run them manually before merge it into master branch. Thanks.
Commit ID: cf38d4beb9be2bcd3105e5413398877669e44722
Build ID: 5
Status: ✅ CI test succeeded.
Report path: link
Full logs path: link
I checked the CI and it runs distributed tests. Let's merge it.