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

Use dlopen to load NCCL. #9796

Merged
merged 42 commits into from
Nov 22, 2023
Merged

Use dlopen to load NCCL. #9796

merged 42 commits into from
Nov 22, 2023

Conversation

trivialfis
Copy link
Member

@trivialfis trivialfis commented Nov 20, 2023

This PR adds optional support for loading nccl with dlopen as an alternative of compile time linking. This is to address the size bloat issue with the PyPI binary release.

  • Add CMake option to load nccl at runtime.
  • Add an NCCL stub.

After this, nccl will be fetched from PyPI when using pip to install XGBoost, either by user or by pyproject.toml. Others who want to link the nccl at compile time can continue to do so without any change.

At the moment, this is Linux only since we only support MNMG on Linux.

@trivialfis trivialfis changed the title [WIP] Use dlopen to load NCCL. Use dlopen to load NCCL. Nov 20, 2023
@trivialfis
Copy link
Member Author

trivialfis commented Nov 21, 2023

cc @rongou @hcho3 @RAMitchell @jakirkham This is ready for review now. Please take a look when you are available. ;-)

@trivialfis
Copy link
Member Author

cc @WeichenXu123 .

@trivialfis
Copy link
Member Author

I can work on conda-forge/xgboost-feedstock#150 (comment) after this PR.

doc/tutorials/dask.rst Outdated Show resolved Hide resolved
@trivialfis trivialfis merged commit 0715ab3 into dmlc:master Nov 22, 2023
26 checks passed
@trivialfis trivialfis deleted the nccl-dlopen branch November 22, 2023 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants